LoginSignup
11
7

More than 5 years have passed since last update.

Python3でNEMのAPIを叩く-001-概要

Last updated at Posted at 2018-03-10

はじめに

NEMのAPIを勉強するために、Python3を使ってコードを書くことにしました。
(Pythonも初めて触るので、Pythonも勉強していきます)

APIの和訳が以下のサイトにあるため、こちらを読みなが勉強していきます。
New Economy Movement(NEM) APIマニュアル和訳
https://www.pr1sm.com/crypto-coin/nem-nis-api-documentation-in-japanese/

扱いやすいと噂のNEM APIですが、コードを見たことがない人はピンとこないと思います。私が学習した内容をメモする目的もありますが、サンプルコードを掲載していきますので、どれぐらい簡単なのか知ってもらえれば幸いです。
また、私が間違った理解もあると思いますので、見た誰かが指摘してくれたらいいなぁっていう邪な気持ちもあったりします(笑)

ちなみに、実行環境はPAIZAを使う予定です。
https://paiza.io/ja

NEMって何?って方へ

トレストさん(twitterアカウント:@TrendStream)のサイトが非常にわかりやすいです。
https://www.cryptostream.jp/nem_xem/

以下、概要を引用します。

NEMはもともとNew Economy Movement(新しい経済運動)の略称でした。現在はその略称ではなくNEMという固有名詞であるとされています。金銭的な自由、分散化、平等、および連帯感の原則に基づき、新しい経済圏の創出を目標としてはじまった仮想通貨(暗号通貨)のプロジェクトです。

2014年1月19日、bitcointalk.orgのフォーラムにてutopianfutureというハンドルネームの人物により企画が持ち上がり、2015年3月31日に公開されました。

ちなみに最初のタイムスタンプは2015年3月29日なのでその日が"誕生日"です。
(引用元)https://www.cryptostream.jp/nem_xem/

NEM APIを叩く方法

APIを叩くには、NIS(NEMインフラストラクチャーサーバー)へアクセスします。
NISはHTTP GETとPOSTの両方のリクエストを受け付けています。
HTTP GETリクエストはブラウザから実行され次の形式になります。
http://<サーバー名 or IPアドレス>:7890< APIパス >?< APIのパラメータ >

なんだか難しいので、てっとり早く試すために、以下のURLを開いてください。
http://23.228.67.85:7890/heartbeat

URLの部分 解説
23.228.67.85 NISのIPアドレスです。単にノードって呼ばれたりもします。
7890 NISへはアクセスへは7890ポートを使います
heartbeat NISに「生きているか?」と問い合わせるAPIです

NISが生きていれば以下の結果が帰ってきます。

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

※返ってこなかったら別のノードを試してみよう

JSON形式のデータなんですが、最初はなんのことやらよくわからないと思います。
JSON??返ってきた値はなんだ??とかとか。
私も勉強して次回から解説しようと思います。

ノードが分からない人は、NanoWalletで選択できるノードリストのどれかを指定すれば良いでしょう。
以下の画像はテストネットのノード選択画面です。
スクリーンショット 2018-03-10 15.59.45.png

これをPython3を使った場合、どういうソースコードになるか以下に掲載します。

Python3

import requests
import json

r = requests.get('http://<サーバー名 or IPアドレス>:7890/heartbeat').json()

print(r)

HTTP GETリクエストを使って、APIを叩いています。
URLを開いた場合と同じ結果になると思います。

NEM APIを叩く流れのまとめ

1.NISへHTTP GET/POSTクエストを使ってNEM APIを叩く
2.NISからJSON形式のデータが返ってくる
3.JSON形式のデータをプログラム内で活用する
この3ステップで可能でした。
次回からはJSON形式のデータの取り出し方も交えてNEM APIを解説してきます。

次回

Python3でNEMのAPIを叩く-002-NISが稼動しているかどうかを判断する

11
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
7