今回はNEMを利用したアプリケーションを開発するために最低限知っておくべきことを説明します。マルチシグやモザイクなどNEMならではの特徴については、また日を改めて説明します。あと、P2P、暗号化、デジタル署名、コンセンサスアルゴリズムなどブロックチェーンの根幹を成す技術についても別の機会に。
###アカウント
- アドレス(Address)
- 公開鍵(Public Key)
- 秘密鍵(Private Key)
一つのアカウントには必ずこの3セットの情報があります。
送金するためには、送信先のアドレスと送信元の公開鍵・秘密鍵の情報が必要になります。
###アカウント情報
- 残高(balance)
- 重要度(importance)
- 既得残高(vested balance)
残高のことを英語でbalanceと言います。NEMではXEMという単位の通貨を用います。その他、NEMの面白いパラメータとしてimportanceというものがあります。いわゆるそのアカウントの戦闘力です。この値が高いほど、経済力があり、金離れがいい人です。このimportance値は残高から直接計算されるのではなく、既得残高という、XEMを一つのアカウント内でしばらく漬け込むことで蓄積される数値も参考にして計算されます。
###トランザクション情報
- 送信者(From)
- 受信者(To)
- 送金額(Amount)
- 手数料(Fee)
- メッセージ(Message)
- ハッシュ(Hash)
NEM上で送金を行うためには、トランザクションと呼ばれる処理単位でサーバ(ノード)に問い合わせる必要があります。処理に使用されるデータ項目は大まかに上記の通りです。それぞれの処理にはハッシュ値が付与され、これを記録しておけばいつでもこの処理を瞬時に参照することができます。送金だけではなく、様々なトランザクションが存在しますが、とりあえず今回はこれだけ。
###ネットワーク環境
- Maine
- Testnet
- Mijin
Mainnet がいわゆる本番環境であり実際にXEMという通貨がやり取りされています。Testnetがテスト環境です。これらはグローバルに公開された同一ノード上に展開されているのに対し、Mijinはプライベート上のネットワーク上に展開されています。現在、Mijinではトランザクションの処理時間をMainnetよりも短く設定するなどしてIoTなどでも問題なく使えるような実験が実施されているようです。
今回は以上です。
ブロックチェーン技術なのに、ブロックという概念を極力使わずに説明してみました。物足りないと思われた方はすでに暗号通貨についてそれなりの知識がある方かと思います。アプリケーションを開発していく中で思ったように動かない、といった場合にブロックの概念を正しく理解できていない場合が出てくるかもしれません。まあ、固いこと言わずに、まずは暗号通貨に触れてみましょう。
というわけで、次はいよいよアカウントの作成です。
とっても簡単ですよ!NEMならね!
アカウントの生成方法を説明する予定でしたが、セキュリティ上APIを利用したアカウント生成が出来なくなったようです。
現在nanowallet を利用したアカウント生成が最も簡単ですので、後日その方法をお伝えします。
以下のNEMアドレスは、全てNEM上でエンジニアが活動できるための資金に使用します。
これから私が書く記事に共感していただけましたら、ご寄附いただけると助かります。
NEM ADDRESS: NBZNQL-2JDWTG-UAW237-PXV4SS-XSPORY-43GUSW-GSB7