The Handshake Block Clock

Mempool Transactions

Unconfirmed transactions are drawn as spirals around the outside of the clock face. Click on a transaction spiral to open it in a block explorer. Only the outputs of the transaction are shown, colored by covenant type:
NONE (white) CLAIM (pink) OPEN (orange) BID (blue) REVEAL (red) REDEEM (yellow) REGISTER, UPDATE (green) RENEW (violet) TRANSFER, FINALIZE (cyan) REVOKE (grey)


Blocks are represented by their hash, expressed in binary. The colors in the image are derived from the hash itself. They are labeled with their height in the blockchain and time since they were received by the server's hsd node. The most recent block hash (chain tip) is also copied into the browser tab's "shortcut icon". Blocks "tick" around the outside of the clock, which represents 60 minutes of recent chain history. Click a block to open it in a block explorer. The current block hash and its colors are:

The Urkel Tree

The Urkel Tree is the data structure that stores the Handshake root zone. It is updated every 36 blocks on mainnet with all the namestate data from the last 36 blocks worth of transactions. The Urkel Tree root hash is committed to each block header. In the image, the tree is represented by a fractal pattern. The size of the tree is derived from the number of blocks passed in the current tree interval from 0 to 36. The color is derived from the tree root hash itself, and the fractal "angle" parameter is also derived from the hash. The current tree root hash, its color and fractal angle are:

The Halvening

Currently on mainnet, every new block generates 2,000 HNS for the miners. This value reduces by half every 170,000 blocks (about 3.25 years). The wedge in the lower half of the clock shows this progress by filling up the half-circle. The colors in the wedge are derived from...

Difficulty Adjustments

Handshake mining difficulty is adjusted after each block, targeting a block emission rate of 10 minutes (specifically, 144 blocks / day). The difficulty target of each block is committed to in each block's header in a compact format. Lower numbers are "harder" and indicate an increase in network hashpower. Because the first byte (ignored by the image) represents an exponent of sorts, there may be a sudden jump in the colors when it rolls over. The "bits" value of the last 20 blocks and their colors are:

Source Code

Source code for this website is hosted on GitHub. Because the data in the visualizer is only derived from block headers, the server only needs to run hsd in SPV mode, and without a wallet! If I decide to include mempool data in the clock, I will need to upgrade to a Full Node.

Donate Bitcoin or Handshake:

These addresses are signed

BTC: bc1qq4hhuusn3m8fzd47w3tjvltvr9klv88rpt6ssq

HNS: hs1qde7jaw6qgzzfu83upn3twvsyhh0zrshg76qe0x