XIACA NI SEPPO

By xiaca.

【NEM】トランザクションのJSONレスポンスの形あれこれ


NEMのトランザクション情報のJSONレスポンスがトランザクションの内容によって可変なことに気づかずハマっちゃいましたって話です。

トランザクションとは?

NEMのブロックチェーン上のやり取りを記録したもの?です。
そもそもの発端は「NEMを投げると和尚が感謝するサイト(oshou.love)」の開発のなかでわかったことです。元々、NEM送金のやり取りしか想定してなかったんですが、このアカウントで「oshou.thank:you」モザイクを作成したら、そのトランザクション情報も一緒に記録されることでわかりました。

当たり前といえば当たり前ですね。

公式ドキュメントは?

こちらにあります。最初に読んどけよ、俺。

でも、Typeの一覧が欲しい・・・。今度作るか。


トランザクションはどんな形で返ってくる?

とりあえずスクショをとったので貼っておきます。()内はTypeです。

・通常送金(257)


・Namespace購入(8193) 

※スクショではParent: nullですが、これはルートの「oshou」Namespaceの購入時。この後、「oshou.thank」を取得した時はParentにoshouが入りました。

・Mosaic購入(16385

 ※「oshou.thank:you」モザイクの購入時。総発行数などのかなり細かい情報もちゃんと記録されています。

この他にも、モザイクの発行量変更とかの情報も別のTypeとして記録されるみたい。詳しくは、ドキュメントを見ておこう。あと、トランザクションを監視するプログラムを書く場合は、ちゃんとトランザクションで処理を分けなきゃいけないね。


まとめ:まだまだブロックチェーンに対して知識が浅かった・・・

そもそも、ブロックチェーンで変更をもたらす内容は全部トランザクションとして記録されるものなんでしょう。それを考慮せず、送金関係のトランザクションしか考慮していなかったのはまだまだ、ブロックチェーンに対する知識が浅かったのだと思います。

とりあえずここで得た知見を元に、サーバー側でのトランザクション監視のプログラムを書いていこうかな。また、できたらブログに書きます。