<center> Image by @doze</center> This is not an expert information or educational material on Hive blockchain. This is just an observation by an ordinary participant of the Hive economy and an amateur coder trying to understand Hive blocks. I will be using python and Beem library by @holger80 for this exploration. I start with the following python code that gets the last block number, gets the latest block, converts into a dictionary format and prints the contents of the block. ``` from beem import Hive from beem.nodelist import NodeList from beem.instance import set_shared_blockchain_instance from beem.blockchain import Blockchain from beem.block import Block from pprint import pprint nodelist = NodeList() nodelist.update_nodes() nodes = nodelist.get_hive_nodes() hive = Hive(node=nodes) set_shared_blockchain_instance(hive) bc = Blockchain() cbn = bc.get_current_block_num() block = Block(cbn) block = dict(block) pprint(block) ``` The code returns key/value pair information about the block itself and transactions stored within the block. By running a for loop we can get what kind of items or information is stored in each block. Here is the list of 11 items that each block stores: 1. `id` 2. `block_id` 3. `previous` 4. `timestamp` 5. `extensions` 6. `witness` 7. `witness_signature` 8. `signing_key` 9. `transaction_merkle_root` 10. `transaction_ids` 11. `transactions` The most interesting item in the above list is `transactions`, that is where all the transactions like asset transfers, posts, comments, votes, etc are stored. We will explore transactions in more details later. Rest of the items are information about the block itself. If we remove `transactions` and `transaction_ids` from the block, the result would look like this: <center></center> `id` represents the block number. `block_id` looks like a unique alphanumeric id for the block. `previous` is a block_id of the previous block. Is this how chaining blocks happen, by including a reference to the previous block? Not sure, but that would be my guess. Then we have witness related information. `witness` provides the name of the witness who produced the block. `witness_signature` how the block producing witness signs the block. And the `signing_key` is a public witness key. Interesting to note that average users who are not witnesses don't have this key. There are normally owner, active, posting, memo keys. But for witnesses looks like there is an additional key for signing blocks. Two I items I have no clue about are the `extensions` and `transactions_merkle_root`. `extensions` appear in each block and looks like suppose to have an array/list of data in it. But it always appears to be empty. This is what google says about merkle root: >A merkle root is created by hashing together pairs of TXID s, which gives you a short yet unique fingerprint for all the transactions in a block. This merkle root is then used as a field in a block header, which means that every block header will have a short representation of every transaction inside the block. That sort of explains the purpose of `transactions_merkle_root`. My favorite one is `timestamp`, provides the date and time the block was produced. HIve blocks `timestamp` use UTC timezone. Each block is produced 3 seconds apart. However, I noticed sometimes there is 6 seconds difference between block timestamps. My guess for this is that sometimes witnesses miss blocks and when that happens the time difference between blocks is higher than 3 seconds. The reason `timestamp` is my favorite because the blockchain uses its internal clock to stamp each block and prevents unexpected actions like double spending, provide transparency and security, and keep the integrity of the chain intact. `transaction_ids` stores the list of unique transactoin ids for each transaction stored in the `transactions`. The following image shows an example of how a list of `transaction_ids` look like. <center></center> `transactions` is the most interesting compartment of each block. This is where all transactions are stored, and takes up the most space in a block. It contains a list of transactions and each transactions has the following data within them. 1. `ref_block_num` 2. `ref_block_prefix` 3. `expiration` 4. `extensions` 5. `signatures` 6. `operations` <center></center> The main content of the transaction is stored in `operations`, and rest of the items seems to store information about the transaction itself. I really don't understand how `ref_block_num` and `ref_block_prefix` numbers are generated. One thing I noticed though is that `ref_block_num` never goes higher than 65536 and when it gets that high it starts again from 1. We have `extensions` again that appear to be an empty array in each transaction. I would guess `signature` is signed by an account executing the transaction. The `expiration` stores date and time info like `timestamp` but the time is in the future. So, my guess is that transaction will expire if not put in a block and produced within the provided time. Lastly, `operations` is where all the fun stuff is happening. `operations` contains a list of operations. In theory, it seems we can store multiple operations here. However, it looks like there is only one operation stored here most of the time. I explored multiple blocks, and yet to see where there were multiple operations were bundled together within `operations`. Each operation has two items: *type* and *value*. The way the *value* data is stored depends on the type of the operations. I wrote a script to go through last 100000 blocks to get the list of unique operation types. Following is the list of operation types I came up with: 1. `custom_json_operation` 2. `vote_operation` 3. `transfer_operation` 4. `comment_operation` 5. `claim_reward_balance_operation` 6. `feed_publish_operation` 7. `limit_order_create_operation` 8. `limit_order_cancel_operation` 9. `witness_set_properties_operation` 10. `claim_account_operation` 11. `create_claimed_account_operation` 12. `account_update_operation` 13. `account_update2_operation` 14. `account_witness_vote_operation` 15. `transfer_to_vesting_operation` 16. `delegate_vesting_shares_operation` 17. `convert_operation` 18. `transfer_to_savings_operation` 19. `account_witness_proxy_operation` 20. `delete_comment_operation` 21. `withdraw_vesting_operation` 22. `update_proposal_votes_operation` There probably are more operations that can be done Hive. They all are self-explanatory. Most common ones we use on daily basis are the vote, comment, transfer, claim_reward_balance operations. The most used operation it seems is the `custom_json_operation`. If you play games like Spliterlands, you can see those operations stored in a special `custom_json_operation`. This is probably one of the most powerful features of Hive blockchain to provide for developers of Apps and Games with ability to store and retrieve their data easily on the blockchain. Feel free to correct me if I made mistakes or wrong assumption about certain parts of the blocks and feel free to share about things I have no clue about yet. Thanks! Posted Using [LeoFinance](https://leofinance.io/@geekgirl/exploring-hive-blocks)
author | geekgirl |
---|---|
permlink | exploring-hive-blocks |
category | hive-167922 |
json_metadata | {"tags":["hive","blockchain","python","coding","stemgeeks","stemsocial","neoxian","ctptalk","posh","leofinance"],"users":["doze","holger80"],"image":["https://images.hive.blog/DQmXWaj7thFepdn9UptfAXCzQiMBFBTE1gPD4cV4skexQYa/hivechain.png","https://images.hive.blog/DQmWhN4WUVQcFvhkVHvYu7cFyTdCSHDv2rgtoPA3f6Dgbj8/block.png","https://images.hive.blog/DQmV7kL3u9f6vZHZwVt5w723nKJxXS4UHZ6wdreuqiwSFFi/transactionids.png","https://images.hive.blog/DQmTufDKN6uSdPTnHhHohmctJqPgsqwDPy1PuU4xxZtrLyY/transaction.png"],"app":"leofinance/0.1","format":"markdown","canonical_url":"https://leofinance.io/@geekgirl/exploring-hive-blocks"} |
created | 2020-09-20 23:24:03 |
last_update | 2020-09-20 23:24:03 |
depth | 0 |
children | 15 |
last_payout | 2020-09-27 23:24:03 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 16.002 HBD |
curator_payout_value | 13.627 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 7,656 |
author_reputation | 1,588,017,852,468,897 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,733,955 |
net_rshares | 111,577,657,281,145 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
wackou | 0 | 8,326,662,213,157 | 100% | ||
tombstone | 0 | 18,391,422,606 | 0.9% | ||
stellabelle | 0 | 626,114,776,251 | 100% | ||
redpalestino | 0 | 448,633,587,620 | 10% | ||
happyphoenix | 0 | 27,114,433,194 | 35% | ||
jphamer1 | 0 | 9,811,594,739,207 | 100% | ||
hanshotfirst | 0 | 543,379,873,656 | 10% | ||
frankbacon | 0 | 178,332,862,690 | 100% | ||
ats-david | 0 | 1,788,557,300,885 | 50% | ||
jlufer | 0 | 40,462,065,298 | 100% | ||
sammie | 0 | 23,021,867,436 | 100% | ||
daveks | 0 | 293,085,631,985 | 7.5% | ||
petrvl | 0 | 118,284,830,581 | 15% | ||
rishi556 | 0 | 31,693,775,356 | 100% | ||
techslut | 0 | 28,266,850,604 | 5% | ||
supergoodliving | 0 | 119,120,811,147 | 50% | ||
judasp | 0 | 279,396,251,253 | 100% | ||
zorg67 | 0 | 576,445,480 | 100% | ||
teofilex11 | 0 | 22,336,136,026 | 100% | ||
automaton | 0 | 1,503,041 | 100% | ||
pouchon | 0 | 2,123,577,666,261 | 54% | ||
louisthomas | 0 | 91,826,170,531 | 100% | ||
pastzam | 0 | 405,497,782,001 | 100% | ||
tbnfl4sun | 0 | 29,855,192,340 | 25% | ||
bloggingforbeans | 0 | 18,824,301,006 | 50% | ||
thatsweeneyguy | 0 | 801,787,232 | 25% | ||
bethalea | 0 | 589,432,224 | 20% | ||
sokha | 0 | 626,374,690 | 5% | ||
tamaralovelace | 0 | 117,835,010,016 | 100% | ||
cryptocurator | 0 | 284,445,188,725 | 44% | ||
roomservice | 0 | 94,826,068,680 | 2.25% | ||
thethreehugs | 0 | 30,974,176,369 | 100% | ||
mys | 0 | 175,914,847 | 0.5% | ||
trumpikas | 0 | 34,362,654,061 | 60% | ||
kaylee.nicole | 0 | 15,976,034,876 | 50% | ||
cryptoknight12 | 0 | 440,369,628,079 | 100% | ||
arrliinn | 0 | 27,942,735,660 | 35% | ||
belahejna | 0 | 20,559,481,330 | 15% | ||
enjar | 0 | 705,092,038,543 | 100% | ||
henryn2020 | 0 | 688,657,259 | 100% | ||
whd | 0 | 637,842,717 | 0.5% | ||
kris10 | 0 | 90,651,047,747 | 50% | ||
paasz | 0 | 29,219,087,662 | 100% | ||
mcoinz79 | 0 | 25,905,481,487 | 1% | ||
face2face | 0 | 543,820,592,588 | 100% | ||
lugina | 0 | 1,237,758,910,884 | 100% | ||
themarkymark | 0 | 2,825,389,930,010 | 12% | ||
nathanmars | 0 | 7,094,038,424,147 | 100% | ||
sanjeevm | 0 | 341,595,388,443 | 40% | ||
pixelfan | 0 | 12,699,660,412 | 2% | ||
leaky20 | 0 | 84,299,460,225 | 100% | ||
tykee | 0 | 3,772,689,266 | 33% | ||
khalil319 | 0 | 731,056,771 | 27.5% | ||
june21neneng | 0 | 7,865,598,562 | 100% | ||
lalupita | 0 | 26,776,229,432 | 100% | ||
thatindianlady | 0 | 14,895,910,448 | 5% | ||
chops316 | 0 | 43,358,595,197 | 100% | ||
razack-pulo | 0 | 80,762,442,259 | 100% | ||
karja | 0 | 107,526,506,318 | 5% | ||
rafaelaquino | 0 | 12,291,069,699 | 100% | ||
stoodkev | 0 | 3,367,412,569,716 | 100% | ||
jedigeiss | 0 | 1,242,940,762,321 | 100% | ||
buildawhale | 0 | 9,190,878,878,428 | 12% | ||
artonmysleeve | 0 | 21,880,030,789 | 3.75% | ||
voxmonkey | 0 | 222,968,001 | 100% | ||
therealwolf | 0 | 833,484,800,090 | 3% | ||
roleerob | 0 | 629,114,911,255 | 75% | ||
inthenow | 0 | 55,222,633,676 | 100% | ||
omra-sky | 0 | 70,360,994,158 | 40% | ||
makerhacks | 0 | 36,138,676,834 | 12% | ||
divinekids | 0 | 4,719,021,740 | 35% | ||
happydolphin | 0 | 12,001,875,989 | 7% | ||
andywong31 | 0 | 10,809,620,140 | 100% | ||
khaleelkazi | 0 | 271,210,595,017 | 55% | ||
faisalamin | 0 | 5,580,998,337 | 100% | ||
traciyork | 0 | 730,899,752,996 | 100% | ||
ybanezkim26 | 0 | 256,768,846,766 | 100% | ||
coyotelation | 0 | 2,701,661,404 | 10% | ||
emrebeyler | 0 | 2,149,260,124,796 | 100% | ||
communitycoin | 0 | 1,281,163,908,540 | 50% | ||
katerinaramm | 0 | 67,931,849,452 | 100% | ||
smartsteem | 0 | 168,598,631,158 | 3% | ||
chireerocks | 0 | 11,952,236,150 | 50% | ||
tute | 0 | 145,840,576 | 100% | ||
yazp | 0 | 13,698,984,465 | 100% | ||
mytechtrail | 0 | 41,557,792,549 | 15% | ||
ocupation | 0 | 321,160,050,202 | 100% | ||
iqbaladan | 0 | 921,394,343 | 100% | ||
road2nowhere | 0 | 15,036,765,696 | 100% | ||
industriousliv | 0 | 16,447,406,649 | 50% | ||
afril | 0 | 45,970,343,694 | 100% | ||
kamchore | 0 | 103,791,613,971 | 66% | ||
tiazakaria | 0 | 1,620,394,594 | 100% | ||
ats-witness | 0 | 206,293,042,082 | 50% | ||
wiseagent | 0 | 54,730,278,078 | 10% | ||
fourfourfun | 0 | 6,781,290,392 | 25% | ||
upmyvote | 0 | 9,142,228,275 | 12% | ||
jongolson | 0 | 595,831,337,808 | 50% | ||
mmmmkkkk311 | 0 | 154,886,047,419 | 2% | ||
bengy | 0 | 58,439,665,987 | 51% | ||
fun2learn | 0 | 2,415,530,499 | 3% | ||
bala41288 | 0 | 20,358,272,370 | 6.6% | ||
edicted | 0 | 2,855,150,848,891 | 100% | ||
chorock | 0 | 528,529,862,179 | 45% | ||
psos | 0 | 7,412,063,738 | 35% | ||
tobias-g | 0 | 27,215,570,371 | 9% | ||
leoumesh | 0 | 28,301,591,331 | 100% | ||
chronocrypto | 0 | 8,712,025,323 | 100% | ||
investprosper | 0 | 1,052,786,911 | 25% | ||
holger80 | 0 | 2,176,657,258,446 | 50% | ||
svemirac | 0 | 5,761,212,611 | 100% | ||
upfundme | 0 | 3,050,534,995 | 5% | ||
ericburgoyne | 0 | 2,258,178,361 | 25% | ||
penderis | 0 | 23,366,193,941 | 50% | ||
bhattg | 0 | 17,023,151,477 | 100% | ||
irgendwo | 0 | 10,327,689,256 | 10% | ||
asgarth | 0 | 732,392,724,034 | 25% | ||
movement19 | 0 | 3,932,223,732 | 3% | ||
mutiahanum | 0 | 4,535,679,752 | 99% | ||
russellstockley | 0 | 7,992,409,499 | 30% | ||
futurecurrency | 0 | 19,875,747,648 | 40% | ||
afrinsultana | 0 | 2,942,462,901 | 10% | ||
frassman | 0 | 790,165,896 | 5% | ||
yusrizakaria | 0 | 8,048,922,172 | 90% | ||
amico | 0 | 15,049,649,703 | 1.01% | ||
bil.prag | 0 | 90,173,182,615 | 26% | ||
manniman | 0 | 74,170,804,474 | 33% | ||
fulcrumnews | 0 | 174,944,402 | 17% | ||
kyberlee | 0 | 297,989,649 | 100% | ||
jan23com | 0 | 5,432,472,858 | 90% | ||
paragism | 0 | 3,196,591,922 | 15% | ||
blainjones | 0 | 17,104,302,676 | 15% | ||
gadrian | 0 | 25,228,268,082 | 16% | ||
z3ll | 0 | 19,019,376,748 | 100% | ||
choco11oreo11 | 0 | 3,323,840,157 | 90% | ||
kgakakillerg | 0 | 24,111,101,500 | 10% | ||
payroll | 0 | 112,092,059,995 | 2% | ||
break-out-trader | 0 | 4,008,260,457 | 50% | ||
promobot | 0 | 15,347,792,130 | 17.5% | ||
olivia08 | 0 | 92,459,356,059 | 100% | ||
rozku | 0 | 48,646,448,608 | 30% | ||
celinavisaez | 0 | 6,660,031,252 | 25% | ||
slobberchops | 0 | 1,712,401,937,025 | 35% | ||
techcoderx | 0 | 1,300,100,329 | 100% | ||
enforcer48 | 0 | 122,168,351,924 | 15% | ||
czera | 0 | 15,414,158,014 | 100% | ||
mrnightmare89 | 0 | 4,924,332,976 | 20% | ||
rilo | 0 | 20,167,537,091 | 100% | ||
thehive | 0 | 104,780,937,793 | 70% | ||
holovision | 0 | 27,078,599,005 | 100% | ||
jk6276 | 0 | 0 | 1% | ||
littleshadow | 0 | 5,019,245,748 | 90% | ||
blueeyes8960 | 0 | 348,027,160,018 | 100% | ||
joseph6232 | 0 | 1,710,634,272 | 90% | ||
emaillisahere | 0 | 3,102,459,774 | 75% | ||
buzzbee | 0 | 617,795,542 | 50% | ||
fullnodeupdate | 0 | 15,388,811,051 | 50% | ||
gordonramzy | 0 | 606,737,620 | 100% | ||
jessica.steem | 0 | 576,550,339 | 100% | ||
caoimhin | 0 | 3,926,140,456 | 100% | ||
djtrucker | 0 | 1,398,129,703 | 75% | ||
oakshieldholding | 0 | 0 | 11% | ||
laissez-faire | 0 | 60,558,105 | 100% | ||
marshalmugi | 0 | 72,248,729,664 | 85% | ||
podg3 | 0 | 1,625,985,518 | 90% | ||
misstaken | 0 | 6,128,689,759 | 90% | ||
balticbadger | 0 | 5,624,836,915 | 25% | ||
merlin7 | 0 | 516,568,867,700 | 40% | ||
steempope | 0 | 389,810,257 | 70% | ||
onze | 0 | 933,154,425 | 35% | ||
teenagecrypto | 0 | 30,559,045,241 | 100% | ||
daisybuzz | 0 | 1,343,806,472 | 75% | ||
brosgn | 0 | 11,935,138,506 | 50% | ||
bro-poker | 0 | 69,848,597,843 | 50% | ||
jussbren | 0 | 1,897,577,376 | 90% | ||
owasco | 0 | 77,170,966,442 | 100% | ||
kiel91 | 0 | 119,733,515,933 | 60% | ||
smokingfit | 0 | 2,838,931,109 | 50% | ||
dijin | 0 | 15,563,860,972 | 100% | ||
mariyem | 0 | 824,181,957 | 100% | ||
bluerobo | 0 | 111,269,148,538 | 100% | ||
rikue | 0 | 576,898,075 | 100% | ||
creary | 0 | 2,579,090,141 | 17.5% | ||
ctime | 0 | 797,340,516,979 | 5% | ||
hanke | 0 | 7,057,324,563 | 100% | ||
limka | 0 | 170,388,158 | 52.5% | ||
leeyh2 | 0 | 8,922,389,334 | 100% | ||
abbenay | 0 | 1,275,503,760 | 6% | ||
doze | 0 | 91,152,911,514 | 35% | ||
denizcakmak | 0 | 931,681,463 | 100% | ||
samuel.steem | 0 | 1,002,277,220 | 100% | ||
jaster | 0 | 201,831,573,017 | 100% | ||
cindis | 0 | 1,125,065,745 | 100% | ||
paolo.senegal | 0 | 1,451,036,261 | 100% | ||
linur | 0 | 1,154,895,247 | 100% | ||
engrsayful | 0 | 20,215,368,001 | 25% | ||
coredump | 0 | 62,727,863 | 10% | ||
epicdice | 0 | 6,528,945,147 | 0.9% | ||
bigmoneyman | 0 | 900,414,708 | 50% | ||
megavest | 0 | 9,792,878,746 | 50% | ||
iamangierose | 0 | 528,528,188 | 50% | ||
pandaparker | 0 | 15,017,462,874 | 100% | ||
bro-rando | 0 | 1,491,883,918 | 50% | ||
ladeen | 0 | 787,680,489 | 100% | ||
likwid | 0 | 162,465,267,041 | 17.5% | ||
haxxdump | 0 | 0 | 5% | ||
wulff-media | 0 | 43,696,839,048 | 50% | ||
quantumdeveloper | 0 | 2,515,242,510 | 50% | ||
iktisat | 0 | 543,148,586 | 100% | ||
maruskina | 0 | 32,192,471,469 | 50% | ||
brosino | 0 | 7,492,115,052 | 50% | ||
travelwritemoney | 0 | 9,521,357,475 | 50% | ||
recording-box | 0 | 271,865,861,514 | 100% | ||
nalacanecorso | 0 | 1,231,043,605 | 100% | ||
burn-it-down | 0 | 1,662,479,541 | 30% | ||
brosgn.fund | 0 | 30,675,642,495 | 50% | ||
yeswecan | 0 | 16,006,218,424 | 90% | ||
leovoter | 0 | 603,413,416 | 40% | ||
partitura.leo | 0 | 249,454,249 | 100% | ||
leo.voter | 0 | 7,352,530,624,817 | 50% | ||
leo.curator | 0 | 1,545,634,284 | 44% | ||
empoderat | 0 | 908,159,592,319 | 50% | ||
bearjohn | 0 | 747,996,426 | 75% | ||
ilias.fragment | 0 | 285,804,690 | 70% | ||
stemgeeks | 0 | 16,338,160,136 | 100% | ||
stemcuration | 0 | 3,933,049,669 | 100% | ||
zaku-leo | 0 | 1,899,087,565 | 50% | ||
babytarazkp | 0 | 6,249,656,194 | 100% | ||
boohugs | 0 | 746,171,587 | 100% | ||
midlet-yourleo | 0 | 764,927,680 | 44% | ||
abh12345.stem | 0 | 708,393,841 | 100% | ||
abh12345.neox | 0 | 0 | 8.1% | ||
acguitar1 | 0 | 7,233,859,061 | 100% | ||
fsc69 | 0 | 4,463,163,907 | 80% | ||
btc4breackfast | 0 | 1,889,244,251 | 100% | ||
acta | 0 | 21,686,084,660 | 100% | ||
the-table | 0 | 17,948,744,785 | 90% | ||
cardtrader | 0 | 2,185,911,020 | 100% | ||
brocfml | 0 | 893,844,906 | 100% | ||
tmps | 0 | 1,118,658,937 | 5% | ||
neoxian.alfa | 0 | 2,560,712,491 | 100% | ||
thehouse | 0 | 1,771,764,636 | 90% | ||
spinvest-leo | 0 | 359,087,451 | 5% | ||
stemd | 0 | 321,706,388 | 100% | ||
astraeas | 0 | 587,419,726 | 55% | ||
akpofure | 0 | 268,249,438 | 55% | ||
chloem | 0 | 589,294,640 | 55% | ||
leotrail | 0 | 596,238,295 | 54.72% | ||
silverquest | 0 | 131,469,266,229 | 90% | ||
axel-blaze | 0 | 1,600,540,346,979 | 100% | ||
yggdrasil.laguna | 0 | 230,957,483 | 50% | ||
pecoshop | 0 | 1,901,017,221 | 100% | ||
honeychip | 0 | 8,070,679,766 | 85% | ||
kryptoformator | 0 | 3,270,960,333 | 7.5% | ||
stem.curate | 0 | 958,541,596 | 100% | ||
bro.poker | 0 | 3,598,902,818 | 100% | ||
hjmarseille | 0 | 10,006,738,047 | 70% | ||
rehan.blog | 0 | 1,026,837,652 | 50% | ||
boomalex | 0 | 2,584,040,042 | 100% | ||
machete9595 | 0 | 2,491,177,881 | 100% | ||
im-ridd | 0 | 29,347,069,543 | 100% | ||
bilpcoinbpc | 0 | 2,291,580,902 | 25% | ||
darthknight | 0 | 23,717,030,582,622 | 20% | ||
mehmetfix | 0 | 3,519,414,820 | 5% | ||
tommys.shop | 0 | 1,623,173,648 | 90% | ||
dpend.active | 0 | 7,107,653,423 | 10% | ||
sweet-memory | 0 | 890,042,080 | 50% | ||
hivewaves | 0 | 543,849,522 | 75% | ||
leofinance | 0 | 51,451,167,437 | 50% | ||
blue-witness | 0 | 3,303,991,056 | 100% | ||
hivetrending | 0 | 146,638,071,822 | 100% | ||
ykretz | 0 | 2,460,209,300 | 10% | ||
gitplait | 0 | 51,509,785,505 | 66% | ||
peterpanpan | 0 | 99,261,180,587 | 100% | ||
quello | 0 | 38,092,267,450 | 9% | ||
meppij | 0 | 372,340,632,730 | 100% | ||
hextech | 0 | 7,024,486,441 | 66% | ||
paulman | 0 | 1,420,029,257 | 75% | ||
sketching | 0 | 4,136,272,069 | 50% | ||
hiveonboard | 0 | 2,767,775,873 | 2.25% | ||
slabakbg | 0 | 2,155,178,990 | 100% | ||
wlslink | 0 | 3,979,212,653 | 100% | ||
adamsidney | 0 | 31,508,016 | 8% | ||
raven.icu | 0 | 2,514,162,427 | 100% | ||
brofund-leo | 0 | 600,048,621 | 50% | ||
utopiaeducators | 0 | 565,511,378,315 | 100% | ||
konda | 0 | 930,071,431 | 50% | ||
mrnightmare.net | 0 | 1,151,383,700 | 20% | ||
recoveryinc | 0 | 231,487,548,229 | 6% | ||
hive-108278 | 0 | 16,697,627,890 | 50% | ||
gohive | 0 | 33,424,207,313 | 100% | ||
dying | 0 | 10,873,956,160 | 6% | ||
nalesnik | 0 | 19,242,432,800 | 100% | ||
beemd | 0 | 11,130,129,998 | 100% | ||
cesarsabino | 0 | 315,474,390 | 50% | ||
cmplxty.leo | 0 | 1,854,357,605 | 50% | ||
discohedge | 0 | 3,271,705,562 | 5% | ||
dagobert007 | 0 | 1,907,107,906,282 | 55.2% | ||
leoneil.leo | 0 | 265,076,086 | 55% | ||
intacto | 0 | 27,663,848,108 | 3.3% | ||
clifth | 0 | 1,557,444,332 | 100% | ||
starino | 0 | 1,671,445,642 | 100% | ||
stormigirl | 0 | 483,787,706 | 100% | ||
music.legend | 0 | 1,671,435,140 | 100% | ||
savvysage | 0 | 737,205,556 | 100% | ||
apparelsfly | 0 | 63,944,380 | 100% |
>I really don't understand how ref_block_num and ref_block_prefix numbers are generated. #### Someone who knows what they are talking about: https://leofinance.io/steem/@xeroc/steem-transaction-signing-in-a-nutshell >Let's discuss the ref_block_* parameters a little: The ref_block_num indicates a particular block in the past by referring to the block number which has this number as the last two bytes. The ref_block_prefix on the other hand is obtain from the block id of that particular reference block. It is one unsigned integer (4 bytes) of the block id, but not starting at the first position but with an offset of 4 bytes. >The purpose of these two parameters is to prevent replay attacks in the case of a fork. Once two chains have forked, the two parameters identify two different blocks. Applying a signed transaction of one chain at another chain will invalidate the signature. ----- > One thing I noticed though is that ref_block_num never goes higher than 65536 This is to stop someone from using a very old block number. They don't want people to sign a transaction using an old block... because if their was a fork a hacker would be able to rebroadcast the public transaction on the other chain. # Me: https://peakd.com/hextech/@edicted/the-day-of-milestones >So not only does ref_block_num & ref_block_reference stop users from repeating a transaction on the same chain, it also prevents users from repeating a transaction on a forked chain. This was obviously very intriguing for me, because Hive just forked away from Steem and I was totally confused about how this would be accomplished. >Essentially, as long as ref_block_num references a block AFTER a hardfork, it would be impossible to broadcast that same transaction onto another fork. This is because the signatures of the 2 blocks on the separate forks would be completely different. Pretty cool. They really thought of everything, eh? >Because ref_block_num is only the last two bytes of the block number in question, it is impossible to reference a block that is very old. 2 bytes is 16 bits, so the maximum length of an unsigned integer stored in this structure is 2^16 or 65,536. Therefore, every 65,536 blocks the ref_block_num overflows back to zero and the process starts all over again. With 3 second blocks, this only ends up being about 54.6 hours per cycle. Posted Using [LeoFinance](https://leofinance.io/@edicted/qgzgb5)
author | edicted |
---|---|
permlink | qgzgb5 |
category | hive-167922 |
json_metadata | {"tags":["leofinance"],"links":["https://leofinance.io/steem/@xeroc/steem-transaction-signing-in-a-nutshell","https://peakd.com/hextech/@edicted/the-day-of-milestones"],"app":"leofinance/0.1","canonical_url":"https://leofinance.io/@edicted/qgzgb5"} |
created | 2020-09-21 00:35:30 |
last_update | 2020-09-21 00:35:30 |
depth | 1 |
children | 1 |
last_payout | 2020-09-28 00:35:30 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.128 HBD |
curator_payout_value | 0.129 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 2,424 |
author_reputation | 3,497,786,108,755,621 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,734,758 |
net_rshares | 1,506,880,802,731 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
geekgirl | 0 | 1,344,721,146,316 | 100% | ||
industriousliv | 0 | 16,285,913,689 | 50% | ||
hivetrending | 0 | 145,873,742,726 | 100% |
Awesome! Thank you for sharing the posts on this and explaining why and how ref_block_num and ref_block_reference work. Very helpful. I will study the posts more. Posted Using [LeoFinance](https://leofinance.io/@geekgirl/qgzhc1)
author | geekgirl |
---|---|
permlink | qgzhc1 |
category | hive-167922 |
json_metadata | {"tags":["leofinance"],"app":"leofinance/0.1","canonical_url":"https://leofinance.io/@geekgirl/qgzhc1"} |
created | 2020-09-21 00:57:39 |
last_update | 2020-09-21 00:57:39 |
depth | 2 |
children | 0 |
last_payout | 2020-09-28 00:57:39 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.016 HBD |
curator_payout_value | 0.007 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 229 |
author_reputation | 1,588,017,852,468,897 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,735,028 |
net_rshares | 214,155,623,934 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
industriousliv | 0 | 16,123,625,662 | 50% | ||
edicted | 0 | 55,073,883,376 | 2% | ||
hivetrending | 0 | 142,958,114,896 | 100% |
HIVE.D! 
author | frankbacon |
---|---|
permlink | qh0oxe |
category | hive-167922 |
json_metadata | {"image":["https://images.hive.blog/DQmcdXBi7f7Wxif1u3oRiKnUFD1y5jD3ntaqCJbYbUQJYPb/Screenshot%202020-09-18%20at%208.50.37%20AM.png"],"app":"hiveblog/0.1"} |
created | 2020-09-21 16:39:12 |
last_update | 2020-09-21 16:39:12 |
depth | 1 |
children | 0 |
last_payout | 2020-09-28 16:39:12 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 174 |
author_reputation | 38,509,879,409,111 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,746,188 |
net_rshares | 0 |
Anyone who’s interested in exploring hive blocks may enjoy this visualization. It streams Hive blocks and visualizes their contents, including identifying the apps in custom JSON operations. https://hiveuprss.github.io/hiveisbeautiful/
author | hivetrending |
---|---|
permlink | re-geekgirl-qgzf19 |
category | hive-167922 |
json_metadata | {"tags":["hive-167922"],"app":"peakd/2020.09.4"} |
created | 2020-09-21 00:07:57 |
last_update | 2020-09-21 00:08:18 |
depth | 1 |
children | 3 |
last_payout | 2020-09-28 00:07:57 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.118 HBD |
curator_payout_value | 0.073 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 237 |
author_reputation | 73,034,118,030,806 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,734,427 |
net_rshares | 1,392,331,872,735 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
geekgirl | 0 | 1,392,331,872,735 | 100% |
This is pretty cool tool! Where can I see the code? Posted Using [LeoFinance](https://leofinance.io/@geekgirl/qgzh6i)
author | geekgirl |
---|---|
permlink | qgzh6i |
category | hive-167922 |
json_metadata | {"tags":["leofinance"],"app":"leofinance/0.1","canonical_url":"https://leofinance.io/@geekgirl/qgzh6i"} |
created | 2020-09-21 00:54:21 |
last_update | 2020-09-21 00:54:21 |
depth | 2 |
children | 2 |
last_payout | 2020-09-28 00:54:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 118 |
author_reputation | 1,588,017,852,468,897 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,734,976 |
net_rshares | 0 |
Hey! The code is here: https://github.com/hiveuprss/hiveuprss.github.io/tree/master/hiveisbeautiful
author | hivetrending |
---|---|
permlink | re-geekgirl-qgzhdc |
category | hive-167922 |
json_metadata | {"tags":["hive-167922"],"app":"peakd/2020.09.4"} |
created | 2020-09-21 00:58:24 |
last_update | 2020-09-21 00:58:24 |
depth | 3 |
children | 1 |
last_payout | 2020-09-28 00:58:24 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.052 HBD |
curator_payout_value | 0.052 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 99 |
author_reputation | 73,034,118,030,806 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,735,034 |
net_rshares | 661,586,647,722 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
geekgirl | 0 | 661,586,647,722 | 50% |
My python skillzz might become useful soon Posted Using [LeoFinance](https://leofinance.io/@nathanmars/qgzf88)
author | nathanmars |
---|---|
permlink | qgzf88 |
category | hive-167922 |
json_metadata | {"tags":["leofinance"],"app":"leofinance/0.1","canonical_url":"https://leofinance.io/@nathanmars/qgzf88"} |
created | 2020-09-21 00:12:09 |
last_update | 2020-09-21 00:12:09 |
depth | 1 |
children | 1 |
last_payout | 2020-09-28 00:12:09 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.115 HBD |
curator_payout_value | 0.115 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 111 |
author_reputation | 336,354,946,115,368 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,734,477 |
net_rshares | 1,366,479,701,312 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
geekgirl | 0 | 1,366,479,701,312 | 100% |
Your skillz are impressive! Posted Using [LeoFinance](https://leofinance.io/@geekgirl/qgzh76)
author | geekgirl |
---|---|
permlink | qgzh76 |
category | hive-167922 |
json_metadata | {"tags":["leofinance"],"app":"leofinance/0.1","canonical_url":"https://leofinance.io/@geekgirl/qgzh76"} |
created | 2020-09-21 00:54:48 |
last_update | 2020-09-21 00:54:48 |
depth | 2 |
children | 0 |
last_payout | 2020-09-28 00:54:48 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 94 |
author_reputation | 1,588,017,852,468,897 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,734,982 |
net_rshares | 75,756,685,252 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
nathanmars | 0 | 75,756,685,252 | 1% |
https://twitter.com/geekjen/status/1307823303504011264
author | poshbot |
---|---|
permlink | re-exploring-hive-blocks-20200920t232607z |
category | hive-167922 |
json_metadata | "{"app": "beem/0.24.8"}" |
created | 2020-09-20 23:26:06 |
last_update | 2020-09-20 23:26:06 |
depth | 1 |
children | 0 |
last_payout | 2020-09-27 23:26:06 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 54 |
author_reputation | 5,554,335,374,496 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,733,965 |
net_rshares | 0 |
https://twitter.com/free_steinbart/status/1333604029818089477
author | poshbot |
---|---|
permlink | re-exploring-hive-blocks-20201201t024945z |
category | hive-167922 |
json_metadata | "{"app": "beem/0.24.8"}" |
created | 2020-12-01 02:49:45 |
last_update | 2020-12-01 02:49:45 |
depth | 1 |
children | 0 |
last_payout | 2020-12-08 02:49:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 61 |
author_reputation | 5,554,335,374,496 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 100,757,951 |
net_rshares | 0 |
The `extensions` used to store the running version of `steemd` that signed the block, as well as the upcoming hardforks that a witness has accepted (if any). But since HF23 this information is no longer present. This is the [first block](https://hiveblocks.com/b/38707240) that I signed on the chain which recorded v0.22.1, and the [last block](https://hiveblocks.com/b/41815781) that I signed on Steem, which shows that I accepted HF23 at a particular timestamp. >There probably are more operations that can be done Hive. There are more than 50 different operations on Hive, which can be found [here](https://gitlab.syncad.com/hive/hive/-/blob/master/libraries/protocol/include/hive/protocol/operations.hpp). Some of them were depreciated in previous hardforks, such as creating an account with delegation.
author | techcoderx | ||||||
---|---|---|---|---|---|---|---|
permlink | re-geekgirl-2020921t94931160z | ||||||
category | hive-167922 | ||||||
json_metadata | {"tags":["hive","blockchain","python","coding","stemgeeks","stemsocial","neoxian","ctptalk","posh","leofinance"],"app":"esteem/2.2.7-surfer","format":"markdown+html","community":"esteem.app"} | ||||||
created | 2020-09-21 01:49:33 | ||||||
last_update | 2020-09-21 01:49:33 | ||||||
depth | 1 | ||||||
children | 2 | ||||||
last_payout | 2020-09-28 01:49:33 | ||||||
cashout_time | 1969-12-31 23:59:59 | ||||||
total_payout_value | 0.108 HBD | ||||||
curator_payout_value | 0.112 HBD | ||||||
pending_payout_value | 0.000 HBD | ||||||
promoted | 0.000 HBD | ||||||
body_length | 810 | ||||||
author_reputation | 47,782,567,826,605 | ||||||
root_title | "Exploring Hive Blocks" | ||||||
beneficiaries |
| ||||||
max_accepted_payout | 1,000,000.000 HBD | ||||||
percent_hbd | 10,000 | ||||||
post_id | 99,735,649 | ||||||
net_rshares | 1,330,032,456,298 | ||||||
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
geekgirl | 0 | 1,330,032,456,298 | 100% |
Thank you for sharing. These are very useful. Do you know what `extensions` inside of transactions for? That operations list is great. Thanks. It even has virtual operations. Something I was going to look at next.
author | geekgirl |
---|---|
permlink | qgzmn5 |
category | hive-167922 |
json_metadata | {"app":"hiveblog/0.1"} |
created | 2020-09-21 02:52:18 |
last_update | 2020-09-21 02:52:18 |
depth | 2 |
children | 1 |
last_payout | 2020-09-28 02:52:18 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 213 |
author_reputation | 1,588,017,852,468,897 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,736,260 |
net_rshares | 1,483,385,268 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
techcoderx | 0 | 1,483,385,268 | 100% |
For some reason they are meant to be empty https://gitlab.syncad.com/hive/hive/-/blob/master/libraries/plugins/apis/condenser_api/include/hive/plugins/condenser_api/condenser_api_legacy_objects.hpp#L39
author | techcoderx | ||||||
---|---|---|---|---|---|---|---|
permlink | re-geekgirl-2020922t144431975z | ||||||
category | hive-167922 | ||||||
json_metadata | {"tags":["esteem"],"app":"esteem/2.2.7-surfer","format":"markdown+html","community":"esteem.app"} | ||||||
created | 2020-09-22 06:44:36 | ||||||
last_update | 2020-09-22 06:44:36 | ||||||
depth | 3 | ||||||
children | 0 | ||||||
last_payout | 2020-09-29 06:44:36 | ||||||
cashout_time | 1969-12-31 23:59:59 | ||||||
total_payout_value | 0.000 HBD | ||||||
curator_payout_value | 0.000 HBD | ||||||
pending_payout_value | 0.000 HBD | ||||||
promoted | 0.000 HBD | ||||||
body_length | 202 | ||||||
author_reputation | 47,782,567,826,605 | ||||||
root_title | "Exploring Hive Blocks" | ||||||
beneficiaries |
| ||||||
max_accepted_payout | 1,000,000.000 HBD | ||||||
percent_hbd | 10,000 | ||||||
post_id | 99,756,393 | ||||||
net_rshares | 0 |
Great Post Geek Girl
author | utopiaeducators |
---|---|
permlink | qh25mw |
category | hive-167922 |
json_metadata | {"app":"hiveblog/0.1"} |
created | 2020-09-22 11:37:45 |
last_update | 2020-09-22 11:37:45 |
depth | 1 |
children | 0 |
last_payout | 2020-09-29 11:37:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 20 |
author_reputation | -4,088,797,786,952 |
root_title | "Exploring Hive Blocks" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 99,759,354 |
net_rshares | -10,456,875,944,310 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
acidyo | 0 | -10,654,707,754,930 | -100% | ||
jaster | 0 | 197,831,810,620 | 100% | ||
hivewatcher | 0 | 0 | -0.08% |