为什么交易并不总是记录到区块中? - 区块链PBFT
Why is transactions not always record to the block? - Blockchain PBFT
我正在使用 ibm 的区块链服务,但我不太明白的是,有时我的调用或查询不会导致添加交易负载?
假设我的区块高度为 30。我现在对智能合约进行以下调用:
{
"method":"invoke",
"id":1,
"jsonrpc":"2.0",
"params":{
"chaincodeID":{
"name":"someIDHere"
},
"ctorMsg":{
"args":[ "someArgsHere"
],
"function":"create_user"
},
"secureContext":"admin",
"type":1
}
}
区块高度增加到 31,我的审计员角色想要检查这个新区块...
我使用 API 端点调用 get /chain/blocks/30(因为新块的 size()-1)。我认为这会导致交易负载?但有时我只收到以下[=12=]
有时invoke/query没有存储在payload中?
{ "stateHash":"FmmIccWFaevjks2l9OagabDookEuaw3c3FKLGBVz2vZhDLetSR+B9ufK2/EAAQXWu8nj1RFIuSzcA+P+HxUM8w==",
"previousBlockHash":"nyugEcVpmcMCWdJzrMHhpBnTHr0Vr7D2TVysVOOhfcGfU+mbj/YaiHtm9OJ/WC4RrwkSwUoNGNAbJdSGHQT8Og==",
"consensusMetadata":"CIoC",
"nonHashData":{
"localLedgerCommitTimestamp":{
"seconds":1482353608,
"nanos":800785285
},
"chaincodeEvents":[
{
}
]
}
}
有人可以帮我解释一下吗?是否存在我不能期望添加新有效载荷的特殊情况?除了创世块(或其他部署)?
查询不会导致创建新块。仅调用和部署添加块到网络
我正在使用 ibm 的区块链服务,但我不太明白的是,有时我的调用或查询不会导致添加交易负载?
假设我的区块高度为 30。我现在对智能合约进行以下调用:
{
"method":"invoke",
"id":1,
"jsonrpc":"2.0",
"params":{
"chaincodeID":{
"name":"someIDHere"
},
"ctorMsg":{
"args":[ "someArgsHere"
],
"function":"create_user"
},
"secureContext":"admin",
"type":1
}
}
区块高度增加到 31,我的审计员角色想要检查这个新区块...
我使用 API 端点调用 get /chain/blocks/30(因为新块的 size()-1)。我认为这会导致交易负载?但有时我只收到以下[=12=]
有时invoke/query没有存储在payload中?
{ "stateHash":"FmmIccWFaevjks2l9OagabDookEuaw3c3FKLGBVz2vZhDLetSR+B9ufK2/EAAQXWu8nj1RFIuSzcA+P+HxUM8w==",
"previousBlockHash":"nyugEcVpmcMCWdJzrMHhpBnTHr0Vr7D2TVysVOOhfcGfU+mbj/YaiHtm9OJ/WC4RrwkSwUoNGNAbJdSGHQT8Og==",
"consensusMetadata":"CIoC",
"nonHashData":{
"localLedgerCommitTimestamp":{
"seconds":1482353608,
"nanos":800785285
},
"chaincodeEvents":[
{
}
]
}
}
有人可以帮我解释一下吗?是否存在我不能期望添加新有效载荷的特殊情况?除了创世块(或其他部署)?
查询不会导致创建新块。仅调用和部署添加块到网络