TOP
52.02score

tadajam

【NEM/XEM】NEMのAPIを試してみた(xemの送信)

前回に続き、以下URLのNEM NIS API Documentationや、GitHubのlightwalletのソースを確認しながら、NEMのAPIを試してみます。
http://bob.nem.ninja/docs/

NemProject/nem-lightwallet

nem-lightwallet - NEM JS lightwallet
GitHub

今回はxemの送信です。Mosaic触らないのでv1 transfer transactionです。
ローカルにノードが動いているのであれば、/transaction/prepare-announceで、秘密鍵ごとぶん投げれば良さそうです。
リモートノードを使うのであれば、自分でトランザクション作成して署名した上で、/transaction/announceで流します。

データ作成がちょっと面倒です。

1.dataの作成
以下をbyte配列に格納します。(ビックエンディアン)

type 257=0x0101(transfer transaction)
version 1744830465= 0x68000001(メインネット0x68とトランザクションバージョン0x01を結合)
timeStamp nemesis blockが作成された時(2015-03-29 00:06:25)からの経過秒数
signerの長さ 常に32
signer 送信側の公開鍵
fee 手数料(単位はμXEM)
deadline ブロックに取り込まれるまでの制限時間
recipientの長さ 常に40
recipient 受信者のアドレス(UTF8 エンコーディング)
amount 送信額(単位はμXEM)
messageの長さ メッセージ無しならゼロでこの後ろは不要

2.作成したdataに署名
何やってるかは全然分かりませんw

3./transaction/announceでPOSTする
以下の形式のオブジェクトをPOSTします。SUCCESSが返れば成功です。
{
  "data": 1を16進数に変換したもの,
  "signature": 2の署名
}

流れとしては、まずはトランザクションタイプが有効か判定しているようです。
無効な場合「Unknown transaction type」のエラーが出ます。

署名が間違っている場合は、「FAILURE_SIGNATURE_NOT_VERIFIABLE」が出ます。

残高不足は「FAILURE_INSUFFICIENT_BALANCE」です。

4.結果
http://85.25.36.97:7890/account/transfers/outgoing?address=NCNFK2ULFDYWIDSS4VKGK2PQHUJWP5V7M2RLKWDN

ここに画像が表示されない場合はすでに削除されているか直接のリンクを拒否されている可能性があります

ここまでたどり着くのに結構大変だったので、NCCの入金音が聞こえたときは、感動しました。

#ビットコイン #暗号通貨 #ブロックチェーン #NEM

.

最終更新日:2016-08-01 02:39

コメント (0)