まずは基本のブロックから。
金額の移動という観点からすると、ここにある金額及びその行き先アドレスの情報は
Inflationや、Harvester, beneficiary及びNetworkSinkの分配とかの情報が入っていないため、Statementを見た方が良さそう。ただし、各トランザクションで消費されたFeeの値は、TransactionにはMaxFeeしかないため、feeMultiplierとの計算が必要だと思う。
#サンプルデータ
{
"recordId": "5FC286F4A094C43139213EB0",
"size": 560,
"hash": "339E8AB1E1A5D19F394AF1918B051CA32567D824DF463BAA928DDC5959AEE297",
"generationHash": "F64F8122A01143C26F3BE66640C8C241CB0F2D16EA9742DCA3D4CA742582BEAE",
"totalFee": "18400",
"stateHashSubCacheMerkleRoots": [
"A6CB447B661106D157290795A4B7E12B3878B6A1CFF203772331BF4DC4A9DDB0",
"F96D2BE50D19C11A030381474291FC5BBCB519F63CBB53473CB718FBB029C930",
"D8DEE43F8ADF918A81B34A1710CF050495FB8050101AB57098290699153A0B70",
"DCD99A3343F22978F3848A50E2D37C5DC79364F2D79BEE189DD1B33E69C4EEF4",
"0000000000000000000000000000000000000000000000000000000000000000",
"0000000000000000000000000000000000000000000000000000000000000000",
"A11B40F36D500644E8BEA6BD231BA47A413671BB8AAD9C89532523297E59D001",
"0000000000000000000000000000000000000000000000000000000000000000",
"0000000000000000000000000000000000000000000000000000000000000000"
],
"totalTransactionsCount": 1,
"signature": "E1D9DB9CF67FB7D5D8E436B60179DEDF02631FFC7601C999FEC0F80592A4E89FC1BA648B02745CB5F43BB7DD0E74B50578DF222FE71C059D3234ECF29624D503",
"signer": {
"publicKey": "AE7E523C102538937A395C430FA138E863B8D628AB46A9911699AAECDC30AAB8",
"address": {
"address": "TB6FNMCYKCLISXEPWL3FO7RS7UWS33BLH73BG5Y",
"networkType": 152
}
},
"networkType": 152,
"version": 1,
"type": 33091,
"height": "374",
"timestamp": "27636019546",
"difficulty": "15750736212871",
"feeMultiplier": 100,
"previousBlockHash": "B3DF2CD53F59D8E04892268F2A7D2CC6E4009DCB829FD6603DD7C059B65F69C9",
"blockTransactionsHash": "AB4552BC93E3C58C228CED27D334B2CB88E4C1221F24FC371C340FE764C43A2D",
"blockReceiptsHash": "CA2A0F6B0707B0156BC3F04B97CC564F85F8B25D94924294F5FAACDBF634404F",
"stateHash": "60BBE22F6F36AECB55BBA88DCEEADFD952FA0FD4573D445BB536C99CD48245F0",
"proofGamma": "F17AB922D3C677C32A7BFC9FFD087BCC5ED824ECEFCF1A1F9165C494563CA74D",
"proofScalar": "6363351A2AF66A57121E630BDB45088C61C9F12AF53D42AC93E5D2127672CC00",
"proofVerificationHash": "9FFC498860AE01039F13EEEF98213E74",
"beneficiaryAddress": {
"address": "TB6FNMCYKCLISXEPWL3FO7RS7UWS33BLH73BG5Y",
"networkType": 152
},
"transactionsCount": 1,
"statementsCount": 1
}
#項目の説明
| field | description |
|:-:|:-:|:-:|
| recordId | |
| totalFee | このブロックに格納されているTranaction Feeの合計 |
| totalTransactionsCount | このブロックに格納されているTranadtion数|
| signer.address | ハーベスタのアドレス。リモートアカウントを使っているときは、そのアドレスになる? |
| networkType | |
| version | |
| type | |
| height | ブロック高。Nem系は1始まりなので注意。 |
| timestamp | お馴染みのネメシスブロックからのミリ秒です。ネム星人以外に通じるようにするには、変換してください。 |
| feeMultiplier | 手数料乗数
トランザクションの手数料は、トランザクションサイズとブロックのハーベスターにより決定される。
https://docs.symbolplatform.com/ja/concepts/fees.html#transaction-fee
transactionにはmaxFeeしか載っていないので、実際のfeeは自分で計算する必要あり。|
| beneficiaryAddress | 受益者アドレス。Node側で設定する。報酬の一部をもらえるのでショバ代みたいなもの? |
| transactionsCount | totalTransactionsCountの違いは、集約系のトランザクションを1と数えるのがこっちで、内訳もカウントするのがtotalTransactionsCount? |
| statementsCount | このブロックに紐づくstatement/recipientの数。トランザクションがなくても、内部的にはハーベスティング報酬が支払われるので、その分もカウントされます。 |
#statement
{
"height": "374",
"source": {
"primaryId": 0,
"secondaryId": 0
},
"receipts": [
{
"version": 1,
"type": 8515,
"targetAddress": "987C56B0585096895C8FB2F6577E32FD2D2DEC2B3FF61377",
"mosaicId": "5B66E76BECAD0860",
"amount": "87305628"
},
{
"version": 1,
"type": 8515,
"targetAddress": "98CD8E0C7AA7310818912B070C1DF89799F59D05F5E824F2",
"mosaicId": "5B66E76BECAD0860",
"amount": "4595033"
},
{
"version": 1,
"type": 20803,
"mosaicId": "5B66E76BECAD0860",
"amount": "91882261"
}
]
}
| field | description |
|:-:|:-:|:-:|
| type | Receiptの種類。16進数に変換した方が分かりやすい。
8515はHarvest_Fee、20803はInflation
詳しくはReceipt参照 |
| targetAddress | このRecipientの対象アドレス。このフィールドはtypeによってあったりなかったりする。
| mosaicId | targetAddressに対するmosaicの種類 |
| amount | targetAddressに対する金額 |