Problem
Currently the components of the Blockstack ecosystem have confusing naming that does not highlight delineation/borders between the components. This makes getting started with the platform significantly more difficult than it should be. Blockstack has built a working, scalable, feature rich system for Application developers. To drive wider adoption we need to reduce the mental overhead of getting started with the platform. We can accomplish this by bringing our naming closer to the common idioms in blockchain command line tooling.
Components of the system
From a deployment and infrastructure point of view the following components are used in our system:
-
blockstack-browser- Serves the user interface
- Communicates with the
blockstack apito complete name operations and auth
-
blockstack- Command line interface for communicating with the
blockstack apiandblockstack-core.
- Command line interface for communicating with the
-
blockstack api- User friendly interface on
blockstack-core - Proves a programatic way to interact with Blockstack core
- Documentation
- User friendly interface on
-
blockstack-core- Communicates with a
bitcoindnode and by reading the blockstack virtual chain creates an index of all domain names in the system. - Exposes an API that
blockstack apiinteracts with. - Blockstack production deployment running at
node.blockstack.com
- Communicates with a
-
"the flask app"- A wrapper to make
blockstack apimore performant and safer to expose to the open internet. - Enables a light clients to connect to the network in a safe and performant way.
- A wrapper to make
Proposal
Updating the naming to take into account the additional complexity introduced by the addition of the flask app. We could think about the components as follows:
-
blockstack api->blockstackd -
blockstack-core->blockstack-indexer -
"the flask app"->blockstack-api
Architectural diagrams describing the current setup are below with the new and old names. I would love some feedback on this.
Running on a Laptop or Desktop
Run your own full Blockstack installation
Support for both the Desktop usecase and the Light Client Usecase



)



