ls -al

仮想通貨やプログラミングに関する事などをつらつらと書き綴ります

NEMAPIをGo言語で叩く(1)

現在Go言語を勉強中です。
一通り機能を学べたので、練習としてNEMのAPIを叩く簡単なコードを作成しました。

ソースコード

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    resp, err := http.Get("http://alice2.nem.ninja:7890/heartbeat")

    if err != nil {
        fmt.Println(err)
        return
    }

    defer resp.Body.Close()

    execute(resp)
}

func execute(response *http.Response) {
    body, err := ioutil.ReadAll(response.Body)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(string(body))
}

実行結果

{"code":1,"type":2,"message":"ok"}

解説

ソースコードは殆ど参考元そのままです。
http.Get()で指定URLのレスポンスを取得し、execute()でbody要素を読み出し
文字列として出力しています。deferを利用し、最後にきちんとcloseします。
今回のコードではスーパーノードのハートビートを確認しました。
実行時点では正しく動作していることがわかります。

参考

https://qiita.com/Rompei/items/cb6a1a77795264e64abc