Y

Counterpartyd create_issuance APIを使ってアセットを新規作成する

f:id:yzono:20140416100337j:plain

はじめに

今回はcreate_issuance APIを利用してCounterpartyのアセット(アセット名"XSTAR")を作成する手順について書きます。

アセットの作成は、アセット名を自由に設定できるタイプ(有料)と、ランダムなアセット名になるタイプ(無料)の2種類があります。今回は前者のタイプです。

アセットの作成にはXCP(0.5XCP=200円ぐらい)が必要になります。XCPの入手方法はビットコインニュースで紹介されています。

次世代型金融プラットフォームCounterpartyを使ってみよう

目次

  • アセットのオーナーになるビットコインアドレスと残高
  • create_issuance API実行
  • 結果確認

アセットのオーナーになるビットコインアドレスと残高

(ビットコインインスタンス)自分のサーバー

(ビットコインアドレス)1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy

(保有しているアセット)

$ curl http://127.0.0.1:4000/api/ --user rpc:xcppw1234 -H 'Content-Type: application/json; charset=UTF-8' -H 'Accept: application/json, text/javascript' --data-binary '{"jsonrpc":"2.0", "id":0, "method":"get_balances", "params":{"filters": {"field": "address", "op": "==", "value": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}}}'

{"id": 0, "result": [{"asset": "XCP", "quantity": 170900000, "address": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}, {"asset": "XZCOIN", "quantity": 99495, "address": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}], "jsonrpc": "2.0"}

create_issuance API実行

$ curl http://127.0.0.1:4000/api/ --user rpc:xcppw1234 -H 'Content-Type: application/json; charset=UTF-8' -H 'Accept: application/json, text/javascript' --data-binary '{"jsonrpc":"2.0", "id":0, "method":"create_issuance", "params":{"source":"1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy", "quantity":10, "asset":"XSTAR"}}'

...signとbroadcastは省略

{"result": "d26cc2ce50753a4c696a4d78783c3ff781dff1b90f14646594aac68a2cb6bbc2", "id": 0, "jsonrpc": "2.0"}

結果確認

blockscanから確認することができます。

blckscanトランザクション

アセットの登録内容

$ curl http://127.0.0.1:4000/api/ --user rpc:xcppw1234 -H 'Content-Type: application/json; charset=UTF-8' -H 'Accept: application/json, text/javascript' --data-binary '{"jsonrpc":"2.0", "id":0, "method":"get_balances", "params":{"filters": {"field": "address", "op": "==", "value": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}}}'

{"result": [{"asset": "XCP", "quantity": 120900000, "address": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}, {"asset": "XSTAR", "quantity": 10, "address": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}, {"asset": "XZCOIN", "quantity": 99495, "address": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}], "id": 0, "jsonrpc": "2.0"}

新アセット"XSTAR"が作成されていることが確認できます。

まとめ

今回はアセットの新規作成を行いました。ただし、設定値のcallableとは何か。divisibleはどちらが良いのかなど不明点があるので調べてアップデートします。

また、create_issuance APIはアセットの新規作成だけでなく、発行量の増加、ロック、オーナーシップの変更を行うことも可能です。今後そのことについて投稿します。

参考

次世代型金融プラットフォームCounterpartyを使ってみよう

What does callable in the API document mean?