KT1アカウントの残高をサイクルごとに照会するにはどうすればよいですか?
2 回答
- 投票
-
- 2019-01-30
<block_id>
-バランスを要求するブロックのハッシュまたはレベルです.サイクルの特定のポイントで単純なバランスを取りたい場合:
(これは擬似コードです.理解していただければ幸いです)
var cycle = 60; var p1 = (cycle * 4096 + 1) + 0; //beginning of the cycle var p2 = (cycle * 4096 + 1) + 4095; //end of the cycle var balance_at_p1 = get('/chains/main/blocks/{p1}/context/contracts/KT1.../balance'); var balance_at_p2 = get('/chains/main/blocks/{p2}/context/contracts/KT1.../balance');
ただし、委任報酬を計算するためのバランスをとろうとしている場合:
最初に、ロールのカウントに使用されたスナップショットブロックを見つける必要があります.次に、このブロックを使用して、上記のようなバランスを取ります.
var cycle = 60; var cycle_lvl = cycle * 4096 + 1; var snapshot = get('/chains/main/blocks/{cycle_lvl}/context/raw/json/cycle/{cycle}'); var snapshot_block = ((cycle - 7) * 4096 + 1) + (snapshot.roll_snapshot + 1) * 256 - 1; var balance = get('/chains/main/blocks/{snapshot_block}/context/contracts/KT1.../balance');
<block_id>
- is a hash or a level of the block at which you ask for balance.If you want to get a simple balance at the specific point in the cycle:
(this is pseudocode, I hope you figure it out)
var cycle = 60; var p1 = (cycle * 4096 + 1) + 0; //beginning of the cycle var p2 = (cycle * 4096 + 1) + 4095; //end of the cycle var balance_at_p1 = get('/chains/main/blocks/{p1}/context/contracts/KT1.../balance'); var balance_at_p2 = get('/chains/main/blocks/{p2}/context/contracts/KT1.../balance');
But if you are trying to get a balance for calculating delegation rewards:
At first you should find the snapshot block that was used to count the rolls. Then use this block to get the balance like above.
var cycle = 60; var cycle_lvl = cycle * 4096 + 1; var snapshot = get('/chains/main/blocks/{cycle_lvl}/context/raw/json/cycle/{cycle}'); var snapshot_block = ((cycle - 7) * 4096 + 1) + (snapshot.roll_snapshot + 1) * 256 - 1; var balance = get('/chains/main/blocks/{snapshot_block}/context/contracts/KT1.../balance');
-
- 2019-01-30
これにはTzScanAPIを使用できます:/v3/balance_history/KT1 ...、ドキュメントはここにあります:バランス履歴ドキュメント. たとえば、 https://api6.tzscan.io/v3/balance_history/KT1GgUJwMQoFayRYNwamRAYCvHBLzgorp>
You can use TzScan API for this: /v3/balance_history/KT1..., the documentation is here: balance history doc. For example https://api6.tzscan.io/v3/balance_history/KT1GgUJwMQoFayRYNwamRAYCvHBLzgorLoGo
Tezos-clientに、サイクルごとにKT1アカウントの残高を照会できるRPCはありますか?
これで試しました(TzScanパブリックノードRPC):
しかし、
<block_id>
が何を意味するのか、またこのRPCが私の結果につながるかどうかもわかりません.