Here is the representation of a block provided by Steemit Inc's database.
Notice anything? AGAIN!!! NO BLOCK NUMBER.
The block doesn't have a block number. Mind officially fucking blown at this point.
Mind you, if you look at the transactions each one of those has a block number (obviously all the same one), so I could retrieve it from there. But what about blocks that have no transactions? My code will throw an error.
In the end it's pretty obvious that I'm just going to have to download the entire blockchain myself because Steemit has no idea what the fuck they are doing.
I wonder how much farther along we'd be if @dan was still here. I can certainly see why he left. Funny though how he hasn't solved a single one of the governance problems of DPOS when he built EOS. Steem is still primed to decentralize faster while maintaining a good amount of scalability.
It's not intuitive, but the first four bytes (eight hex characters) of the block_id are the block number. Just take the first eight chars of it and unhexlify it to an int and that's the block number.
Basically, all the blocks IDs are a zero-padded blocknum + the block's hash.
This means that the block IDs sort sequentially when sorted lexicographically, which is not a property that most block identifiers have on other blockchains, being randomly distributed within the hash space.
Thank you, Steem Wizard.
Now, how do you determine the block that a discussion was posted/rewarded on, because this is actually all that matters.
Do you have a server? I looked for you in the top 100 but you're not there.
https://steemd.com/witnesses
Nope just trying to make due with what I'm given, which apparently isn't much.
If Steem hits $100 maybe I can get a server and pay you to run it. lol
I have a website but I don't think I could use that server to run Steem blockchain.
I imagine that Steemit INC will be forced to fix a lot of this after they release SMTs. What else are they gonna do?
I think they got really lucky with this hardfork. I think it's working flukishly well. Perhaps more luck than skill involved but hard to say.
I'm still not sold on SMT's. I don't plan on getting any.
I thought busy.org was going to be the savior of the Steem blockchain but now I'm not sure. I think the near term will be interesting. I expect the Steem price to rise.
"Bruh, you have a timestamp, just convert that shit into UNIX time and build an equation that converts UNIX time to a corresponding block number. They happen every 3 seconds. It shouldn't be hard. I'm simply fostering the development of the development community." -@ned, probably.
It's needlessly complex and painful for devs. The job of Steemit is to make it easy for devs to adopt Steem.
Most importantly you forgot to mention that someone got a (block) producer reward for it.
Is curie the producer of this block?
True, Im pretty sure the producer reward is stored as a virtual transaction.
Now you have discovered, and proved why i haven't jumped into the ring to help out programming in STEEM.
Imagine trying to write a search algorithm. Because we really need to be able to search @papa-pepper & #contest
However, the way it is laid out, you just go crawling back through all the blocks until you get 20 matches. Not terribly useful, and not very server friendly.
PSA: This is not about Steem (steemd), it’s about pinging an API on someone else’s full node that they are offering you for free. We emplore you to run your own node and get all the blockchain data you wish — running a node would be good for the ecosystem too.
I agree, I absolutely should download the blockchain. At the same time I'm also offering a preview of the thousands of developers who will join us later.
Wow awesome, Ned noticed your complaint. Congrats :)
Ha yeah I'm sure he appreciates me bashing the platform and tagging the abandoner.
Shame he could not be bothered to give you a vote though.
Wouldn't that be an admittance of incompetence? Notice how he uses the trigger word "free" as if it's okay that the software sucks because it's not being paid for.
As if it would be so hard to include the block numbers with Objects that describe the blockchain.
ERM incompetence is NED.
echo $(( 0x$(http -j post https://api.steemit.com jsonrpc=2.0 id=1 method=condenser_api.get_block params:=[999] | jq -r .result.block_id | colrm 9) ))