Friday, November 25, 2016

Secrets of the Blogchain: A Guide to Using steemd.com


Using steemd.com I will show you some secrets of the Steem blockchain, and hopefully encourage more interest in how it works. steemd.com, like steemit.com, is a front-end for the Steem blockchain. But instead of being meant for posting, commenting, and voting, it is more technically oriented towards being an explorer of the blockchain. It can show you raw blocks, transactions, and other otherwise hidden data about posts, accounts, and the network itself.

A quick glossary note: Steem is the decentralized blockchain network and Steemit is both the name of the current flagship front-end website and the company Steemit Inc which has built it and continues to be the primary maintainers of it, as well as being holders of the majority stake of Steem Power.

steemd.com is coded and run by Steem witness @roadscape. To avoid confusion I suggest referring to it as "steemd.com" and not simply "steemd" because steemd is the name of the Steem node software.

I have used Steem and steemd.com since April and I know my way around it. To bring Steem(it) users up to speed with the technology behind it, I have written this guide.

steemd.com Front Page 



At the top, the front page shows links to the witness list, distribution page, and "create account" which links to steemit.com with a referral code. In the left column it shows the most recent posts on the Steem network, with the newest ones first. In the right column it shows Steem network information and statistics. This info box shows most of the info/stats that will output when you use the info command in the command line cli_wallet.

Below that info box, it shows the current week's median price of SBD/STEEM. This is the approximate USD/STEEM price feed set by Steem witnesses, on a rolling weekly median.

Underneath that, there are the streems, where you can view posts under certain trending topic tags.

If you click the account name [1], you will be taken to the account's page https://steemd.com/@accountname. This page shows most of an account's history in reverse chronological order going back to its creation. If you click the timestamp [2], you will be taken to that post's individual page where you can also view its comment replies. If you click the small link icon [3] in the upper right of the box, you will go to the post's steemit.com page for easier reading and voting. And here's where the exploration starts! If you click the advanced mode [4] link, you will get to see extra details of each post and comment.

Tip: If you're on any post page on Steemit, you can change the URL from steemit.com to steemd.com to view it on the explorer. For Chrome users, there is also this simple bookmark method from @bitcoiner: [Steemit ↔ Steemd] - Quickly Switch Between Steemit.com and Steemd.com or Greasemonkey script for Firefox.
Advanced Mode
When advanced mode is clicked, it will show more info about each post and comment. This setting will stay the same with a browser cookie, and can be disabled by clicking the advanced mode link again.



Below the post on the left, advanced mode gives you comment and vote cli_wallet commands [5] in case you want/need to vote or comment like a hardcore hacker. ;) Click the "your-acct" link in either command to change the default name to your account name. This setting will stay the same as well.

Below the post on the right is a column full of technical data regarding the post. Some of the labels' meanings you can infer and the rest of it is outside the scope of this guide, but now you know where to find it! We'll go to the vote details [6] next.

Vote details


The vote details shows you the people who voted, listed in order of voting. It shows the weight of each vote (this determines curation rewards), the rshares contributed from each vote, the percent of voting strength that was used, and the network timestamp for the transaction.

In terms of the weight percent (wgt%), you'll notice that if you add the column up, it doesn't add to 100%. But when you add the author_curate_reward from above, it totals to 100%! The author curate reward is the amount of curation rewards donated to the post author by reverse auction. Votes made in the first 30 minutes of a post's existence donates a portion of the voter's curation rewards to the post author, proportionally to the time from 0 minutes old. For instance, a vote made at a post age of 15 minutes donates 50% of the voter's curation rewards.

Account Page
A steemd.com account page is a powerful tool for viewing almost all activities of a Steem account. The only blockchain activity I can think of that it doesn't track is block creation.




In the left column you see technical data and statistics about the account. It's the same info you receive when you use the get_account command in cli_wallet, but arranged much nicer.

One particularly useful thing here is highlighted with a red box: the account's voting power. When you make a vote in Steem, assuming it's at 100% strength, it will deplete 0.5% of your current voting power. The math is tailored to give you about 40 votes per day without seeing depletion of this power over time. People that are voting manually and casually generally don't need to think about this. The voting power mechanism is in place to minimize the effect of overvoting.

At the right you see a feed of all blockchain actions relating to your account. Both transactions made by the account and most transactions that affect the account (like comment replies, votes for posts/comments, or transfers of funds) are listed. In the upper right it shows the account's Steem Power, denominated in the internal Steem unit of (M, for million]VESTS) and amounts of liquid STEEM and SBD currencies.

Each Steem account on steemd.com gets a unique avatar, generated based on the account name. These used to be robot icons from robohash.org. I hope those will come back some day! This is/was mine

Also shown is the account's metadata, owner key history (useful for seeing possible account breaches), authorizations/keys, then witness data, and finally the account's witness approval votes below everything else:


For an explanation of account keys and the permissions they have in Steem, you can see my post explaining them here: A User's Guide to the Different Steem Keys or Passwords.
Transactions
One powerful part of this page that is often overlooked is the transaction mini-hashes next to almost every action.


Click one and you will be shown the raw transaction. Here is one for a comment:




Note Edits to posts or comments are not distinguished from new ones on steemd.com account pages.

If you wish to see any transaction and have its hash, you can put the hash after this URL: 
https://steemd.com/tx/. The transaction example above is https://steemd.com/tx/c0c71f904c6f38189454f4ced74b469988a404e8
Blocks
If you wish to view the data and transactions for any block number, you can do it by putting the block number after this URL: https://steemd.com/b/. For example, the block that the above transaction was included in is https://steemd.com/b/7034895
Click "Show raw block data" for extra data about the block you are viewing. This will show the same data as you will get when you use the get_block command in the cli_wallet.

Witnesses Page
The witnesses page shows the list of witness from the top 19 full-time block producers down to the 100th.


On the left is the witness list. It shows every account that has produced a block in the last round in bold text. This means the top 19 witness accounts are bolded and one of the backup witnesses is bolded. On the right is the mining queue, where the last miner account to leave the queue is bolded because it too has produced a block.

Next to each witness account name is:

  • Approval - number of MVESTS (internal Steem Power unit) voting for the account as a witness.
  • % - percent of total Steem Power in the network voting for the account.
  • Miss - number of blocks that were scheduled for the witness but were not produced
  • Last block - the last block number the witness produced.
  • URL - Witness URL, a link to a post they've made to say why they are a witness to vote for.
  • RegFee - What the witness has set as a minimum amount of STEEM to create an account. This is a network variable set by the witnesses with the update_witness command.
  • Feed - Witnesses are expected to provide a reliable price feed, to reflect the market price of US dollars per STEEM. This is also a network variable set by witness with the publish_feed command.
  • Bias - In case the witness wants to use a different denomination of STEEM to set the feed price. Currently, the peg of SBD is helping to be maintained by setting the biases to around 10% higher (varies by witness). Also a part of the publish_feed command.
  • APR - Annual percent return on SBD. Another network variable set by witnesses with the update_witness command.
  • Block Size - Another network variable that sets the maximum size in bytes that a block can be. Currently witnesses have set it to 65536 with the update_witness command, following the Steem network where the size was chosen for spam attack reduction.
  • Version - Displays the release version of steemd that generated the account's last successful block.
In the upper right is the participation stat. It's a percentage of witness who have produced their recently scheduled blocks. This will be at 100% unless one or more witnesses have missed some blocks recently. For an individual node this is a good indicator of being on an accidental blockchain fork. For steemd.com it can indicate if there is a significant fork affecting multiple witnesses. This is rare but has happened in Steem a couple times.

Distribution


The distribution page linked at the top everywhere on steemd.com shows you statistics about different accounts with different-sized stakes. It gives an idea of the recent activity of users based on their stake and also provides a visual scale of the stake controlled by accounts within the thresholds. The labels and thresholds are arbitrary, made up by @roadscape. A fun easter egg on this page: add ?fishy=yes to the end of the URL. :)

This page also displays the current rate of STEEM per MVESTs, and the approximate US dollar value of each MVEST. Internally in the blockchain, an account's Steem Power is denominated in VESTS, and the Steem Power amount you see on the account's Steemit wallet page is MVESTS times the STEEM per MVEST number seen here and also on the top right of the steemd.com front page.

Secret Hidden Pages

These pages aren't linked from anywhere on steemd.com that I know of, but here they are.
Richlist


Shows the accounts with the most Steem Power (left), the most liquid STEEM (middle), and the most SBDs (right).

Checkpoints


Shows blocks and their hashes from the last 8 hours, in a format that can be easily added to the steemd config.ini as checkpoints. Below this are a handful of Steem seed nodes, also in a config.ini format.

Fales


This mostly shows tech data available elsewhere, but at the bottom it shows you the current round's witness schedule. The name of this page is a mystery befitting a Sherlock Holmes novel.

I hope this guide has helped you to use this excellent Steem chain explorer tool. I also hope you've learned something about Steem after reading it too! If you are just a little bit more enlightened about the magic of how this software works, I would appreciate a vote for me as a witness. While you're there, consider a vote for @roadscape too for developing and running steemd.com.

Author: @pfunk
 
'
SteemDaily © 2016. Member of Steemit Community.