Hi, my name is @jude and sometimes I like to stay up late and make ugly architecture diagrams.
This is the high-level description of what pieces go where when you run Blockstack. The dark purple areas belong to blockstack-cli
, which is what you install with pip install blockstack
. As of right now, this gets you a CLI tool, the resolver code (some assembly required to use it), a background process that manages your wallet and broadcasts your registration transactions, and a suite of drivers for interacting with various storage systems and UTXO services.
By the end of Q1 2017, the boxes marked “indexer” and “virtualchain” will be included in the Blockstack tool you download. Right now, they are not installed by default, but are packaged as blockstack-core
.
For the time being, we run a set of these indexer nodes behind node.blockstack.org
. They crawl the Bitcoin blockchain and serve your client name ownership and consensus information. You can optionally run your own server locally today, but you’ll have to point your Blockstack tool to it by editing your config file at ~/.blockstack/client.ini
.
Blockstack craws Bitcoin nodes configured with txindex=1
. This is not a Bitcoin feature that’s turned on by default, so we run a set of public nodes at bitcoin.blockstack.com
that the Blockstack tool uses by default (the orange region). As with the indexer node, you can optionally point your Blockstack tool to your own Bitcoin node by editing the config file. You will have to have full transaction indexing turned on to use it.
The RESTful API box is in the works for Q1 2017. It will provide a unified API for accessing all features of Blockstack. More documentation on this API is being developed here: https://github.com/blockstack/blockstack-desktop-specs/blob/master/README.md. This will be the successor to api.onename.com.