Run command:
cleos -u http://mainnet.genereos.io get block 12397949
We can see outputs:
{
"timestamp": "2018-08-22T04:59:29.000",
"producer": "eosfishrocks",
"confirmed": 0,
"previous": "00bd2d7c2b9000f69588a9300662f4801a4804df9713bf472c9adb692b2e0cda",
"transaction_mroot": "750ef4c2e454490096a413644b1ebc4cadcbd8e0012cb7351827c8e70abf121c",
"action_mroot": "835a6d57ca3aa273ec3c336515d9d88f225e5d9de3b81d9b9b24030c86a29dc3",
"schedule_version": 301,
"new_producers": null,
"header_extensions": [],
"producer_signature": "SIG_K1_KbKNx2ZSeJt3sA5SG1V3FnpU62RetoUq1WFMQZ2Bn1RXNW7CVURvMjdYk3nunpBJLjrhAZfmmmtM1iodgnsePgzvYexPS3",
"transactions": [{
"status": "executed",
"cpu_usage_us": 1363,
"net_usage_words": 0,
"trx": "3c044e94bba3dda027144cb5d18d3c4a8ffe19a564d52a3b95df98da860cb1d2"
},{
"status": "executed",
"cpu_usage_us": 597,
"net_usage_words": 0,
"trx": "65c978595f81d7763e5edafb132aab03f8256e9e33cb449b8c7ee35942076e47"
},{
"status": "executed",
"cpu_usage_us": 1435,
"net_usage_words": 17,
"trx": {
"id": "b8d6666a20360395f6d4d0448fd18820eaf056979e44643436e84f521f2bd001",
"signatures": [
"SIG_K1_KVuumczKQku8k4UVtqYM1RTMaT5uogU3SHL88ixSKrPZcg8dVGAszNxXrboisUch35c4y54X49FXStUYpG9z9tpEnQ9tgg"
],
"compression": "none",
"packed_context_free_data": "",
"context_free_data": [],
"packed_trx": "ceed7c5b2f2ca14893eb000000000100a6823403ea3055000000572d3ccdcd0180a9ba7451d7556200000000a8ed32322580a9ba7451d7556210426053d5a9b891102700000000000004454f5300000000046764657800",
"transaction": {
"expiration": "2018-08-22T04:59:58",
"ref_block_num": 11311,
"ref_block_prefix": 3952298145,
"max_net_usage_words": 0,
"max_cpu_usage_ms": 0,
"delay_sec": 0,
"context_free_actions": [],
"actions": [{
"account": "eosio.token",
"name": "transfer",
"authorization": [{
"actor": "gdexioforeos",
"permission": "active"
}
],
"data": {
"from": "gdexioforeos",
"to": "mawenpeng111",
"quantity": "1.0000 EOS",
"memo": "gdex"
},
"hex_data": "80a9ba7451d7556210426053d5a9b891102700000000000004454f53000000000467646578"
}
],
"transaction_extensions": []
}
}
},{
"status": "executed",
"cpu_usage_us": 6580,
"net_usage_words": 32,
"trx": {
"id": "c68b4890b464d6da418b6fb6b5d99ec7e27189c3c62ec9c4e68929ecb1ef6536",
"signatures": [
"SIG_K1_K8ytR9hjDeWp8rRrM51f3jiqQQpgdJNAoitvFiGP4fYHCACBEEoyvmTLNgETEdPJeFHbjmenP5yAmwis5erU56ixnfrzj7"
],
"compression": "none",
"packed_context_free_data": "",
"context_free_data": [],
"packed_trx": "eaed7c5b2f2ca14893eb00000000011082422e6575305500405647ed48b1ba0140a7c3066575305500000000489aa6b94abdfb000000000000002009d4875dcda2218f9c50fc983e0743a86d43329212ffaea7c6d173d94c35ec422a80597ce8fb7b78f1eb906e1e6e17b38a57ba8b0ee533eef7bccf101923412c00",
"transaction": {
"expiration": "2018-08-22T05:00:26",
"ref_block_num": 11311,
"ref_block_prefix": 3952298145,
"max_net_usage_words": 0,
"max_cpu_usage_ms": 0,
"delay_sec": 0,
"context_free_actions": [],
"actions": [{
"account": "eosbetdice11",
"name": "resolvebet",
"authorization": [{
"actor": "eosbetcasino",
"permission": "random"
}
],
"data": {
"bet_id": 64445,
"sig": "SIG_K1_KW2uhvjDgCA2pfiE3cKzTbV6dGraBrCttPyPhehtbDVjtCUvF36PugoEkcLFode9LHrHi41vRC9HCFjgomWWC3XqcS3nQR"
},
"hex_data": "bdfb000000000000002009d4875dcda2218f9c50fc983e0743a86d43329212ffaea7c6d173d94c35ec422a80597ce8fb7b78f1eb906e1e6e17b38a57ba8b0ee533eef7bccf101923412c"
}
],
"transaction_extensions": []
}
}
}
],
"block_extensions": [],
"id": "00bd2d7dd7863593b5c5b86a36ed251a7cb5bb73b1d8ccbff367e6902bf62ddb",
"block_num": 12397949,
"ref_block_prefix": 1790494133
}
The "trx" value formats are different. The former 2 "trx" values are plain strings, while the latter 2 are json strings.
......"trx": "3c044e94bba3dda027144cb5d18d3c4a8ffe19a564d52a3b95df98da860cb1d2"......
......"trx": "65c978595f81d7763e5edafb132aab03f8256e9e33cb449b8c7ee35942076e47"......
......"trx": {
"id": "b8d6666a20360395f6d4d0448fd18820eaf056979e44643436e84f521f2bd001",......
......"trx": {
"id": "c68b4890b464d6da418b6fb6b5d99ec7e27189c3c62ec9c4e68929ecb1ef6536",......
This looks weird and hard to process in programming.
Is this by design?
This is by design. The "trx" field in the transaction receipts in a block is a templated type that is used to store either a submitted packed transaction or a generated transaction. Generated transactions are stored in a different format.
But...why? This isn't really a good practice. The whole point of an API is to provide a standardized format responses to queries. If the result is sometimes going to be a hash, and sometimes a string, its a nightmare for everyone.
Store it internally however you like, but please provide a consistent response format in your APIs.
To expand on @jgiszczak's response: blocks don't include transactions generated in previous blocks; they just include the hash. nodeos doesn't normally have the necessary data to expand these transactions in memory; adding it would greatly expand ram usage.
I appreciate the response, could you please expand on that a little bit @tbfleming ? Does that mean that such transactions are seen elsewhere in previous blocks? I'm actually unable to look up any of these transactions by hash on various blockchain explorers
Yes. Current block explorers tend to get thrown off by:
Both of these appear in action traces. Action traces are transient; nodeos doesn't store them. The mongodb plugin does report the action traces, but I don't know of any block explorers which use it yet.
Here are the first and last of that list:
> db.action_traces.find({"trx_id":"3c044e94bba3dda027144cb5d18d3c4a8ffe19a564d52a3b95df98da860cb1d2"}).pretty()
{
"_id" : ObjectId("5b7ef5f8f9a2f323e8ce4d6d"),
"receipt" : {
"receiver" : "eosio.token",
"act_digest" : "a703fe89b2039d38d5f245f8ab51c4dcc60d9f47dbeab6d0ac921e80dc3f886a",
"global_sequence" : 291350301,
"recv_sequence" : 4232457,
"auth_sequence" : [
[
"eosbetdice11",
491871
]
],
"code_sequence" : 2,
"abi_sequence" : 2
},
"act" : {
"account" : "eosio.token",
"name" : "transfer",
"authorization" : [
{
"actor" : "eosbetdice11",
"permission" : "active"
}
],
"data" : {
"from" : "eosbetdice11",
"to" : "eosbetdicerf",
"quantity" : "0.1000 EOS",
"memo" : "Referral reward! Play: dice.eosbet.io"
},
"hex_data" : "1082422e65753055b0ae422e65753055e80300000000000004454f530000000025526566657272616c207265776172642120506c61793a20646963652e656f736265742e696f"
},
"elapsed" : 392,
"cpu_usage" : 0,
"console" : "",
"total_cpu_usage" : 0,
"trx_id" : "3c044e94bba3dda027144cb5d18d3c4a8ffe19a564d52a3b95df98da860cb1d2",
"block_num" : 12397949,
"block_time" : "2018-08-22T04:59:29.000",
"producer_block_id" : "00bd2d7dd7863593b5c5b86a36ed251a7cb5bb73b1d8ccbff367e6902bf62ddb",
"account_ram_delta" : [ ],
"trx_status" : "executed",
"createdAt" : ISODate("2018-08-23T17:59:20.408Z")
}
{
"_id" : ObjectId("5b7ef5f8f9a2f323e8ce4d6e"),
"receipt" : {
"receiver" : "eosbetdice11",
"act_digest" : "a703fe89b2039d38d5f245f8ab51c4dcc60d9f47dbeab6d0ac921e80dc3f886a",
"global_sequence" : 291350302,
"recv_sequence" : 314295,
"auth_sequence" : [
[
"eosbetdice11",
491872
]
],
"code_sequence" : 2,
"abi_sequence" : 2
},
"act" : {
"account" : "eosio.token",
"name" : "transfer",
"authorization" : [
{
"actor" : "eosbetdice11",
"permission" : "active"
}
],
"data" : {
"from" : "eosbetdice11",
"to" : "eosbetdicerf",
"quantity" : "0.1000 EOS",
"memo" : "Referral reward! Play: dice.eosbet.io"
},
"hex_data" : "1082422e65753055b0ae422e65753055e80300000000000004454f530000000025526566657272616c207265776172642120506c61793a20646963652e656f736265742e696f"
},
"elapsed" : 159,
"cpu_usage" : 0,
"console" : "",
"total_cpu_usage" : 0,
"trx_id" : "3c044e94bba3dda027144cb5d18d3c4a8ffe19a564d52a3b95df98da860cb1d2",
"block_num" : 12397949,
"block_time" : "2018-08-22T04:59:29.000",
"producer_block_id" : "00bd2d7dd7863593b5c5b86a36ed251a7cb5bb73b1d8ccbff367e6902bf62ddb",
"account_ram_delta" : [ ],
"trx_status" : "executed",
"createdAt" : ISODate("2018-08-23T17:59:20.408Z")
}
{
"_id" : ObjectId("5b7ef5f8f9a2f323e8ce4d6f"),
"receipt" : {
"receiver" : "eosbetdicerf",
"act_digest" : "a703fe89b2039d38d5f245f8ab51c4dcc60d9f47dbeab6d0ac921e80dc3f886a",
"global_sequence" : 291350303,
"recv_sequence" : 2088,
"auth_sequence" : [
[
"eosbetdice11",
491873
]
],
"code_sequence" : 2,
"abi_sequence" : 2
},
"act" : {
"account" : "eosio.token",
"name" : "transfer",
"authorization" : [
{
"actor" : "eosbetdice11",
"permission" : "active"
}
],
"data" : {
"from" : "eosbetdice11",
"to" : "eosbetdicerf",
"quantity" : "0.1000 EOS",
"memo" : "Referral reward! Play: dice.eosbet.io"
},
"hex_data" : "1082422e65753055b0ae422e65753055e80300000000000004454f530000000025526566657272616c207265776172642120506c61793a20646963652e656f736265742e696f"
},
"elapsed" : 6,
"cpu_usage" : 0,
"console" : "",
"total_cpu_usage" : 0,
"trx_id" : "3c044e94bba3dda027144cb5d18d3c4a8ffe19a564d52a3b95df98da860cb1d2",
"block_num" : 12397949,
"block_time" : "2018-08-22T04:59:29.000",
"producer_block_id" : "00bd2d7dd7863593b5c5b86a36ed251a7cb5bb73b1d8ccbff367e6902bf62ddb",
"account_ram_delta" : [ ],
"trx_status" : "executed",
"createdAt" : ISODate("2018-08-23T17:59:20.408Z")
}
>
>
>
>
>
> db.action_traces.find({"trx_id":"c68b4890b464d6da418b6fb6b5d99ec7e27189c3c62ec9c4e68929ecb1ef6536"}).pretty()
{
"_id" : ObjectId("5b7ef5f8f9a2f323e8ce4d75"),
"receipt" : {
"receiver" : "eosbetdice11",
"act_digest" : "7535c1f76eb45a3e94926ccf8a44bbc28c2ffe0a66d087259757c660dbdb6a2f",
"global_sequence" : 291350309,
"recv_sequence" : 314297,
"auth_sequence" : [
[
"eosbetcasino",
65061
]
],
"code_sequence" : 6,
"abi_sequence" : 6
},
"act" : {
"account" : "eosbetdice11",
"name" : "resolvebet",
"authorization" : [
{
"actor" : "eosbetcasino",
"permission" : "random"
}
],
"data" : {
"bet_id" : 64445,
"sig" : "SIG_K1_KW2uhvjDgCA2pfiE3cKzTbV6dGraBrCttPyPhehtbDVjtCUvF36PugoEkcLFode9LHrHi41vRC9HCFjgomWWC3XqcS3nQR"
},
"hex_data" : "bdfb000000000000002009d4875dcda2218f9c50fc983e0743a86d43329212ffaea7c6d173d94c35ec422a80597ce8fb7b78f1eb906e1e6e17b38a57ba8b0ee533eef7bccf101923412c"
},
"elapsed" : 1263,
"cpu_usage" : 0,
"console" : "",
"total_cpu_usage" : 0,
"trx_id" : "c68b4890b464d6da418b6fb6b5d99ec7e27189c3c62ec9c4e68929ecb1ef6536",
"block_num" : 12397949,
"block_time" : "2018-08-22T04:59:29.000",
"producer_block_id" : "00bd2d7dd7863593b5c5b86a36ed251a7cb5bb73b1d8ccbff367e6902bf62ddb",
"account_ram_delta" : [
[
"eosbetdice11",
697
]
],
"trx_status" : "executed",
"createdAt" : ISODate("2018-08-23T17:59:20.409Z")
}
{
"_id" : ObjectId("5b7ef5f8f9a2f323e8ce4d76"),
"receipt" : {
"receiver" : "eosio.token",
"act_digest" : "85e56f86b524c3ec87bfa45d0fd6e8ca82c9006aa050b4c34d815e4d1f05e496",
"global_sequence" : 291350310,
"recv_sequence" : 4232459,
"auth_sequence" : [
[
"eosbetdice11",
491876
]
],
"code_sequence" : 2,
"abi_sequence" : 2
},
"act" : {
"account" : "eosio.token",
"name" : "transfer",
"authorization" : [
{
"actor" : "eosbetdice11",
"permission" : "active"
}
],
"data" : {
"from" : "eosbetdice11",
"to" : "xupengfeieos",
"quantity" : "0.1036 EOS",
"memo" : "Winner! Play: dice.eosbet.io"
},
"hex_data" : "1082422e6575305580a9726ab1a9aaee0c0400000000000004454f53000000001c57696e6e65722120506c61793a20646963652e656f736265742e696f"
},
"elapsed" : 275,
"cpu_usage" : 0,
"console" : "",
"total_cpu_usage" : 0,
"trx_id" : "c68b4890b464d6da418b6fb6b5d99ec7e27189c3c62ec9c4e68929ecb1ef6536",
"block_num" : 12397949,
"block_time" : "2018-08-22T04:59:29.000",
"producer_block_id" : "00bd2d7dd7863593b5c5b86a36ed251a7cb5bb73b1d8ccbff367e6902bf62ddb",
"account_ram_delta" : [ ],
"trx_status" : "executed",
"createdAt" : ISODate("2018-08-23T17:59:20.409Z")
}
{
"_id" : ObjectId("5b7ef5f8f9a2f323e8ce4d77"),
"receipt" : {
"receiver" : "eosbetdice11",
"act_digest" : "85e56f86b524c3ec87bfa45d0fd6e8ca82c9006aa050b4c34d815e4d1f05e496",
"global_sequence" : 291350311,
"recv_sequence" : 314298,
"auth_sequence" : [
[
"eosbetdice11",
491877
]
],
"code_sequence" : 2,
"abi_sequence" : 2
},
"act" : {
"account" : "eosio.token",
"name" : "transfer",
"authorization" : [
{
"actor" : "eosbetdice11",
"permission" : "active"
}
],
"data" : {
"from" : "eosbetdice11",
"to" : "xupengfeieos",
"quantity" : "0.1036 EOS",
"memo" : "Winner! Play: dice.eosbet.io"
},
"hex_data" : "1082422e6575305580a9726ab1a9aaee0c0400000000000004454f53000000001c57696e6e65722120506c61793a20646963652e656f736265742e696f"
},
"elapsed" : 124,
"cpu_usage" : 0,
"console" : "",
"total_cpu_usage" : 0,
"trx_id" : "c68b4890b464d6da418b6fb6b5d99ec7e27189c3c62ec9c4e68929ecb1ef6536",
"block_num" : 12397949,
"block_time" : "2018-08-22T04:59:29.000",
"producer_block_id" : "00bd2d7dd7863593b5c5b86a36ed251a7cb5bb73b1d8ccbff367e6902bf62ddb",
"account_ram_delta" : [ ],
"trx_status" : "executed",
"createdAt" : ISODate("2018-08-23T17:59:20.409Z")
}
{
"_id" : ObjectId("5b7ef5f8f9a2f323e8ce4d78"),
"receipt" : {
"receiver" : "xupengfeieos",
"act_digest" : "85e56f86b524c3ec87bfa45d0fd6e8ca82c9006aa050b4c34d815e4d1f05e496",
"global_sequence" : 291350312,
"recv_sequence" : 8330,
"auth_sequence" : [
[
"eosbetdice11",
491878
]
],
"code_sequence" : 2,
"abi_sequence" : 2
},
"act" : {
"account" : "eosio.token",
"name" : "transfer",
"authorization" : [
{
"actor" : "eosbetdice11",
"permission" : "active"
}
],
"data" : {
"from" : "eosbetdice11",
"to" : "xupengfeieos",
"quantity" : "0.1036 EOS",
"memo" : "Winner! Play: dice.eosbet.io"
},
"hex_data" : "1082422e6575305580a9726ab1a9aaee0c0400000000000004454f53000000001c57696e6e65722120506c61793a20646963652e656f736265742e696f"
},
"elapsed" : 6,
"cpu_usage" : 0,
"console" : "",
"total_cpu_usage" : 0,
"trx_id" : "c68b4890b464d6da418b6fb6b5d99ec7e27189c3c62ec9c4e68929ecb1ef6536",
"block_num" : 12397949,
"block_time" : "2018-08-22T04:59:29.000",
"producer_block_id" : "00bd2d7dd7863593b5c5b86a36ed251a7cb5bb73b1d8ccbff367e6902bf62ddb",
"account_ram_delta" : [ ],
"trx_status" : "executed",
"createdAt" : ISODate("2018-08-23T17:59:20.409Z")
}
{
"_id" : ObjectId("5b7ef5f8f9a2f323e8ce4d79"),
"receipt" : {
"receiver" : "betdividends",
"act_digest" : "c21e7798297a5a2b44fe507b5a941d29321079c165ef931eb5b2f94d38562c5b",
"global_sequence" : 291350313,
"recv_sequence" : 43016,
"auth_sequence" : [
[
"eosbetdice11",
491879
]
],
"code_sequence" : 4,
"abi_sequence" : 4
},
"act" : {
"account" : "betdividends",
"name" : "transfer",
"authorization" : [
{
"actor" : "eosbetdice11",
"permission" : "active"
}
],
"data" : {
"from" : "eosbetdice11",
"to" : "xupengfeieos",
"quantity" : "0.0200 BET",
"memo" : "Enjoy airdrop! Play: dice.eosbet.io"
},
"hex_data" : "1082422e6575305580a9726ab1a9aaeec800000000000000044245540000000023456e6a6f792061697264726f702120506c61793a20646963652e656f736265742e696f"
},
"elapsed" : 272,
"cpu_usage" : 0,
"console" : "",
"total_cpu_usage" : 0,
"trx_id" : "c68b4890b464d6da418b6fb6b5d99ec7e27189c3c62ec9c4e68929ecb1ef6536",
"block_num" : 12397949,
"block_time" : "2018-08-22T04:59:29.000",
"producer_block_id" : "00bd2d7dd7863593b5c5b86a36ed251a7cb5bb73b1d8ccbff367e6902bf62ddb",
"account_ram_delta" : [ ],
"trx_status" : "executed",
"createdAt" : ISODate("2018-08-23T17:59:20.409Z")
}
{
"_id" : ObjectId("5b7ef5f8f9a2f323e8ce4d7a"),
"receipt" : {
"receiver" : "eosbetdice11",
"act_digest" : "c21e7798297a5a2b44fe507b5a941d29321079c165ef931eb5b2f94d38562c5b",
"global_sequence" : 291350314,
"recv_sequence" : 314299,
"auth_sequence" : [
[
"eosbetdice11",
491880
]
],
"code_sequence" : 4,
"abi_sequence" : 4
},
"act" : {
"account" : "betdividends",
"name" : "transfer",
"authorization" : [
{
"actor" : "eosbetdice11",
"permission" : "active"
}
],
"data" : {
"from" : "eosbetdice11",
"to" : "xupengfeieos",
"quantity" : "0.0200 BET",
"memo" : "Enjoy airdrop! Play: dice.eosbet.io"
},
"hex_data" : "1082422e6575305580a9726ab1a9aaeec800000000000000044245540000000023456e6a6f792061697264726f702120506c61793a20646963652e656f736265742e696f"
},
"elapsed" : 28,
"cpu_usage" : 0,
"console" : "",
"total_cpu_usage" : 0,
"trx_id" : "c68b4890b464d6da418b6fb6b5d99ec7e27189c3c62ec9c4e68929ecb1ef6536",
"block_num" : 12397949,
"block_time" : "2018-08-22T04:59:29.000",
"producer_block_id" : "00bd2d7dd7863593b5c5b86a36ed251a7cb5bb73b1d8ccbff367e6902bf62ddb",
"account_ram_delta" : [ ],
"trx_status" : "executed",
"createdAt" : ISODate("2018-08-23T17:59:20.409Z")
}
{
"_id" : ObjectId("5b7ef5f8f9a2f323e8ce4d7b"),
"receipt" : {
"receiver" : "xupengfeieos",
"act_digest" : "c21e7798297a5a2b44fe507b5a941d29321079c165ef931eb5b2f94d38562c5b",
"global_sequence" : 291350315,
"recv_sequence" : 8331,
"auth_sequence" : [
[
"eosbetdice11",
491881
]
],
"code_sequence" : 4,
"abi_sequence" : 4
},
"act" : {
"account" : "betdividends",
"name" : "transfer",
"authorization" : [
{
"actor" : "eosbetdice11",
"permission" : "active"
}
],
"data" : {
"from" : "eosbetdice11",
"to" : "xupengfeieos",
"quantity" : "0.0200 BET",
"memo" : "Enjoy airdrop! Play: dice.eosbet.io"
},
"hex_data" : "1082422e6575305580a9726ab1a9aaeec800000000000000044245540000000023456e6a6f792061697264726f702120506c61793a20646963652e656f736265742e696f"
},
"elapsed" : 3,
"cpu_usage" : 0,
"console" : "",
"total_cpu_usage" : 0,
"trx_id" : "c68b4890b464d6da418b6fb6b5d99ec7e27189c3c62ec9c4e68929ecb1ef6536",
"block_num" : 12397949,
"block_time" : "2018-08-22T04:59:29.000",
"producer_block_id" : "00bd2d7dd7863593b5c5b86a36ed251a7cb5bb73b1d8ccbff367e6902bf62ddb",
"account_ram_delta" : [ ],
"trx_status" : "executed",
"createdAt" : ISODate("2018-08-23T17:59:20.409Z")
}