Counterpartyd create_dividend APIを使って配当する(XCPで支払う)
はじめに
以前、create_dividend APIを利用して配当を行いました。その時はアセット"XSTAR"を 配当しましたが、今回はより流動性の高い"XCP"を配当アセットとした時にどうなるかを見ていきます。
目次
- 使用するアドレスと残高
- create_dividend API実行
- 結果確認
使用するアドレスと残高
配当を実行するアドレス *XSTARのオーナー
(ビットコインアドレス)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"}}}' {"result": [{"asset": "XCP", "quantity": 120860000, "address": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}, {"asset": "XSTAR", "quantity": 70, "address": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}, {"asset": "XZCOIN", "quantity": 99495, "address": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}], "id": 0, "jsonrpc": "2.0"}
配当を受け取るアドレス(1)
(ビットコインアドレス)1KMdf7VWLEBdCo9iwmtpW7kJaSzSAUz2zJ
(保有しているアセット)
$ 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": "1KMdf7VWLEBdCo9iwmtpW7kJaSzSAUz2zJ"}}}' {"result": [{"asset": "XSTAR", "quantity": 10, "address": "1KMdf7VWLEBdCo9iwmtpW7kJaSzSAUz2zJ"}, {"asset": "XZCOIN", "quantity": 101, "address": "1KMdf7VWLEBdCo9iwmtpW7kJaSzSAUz2zJ"}], "id": 0, "jsonrpc": "2.0"}
配当を受け取るアドレス(2)
(ビットコインインスタンス)counterwallet.io
(ビットコインアドレス)17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2
(保有しているアセット)
$ 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": "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2"}}}' {"result": [{"asset": "XCP", "quantity": 88480000, "address": "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2"}, {"asset": "XSMILE", "quantity": 10000000000, "address": "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2"}, {"asset": "XSTAR", "quantity": 20, "address": "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2"}, {"asset": "XZCOIN", "quantity": 202, "address": "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2"}], "id": 0, "jsonrpc": "2.0"}
アセット保有者のリスト
*実行した時の状態です。
status: "success", message: "XSTAR asset holders", totalcount: "3", data: [ { address: "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy", balance: "0.0000007", percentage: "70.0000000000" }, { address: "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2", balance: "0.0000002", percentage: "20.0000000000" }, { address: "1KMdf7VWLEBdCo9iwmtpW7kJaSzSAUz2zJ", balance: "0.0000001", percentage: "10.0000000000" } ] }
create_dividend 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_dividend", "params":{"source":"1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy", "asset":"XSTAR", "dividend_asset":"XCP", "quantity_per_unit":10000000}}' ...unsign_transactionが表示されますので、create_order時と同様にsign、broadcastしてください。途中は省略してブロードキャスト時のレスポンスです。 {"result": "cdc528bc152df101c653e5a68e3b1aa8e4e63667a3b04b24fa5bf585c781e679", "id": 0, "jsonrpc": "2.0"}
結果確認
トランザクション確認
配当を実行するアドレス *XZCOINのオーナー
(ビットコインアドレス)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"}}}' {"result": [{"asset": "XCP", "quantity": 120819997, "address": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}, {"asset": "XSTAR", "quantity": 70, "address": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}, {"asset": "XZCOIN", "quantity": 99495, "address": "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy"}], "id": 0, "jsonrpc": "2.0"}
配当を受け取るアドレス(1)
(ビットコインアドレス)1KMdf7VWLEBdCo9iwmtpW7kJaSzSAUz2zJ
(保有しているアセット)
$ 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": "1KMdf7VWLEBdCo9iwmtpW7kJaSzSAUz2zJ"}}}' {"result": [{"asset": "XCP", "quantity": 1, "address": "1KMdf7VWLEBdCo9iwmtpW7kJaSzSAUz2zJ"}, {"asset": "XSTAR", "quantity": 10, "address": "1KMdf7VWLEBdCo9iwmtpW7kJaSzSAUz2zJ"}, {"asset": "XZCOIN", "quantity": 101, "address": "1KMdf7VWLEBdCo9iwmtpW7kJaSzSAUz2zJ"}], "id": 0, "jsonrpc": "2.0"}
配当を受け取るアドレス(2)
(ビットコインインスタンス)counterwallet.io
(ビットコインアドレス)17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2
(保有しているアセット)
$ 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": "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2"}}}' {"result": [{"asset": "XCP", "quantity": 88480002, "address": "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2"}, {"asset": "XSMILE", "quantity": 10000000000, "address": "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2"}, {"asset": "XSTAR", "quantity": 20, "address": "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2"}, {"asset": "XZCOIN", "quantity": 202, "address": "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2"}], "id": 0, "jsonrpc": "2.0"}
アセット保有者のリスト
*実行した時の状態です。
status: "success", message: "XSTAR asset holders", totalcount: "3", data: [ { address: "1A31xhRp9FyQZXG57hXczaVLkH5Dm3m9jy", balance: "0.0000007", percentage: "70.0000000000" }, { address: "17sdLuNtD7ZpFCVZ3Doz58fwxFF6i6CKk2", balance: "0.0000002", percentage: "20.0000000000" }, { address: "1KMdf7VWLEBdCo9iwmtpW7kJaSzSAUz2zJ", balance: "0.0000001", percentage: "10.0000000000" } ] }
配当が正しくできていることが確認できます。
120860000 -> 120819997 (0.00040030XCP減)
0 -> 1 (0.00000010XCP増)
88480000 -> 88480002 (0.00000020XCP増)
まとめ
今回はアセットXSTARを保持している人に対して、より流動性の高いXCPを配当する手順について書きました。
配当を実行したアセットオーナーのXCPが0.00040030XCP減っている件については調査中です。手数料でしょうか..
参考
create_dividend: Do I have to pay for fee in XCP? (0.0004XCP)