Skip to content

Instantly share code, notes, and snippets.

@kovenko
Last active April 19, 2018 10:18
Show Gist options
  • Select an option

  • Save kovenko/ad28c6ab0a1ff2bd592dc611048ee9f6 to your computer and use it in GitHub Desktop.

Select an option

Save kovenko/ad28c6ab0a1ff2bd592dc611048ee9f6 to your computer and use it in GitHub Desktop.
Считываем хеш 100 блока (POW)
$ Trittiumd getblockhash 100
0000001ce1545895454905c6a2e38c0b5f822b9879831f2ed7b7f6b5de505d1a
Читаем блок
$ Trittiumd getblock 0000001ce1545895454905c6a2e38c0b5f822b9879831f2ed7b7f6b5de505d1a
{
"hash" : "0000001ce1545895454905c6a2e38c0b5f822b9879831f2ed7b7f6b5de505d1a",
"confirmations" : 2070,
"size" : 203,
"height" : 100,
"version" : 4,
"merkleroot" : "4e3326f6dca1a561831bf2beda17598b3e777511adb93356e7a62c631fb71dc5",
"mint" : 200.00000000,
"moneysupply" : 1269800.00000000,
"time" : 1524033168,
"nonce" : 4193589008,
"bits" : "1d538e49",
"difficulty" : 0.01196787,
"blocktrust" : "310568e",
"chaintrust" : "bcb9b470",
"previousblockhash" : "0000000f51403eb0ed77e336cd9aad4d6557920064d943b45aa37a831c10b67c",
"nextblockhash" : "000000024eb6ccd5f1b8d5849e6ae1c2845664769d1d93a8c9bc5450002d1616",
"flags" : "proof-of-work stake-modifier",
"proofhash" : "0000001ce1545895454905c6a2e38c0b5f822b9879831f2ed7b7f6b5de505d1a",
"entropybit" : 0,
"modifier" : "cc5112b1208c6225",
"tx" : [
"4e3326f6dca1a561831bf2beda17598b3e777511adb93356e7a62c631fb71dc5"
]
}
Читаем транзакцию
$ Trittiumd getrawtransaction 4e3326f6dca1a561831bf2beda17598b3e777511adb93356e7a62c631fb71dc5 1
{
"hex" : "0200000090e6d65a010000000000000000000000000000000000000000000000000000000000000000ffffffff1601640490e6d65a088100000f000000007969696d7000000000000100c817a804000000232102eaadcababb4fe9c43b0e436f3f4286a9777eda20b06be9dd9dcba6ca623fa7c7ac00000000",
"txid" : "4e3326f6dca1a561831bf2beda17598b3e777511adb93356e7a62c631fb71dc5",
"version" : 2,
"time" : 1524033168,
"locktime" : 0,
"vin" : [
{
"coinbase" : "01640490e6d65a088100000f000000007969696d7000",
"sequence" : 0
}
],
"vout" : [
{
"value" : 200.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "02eaadcababb4fe9c43b0e436f3f4286a9777eda20b06be9dd9dcba6ca623fa7c7 OP_CHECKSIG",
"hex" : "2102eaadcababb4fe9c43b0e436f3f4286a9777eda20b06be9dd9dcba6ca623fa7c7ac",
"reqSigs" : 1,
"type" : "pubkey",
"addresses" : [
"TTEN1HYi65gCeqa85f28pJJkYtYw7Jdu68"
]
}
}
],
"blockhash" : "0000001ce1545895454905c6a2e38c0b5f822b9879831f2ed7b7f6b5de505d1a",
"confirmations" : 2071,
"time" : 1524033168,
"blocktime" : 1524033168
}
В транзакции имеем свойство "blockhash" : "0000001ce1545895454905c6a2e38c0b5f822b9879831f2ed7b7f6b5de505d1a"
Найдем по хешу блока сам блок
$ Trittiumd getblock 0000001ce1545895454905c6a2e38c0b5f822b9879831f2ed7b7f6b5de505d1a
{
"hash" : "0000001ce1545895454905c6a2e38c0b5f822b9879831f2ed7b7f6b5de505d1a",
"confirmations" : 2073,
"size" : 203,
"height" : 100,
"version" : 4,
"merkleroot" : "4e3326f6dca1a561831bf2beda17598b3e777511adb93356e7a62c631fb71dc5",
"mint" : 200.00000000,
"moneysupply" : 1269800.00000000,
"time" : 1524033168,
"nonce" : 4193589008,
"bits" : "1d538e49",
"difficulty" : 0.01196787,
"blocktrust" : "310568e",
"chaintrust" : "bcb9b470",
"previousblockhash" : "0000000f51403eb0ed77e336cd9aad4d6557920064d943b45aa37a831c10b67c",
"nextblockhash" : "000000024eb6ccd5f1b8d5849e6ae1c2845664769d1d93a8c9bc5450002d1616",
"flags" : "proof-of-work stake-modifier",
"proofhash" : "0000001ce1545895454905c6a2e38c0b5f822b9879831f2ed7b7f6b5de505d1a",
"entropybit" : 0,
"modifier" : "cc5112b1208c6225",
"tx" : [
"4e3326f6dca1a561831bf2beda17598b3e777511adb93356e7a62c631fb71dc5"
]
}
Нашли!
Теперь оналогично по POS
$ Trittiumd getblockcount
2178
$ Trittiumd getblockhash 2178
d9708230f072a66394f35d10bf0740c4417d1b3d048228ac100e72632b762ede
$ Trittiumd getblock d9708230f072a66394f35d10bf0740c4417d1b3d048228ac100e72632b762ede
{
"hash" : "d9708230f072a66394f35d10bf0740c4417d1b3d048228ac100e72632b762ede",
"confirmations" : 3,
"size" : 434,
"height" : 2178,
"version" : 4,
"merkleroot" : "95a92e398f561243eeed3f62d3391adb815a28741f91dd73b6432cd73e40ee0e",
"mint" : 750.00000000,
"moneysupply" : 2368150.00000000,
"time" : 1524131248,
"nonce" : 0,
"bits" : "1b03945c",
"difficulty" : 18308.27561512,
"blocktrust" : "47848e13447e",
"chaintrust" : "dcfe12d7b5df5d",
"previousblockhash" : "c0b1762bd432222d64031ccc1331f1bfcfc943319d58fe3e21a2c4f70898dddc",
"nextblockhash" : "4442686c6b5428196ace022a971397e71773c40b15085d099224aeae150fd60a",
"flags" : "proof-of-stake stake-modifier",
"proofhash" : "019fa2a940b493da99defab80f6da6cac8ab4ce449ffc2c38eca611a9ab1cc5d",
"entropybit" : 0,
"modifier" : "357748f33035ac12",
"tx" : [
"3366a9b94ca9058e3ce0634d4b1881ba4c99b795d1483522d0cf46f04119edd5",
"7c037b4ea6c2cf31a3368450a28b7e51d9ddd518308a64e52ed6f61cc7d3d3db"
],
"signature" : "3045022100efebebb7d136c344ca7ce0bc1eea9dba7017457652e8bd3682d2727a4c5d12fb02207a2b2f7ee0f5d2b26e83b18db69dfa51350b5ee636867a331212dcef6917fc25"
}
Имеем 2 транзакции
Читаем первую
$ Trittiumd getrawtransaction 3366a9b94ca9058e3ce0634d4b1881ba4c99b795d1483522d0cf46f04119edd5 1
{
"hex" : "01000000b065d85a010000000000000000000000000000000000000000000000000000000000000000ffffffff03028208ffffffff0100000000000000000000000000",
"txid" : "3366a9b94ca9058e3ce0634d4b1881ba4c99b795d1483522d0cf46f04119edd5",
"version" : 1,
"time" : 1524131248,
"locktime" : 0,
"vin" : [
{
"coinbase" : "028208",
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 0.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "",
"hex" : "",
"type" : "nonstandard"
}
}
],
"blockhash" : "efa5b3f0fb6634bdd1d6d6eb6be074735a0e5fa4c62b5e1ff449012a4abaf45b"
}
Она принадлежит блоку с "blockhash" : "efa5b3f0fb6634bdd1d6d6eb6be074735a0e5fa4c62b5e1ff449012a4abaf45b"
ищем сам блок
$ Trittiumd getblock efa5b3f0fb6634bdd1d6d6eb6be074735a0e5fa4c62b5e1ff449012a4abaf45b
error: {"code":-5,"message":"Block not found"}
Поищем по второй транзакции
$ Trittiumd getrawtransaction 7c037b4ea6c2cf31a3368450a28b7e51d9ddd518308a64e52ed6f61cc7d3d3db 1
{
"hex" : "01000000b065d85a013bdd43abe1d439fe620e754f196c1f81453bf6906eff231cf1ebf04ca38a46b9010000004847304402207be58c07072adfc9141e3dc68cb943d224d74ad87c0b7316bf34367d6100b7b70220475eeed4693a1684710f7839a266be0514e328c3c3c61a4154808d6db753d7e401ffffffff03000000000000000000634e9e28600100002321039ab6ae557d2e7e96156194311d854ad02e8ed0543585363741e73b74c3aa3957ac005847f80d0000001976a914f9a75a226c6518da7cd005171e36df2ba37f5bae88ac00000000",
"txid" : "7c037b4ea6c2cf31a3368450a28b7e51d9ddd518308a64e52ed6f61cc7d3d3db",
"version" : 1,
"time" : 1524131248,
"locktime" : 0,
"vin" : [
{
"txid" : "b9468aa34cf0ebf11c23ff6e90f63b45811f6c194f750e62fe39d4e1ab43dd3b",
"vout" : 1,
"scriptSig" : {
"asm" : "304402207be58c07072adfc9141e3dc68cb943d224d74ad87c0b7316bf34367d6100b7b70220475eeed4693a1684710f7839a266be0514e328c3c3c61a4154808d6db753d7e401",
"hex" : "47304402207be58c07072adfc9141e3dc68cb943d224d74ad87c0b7316bf34367d6100b7b70220475eeed4693a1684710f7839a266be0514e328c3c3c61a4154808d6db753d7e401"
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 0.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "",
"hex" : "",
"type" : "nonstandard"
}
},
{
"value" : 15125.09951587,
"n" : 1,
"scriptPubKey" : {
"asm" : "039ab6ae557d2e7e96156194311d854ad02e8ed0543585363741e73b74c3aa3957 OP_CHECKSIG",
"hex" : "21039ab6ae557d2e7e96156194311d854ad02e8ed0543585363741e73b74c3aa3957ac",
"reqSigs" : 1,
"type" : "pubkey",
"addresses" : [
"TDfr8T2MXRSogpxHA6ySFEosAQ7PSTuTdu"
]
}
},
{
"value" : 600.00000000,
"n" : 2,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 f9a75a226c6518da7cd005171e36df2ba37f5bae OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a914f9a75a226c6518da7cd005171e36df2ba37f5bae88ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"TYjFjekWRtf5paKJL4jdYDzeKMRv5EW1E6"
]
}
}
],
"blockhash" : "efa5b3f0fb6634bdd1d6d6eb6be074735a0e5fa4c62b5e1ff449012a4abaf45b"
}
Блок так же не будет найден по "blockhash" : "efa5b3f0fb6634bdd1d6d6eb6be074735a0e5fa4c62b5e1ff449012a4abaf45b"
Вывод: Свойство номер блока height принадлежит блоку. Если транзакция принадлежит отсутствующему блоку, соответственно мы видем 0!
В транзакциях свойство blockhash должно быть равно d9708230f072a66394f35d10bf0740c4417d1b3d048228ac100e72632b762ede
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment