What's in a hive block?

in #hive9 days ago


Hi, I'm aggroed. I founded the Peace, Abundance, and Liberty Discord. I founded the group the Minnow Support Project within it. And I founded MSP-Waves as a streaming internet broadcast studio. I Steem Monsters, which later became Splinterlands. I founded Hive-Engine. I founded nftshowroom, Farm Farmer, Mythical Farm, and have some other projects brewing. I've been on Hive a while, and I sometimes take for granted that people know me. You may not. Anyway, that's what I've been up to and that's a quick retrintroduction.

Relatively early in my career I started witnessing blocks for Hive. Hive doesn't have mining so adding new blocks to the chain isn't really block production so we have a different name. We call it witnessing. Witnessing is done by servers elected to do it. There are 21 servers that do this in a round. 20 of the servers are from witness servers with the most votes. 1 server is a backup server that's on rotation.

Every 3 seconds another block is added to the chain. It has a bunch of information in it. It's the total of all the stuff that happened on chain in those last three seconds. I thought it might be helpful for you to get a quick thought of what's in a block.

I'm a witness. At the time of this writing I witnessed block 51,528,720. Let's see what's in that.

You can see the raw data here: https://hive-db.com/block/51528720


This first part has the id sm_find_match. that's part of the Splinterlands game. That is broadcast when a player wants to start a match.

This operation is a FeedPublish. That's when a witness server updates their price feed. This maintains how the block treats the ratio of HBD to HIVE. Here you can see the cervantes witness update their price feed.


Here's an sm_team_reveal. This is a transaction where a Splinterlands player reveals their team so the Splinterlands game can initiate a battle and determine who wins.


This is an sm_submit_team. It's after a match has been found in Splinterlands and players are selecting their teams to fight.


This action id is an sm_surrender. This happens when a player chooses to surrender a match.

This action is a vote. @d-zero was voted on by @vimukthi. Gratz bud on the upvote!


Here's a transfer from richjr to orinoco for 5.468 HBD.

I left out a bunch of repeats, but hopefully that gives you a sense of some of the stuff that can be in Hive Blocks.


So if someone writes a 1000 word post does that all get posted to the same block and is there a limit to the block size?

Now that I have you, hope you don't mind me asking this here. Is there a link to steam-engine as it is no longer on the Steempeak interface?

A post has to fit within one block to be published. Currently witnesses are voting to set the upper limit on block size as "maximum_block_size": 65536 characters

Thanks for your answer. So if one was to go over that size would it be refused or is there a way to split it to make two blocks?

It would be refused. You would need to manually split it into multiple posts or comments. Simplest thing would be to add a comment underneath, I guess.

Thank you for clarifying. Good to know for when I publish my memoir.

Hello friend, I know that this does not go according to the publication, but when are you going to publish something about the game of Farm farmer update or something.

Hey 🚀
Thank you for the mention 😄

Kind of nice seeing the information, after three and a half years I think that is the first time I have seen something like that.

Nice to know. Thanks for the info

Woah, this is all so fascinating. Thanks for explaining. I don't even know where to begin asking questions.
Also a huge thank you for the vote!

Thank you for explaining what a witness is. Do you know who I should vote for? Another post said to vote for @deathwing and @hextech (@rishi556).

This is a fantastic breakdown thank you for this!