Confirmation


Now the transaction object is in one of the shards. Each shard will produce a Micro Block. Micro Blocks are aggregated by the DS Committee into a Transaction Block, after the DS Committee agrees on the Transaction Block through the pBFT consensus mechanism.

After the DS Committee reaches consensus on the Transaction Block, it multicasts the result to all shard nodes and lookup nodes. At this stage, the seed node will have a result for our transaction object. The result can be retrieved using the same GetTransaction JSON RPC API.

info

The example below uses the zilliqa-js SDK to retrieve the transaction response. The structure may be slightly different from the JSON RPC GetTransaction results.

Example of getting transaction:

const txn = await zilliqa.blockchain.getTransaction("1899b381d644a4892ca5ba5d8d60bbcc7bd121d511d55e438a8ddbdcc53272c4");
console.log(JSON.stringify(txn));

Example of a contract call transaction response:

{
"gasPrice" : "3b9aca00",
"signature" : "0xA518EF3544C2089FB9191941D716AAD9992225851BC780CDCAD821C508284C6CFEEB9E57666B3527923910BC9C20D0192A748FDAFC4037085AF4FF9F378FAF11",
"nonce" : 145,
"pubKey" : "025498B9D4F573AFA2BA817D0284A634316D6590F31763DF7310E3B430C97B9D14",
"code" : "",
"status" : 2,
"amount" : "0",
"blockConfirmation" : 0,
"toAddr" : "0x3A6Fa878230EE35a30FbECE5173A9b725Ac6AC08",
"eventEmitter" : {
"emitter" : {},
"handlers" : {},
"promise" : {}
},
"gasLimit" : {
"unsigned" : false,
"low" : 30000,
"high" : 0
},
"toDS" : false,
"provider" : {
"resMiddleware" : {},
"reqMiddleware" : {},
"nodeURL" : "https://dev-api.zilliqa.com",
"middleware" : {
"response" : {},
"request" : {}
}
},
"data" : "",
"version" : 21823489,
"receipt" : {
"errors" : {},
"event_logs" : [
{
"_eventname" : "Burn",
"params" : [
{
"value" : "0x38be3a7b971ee76aed36e75c863f93516962f9fd",
"vname" : "pool",
"type" : "ByStr20"
},
{
"vname" : "address",
"type" : "ByStr20",
"value" : "0x4776f50024464df5aa4588e4827dcf031c2b95f1"
},
{
"vname" : "amount",
"value" : "50000000000000",
"type" : "Uint128"
}
],
"address" : "0x3a6fa878230ee35a30fbece5173a9b725ac6ac08"
},
{
"address" : "0x38be3a7b971ee76aed36e75c863f93516962f9fd",
"params" : [
{
"vname" : "sender",
"value" : "0x3a6fa878230ee35a30fbece5173a9b725ac6ac08",
"type" : "ByStr20"
},
{
"type" : "ByStr20",
"vname" : "recipient",
"value" : "0x4776f50024464df5aa4588e4827dcf031c2b95f1"
},
{
"value" : "42809837938793",
"vname" : "amount",
"type" : "Uint128"
}
],
"_eventname" : "TransferSuccess"
}
],
"transitions" : [
{
"addr" : "0x3a6fa878230ee35a30fbece5173a9b725ac6ac08",
"depth" : 0,
"msg" : {
"params" : [],
"_tag" : "",
"_amount" : "59431276462803",
"_recipient" : "0x4776f50024464df5aa4588e4827dcf031c2b95f1"
}
},
{
"accepted" : false,
"msg" : {
"params" : [
{
"value" : "0x4776f50024464df5aa4588e4827dcf031c2b95f1",
"vname" : "to",
"type" : "ByStr20"
},
{
"vname" : "amount",
"type" : "Uint128",
"value" : "42809837938793"
}
],
"_tag" : "Transfer",
"_amount" : "0",
"_recipient" : "0x38be3a7b971ee76aed36e75c863f93516962f9fd"
},
"addr" : "0x3a6fa878230ee35a30fbece5173a9b725ac6ac08",
"depth" : 0
},
{
"addr" : "0x38be3a7b971ee76aed36e75c863f93516962f9fd",
"depth" : 1,
"msg" : {
"params" : [
{
"vname" : "sender",
"value" : "0x3a6fa878230ee35a30fbece5173a9b725ac6ac08",
"type" : "ByStr20"
},
{
"vname" : "recipient",
"value" : "0x4776f50024464df5aa4588e4827dcf031c2b95f1",
"type" : "ByStr20"
},
{
"type" : "Uint128",
"vname" : "amount",
"value" : "42809837938793"
}
],
"_tag" : "RecipientAcceptTransfer",
"_amount" : "0",
"_recipient" : "0x4776f50024464df5aa4588e4827dcf031c2b95f1"
}
},
{
"msg" : {
"_recipient" : "0x3a6fa878230ee35a30fbece5173a9b725ac6ac08",
"_amount" : "0",
"_tag" : "TransferSuccessCallBack",
"params" : [
{
"type" : "ByStr20",
"vname" : "sender",
"value" : "0x3a6fa878230ee35a30fbece5173a9b725ac6ac08"
},
{
"vname" : "recipient",
"type" : "ByStr20",
"value" : "0x4776f50024464df5aa4588e4827dcf031c2b95f1"
},
{
"value" : "42809837938793",
"vname" : "amount",
"type" : "Uint128"
}
]
},
"addr" : "0x38be3a7b971ee76aed36e75c863f93516962f9fd",
"depth" : 1,
"accepted" : false
}
],
"epoch_num" : "1474024",
"accepted" : false,
"success" : true, // indicates a transaction is confirmed
"cumulative_gas" : 5826
}
}

A transaction is confirmed if, under the receipt section, "success": true is shown.