Blockstack is a new decentralized internet where you own your data and your apps run locally without remote servers.
Blockstack provides decentralized services for naming/DNS, identity, authentication and storage. Developers can use JavaScript libraries to build serverless apps and they don't need to worry about managing infrastructure.
For more info on Blockstack see: http://github.com/blockstack/blockstack
Blockstack Core is the reference implementation of Blockstack. It is responsible for processing blockchain transactions, creating virtualchain state, and building the peer network amongst other things. Blockstack Core provides a RESTful interface for clients and also comes with a command-line-interface (CLI).
There are two major supported methods for installing blockstack
: our apt
repo or a pip install
.
You should use pip2
if you have it instead of pip
. Blockstack is built against Python 2.7
.
For Mac:
# Install blockstack
$ pip2 install blockstack --upgrade
For Debian & Ubuntu:
# Install dependancies
$ sudo apt-get update && sudo apt-get install -y python-pip python-dev libssl-dev libffi-dev rng-tools libgmp3-dev
$ sudo pip2 install pyparsing
# Install blockstack
$ sudo pip2 install blockstack --upgrade
For SUSE and openSUSE:
# Install dependancies
$ sudo zypper update && zypper install rng-tools gcc python-devel python2-pip libffi-devel libopenssl-devel
# Install blockstack
$ sudo pip install blockstack --upgrade
To install the blockstack-browser
, follow the instructions over on the repository.
# Add our apt repository
$ wget -qO - https://raw.githubusercontent.com/blockstack/packaging/master/repo-key.pub | sudo apt-key add -
$ echo "echo 'deb http://packages.blockstack.com/repositories/ubuntu/ xenial main' > /etc/apt/sources.list.d/blockstack.list" | sudo -E bash -
# Install blockstack
$ sudo apt update && sudo apt install blockstack
To install the blockstack-browser
, follow the instructions over on the repository.
If this is your first time installing blockstack first run blockstack setup
and follow the prompts. Use the defaults for all of the options.
NOTE: This process generates a wallet. BE SURE TO SAVE THE WALLET PASSWORD YOU TYPE IN.
Next you need to start the blockstack api
server:
$ blockstack api start
Now, you can test your installation by trying:
$ blockstack info
which should display the last block processed and the latest consensus hash.
After installation, you can (optionally) do a fast-sync that quickly syncs a local blockstack-core
node with the Atlas network:
# Download the Atlas snapshot
$ blockstack-core --debug fast_sync http://fast-sync.blockstack.org/snapshot.bsk
And start Blockstack Core to index the blockchain:
# To start the server
$ blockstack-core --debug start
# Read the server logs
$ tail -f ~/.blockstack-server/blockstack-server.log
Next, visit the basic usage docs and extended usage docs to learn how to register names of your own, as well as transfer them and associate data with them.
If you encounter any technical issues in installing or using Blockstack, please search the open issues and start a new one if your issue is not covered.
Our integration test suite allows you to easily get a regtest environment up and running with Blockstack, and the above apt
package includes the suite. However, you'll need to install bitcoind
and sqlite3
for the tests to execute properly. For that you'll need to add bitcoin's PPA (or install it otherwise).
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:bitcoin/bitcoin
$ sudo apt update
$ sudo apt install sqlite3 bitcoind
v0.14.2 is the current stable release of Blockstack Core (available on the master branch).
v0.14.3 is the next release candidate for Blockstack Core (available on the v0.14.3 branch).
Most of the development is happening in the v0.14.3 branch. Please submit all pull requests to that branch.
In the list of release notes you can find what has changed in these versions.
You can learn more by visiting the Blockstack Website and checking out the in-depth articles and documentation:
- How Blockstack Works
- Blockstack vs. DNS
- Blockstack vs. Namecoin
- Blockstack Namespaces
- Blockstack Light Clients
You can also read the Blockstack paper:
- "Blockstack: A Global Naming and Storage System Secured by Blockchains", Proc. USENIX Annual Technical Conference (ATC ’16), June 2016
If you have high-level questions about Blockstack, try searching our forum and start a new question if your question is not answered there.
A local core node will expose a RESTful API after starting the api with blockstack api start
.
Documentation for that lives here, which is generated from blueprint markdown here.
We welcome any small or big contributions! Please take a moment to review the guidelines for contributing to open source in order to make the contribution process easy and effective for everyone involved.
Developers: You can try out Blockstack Core in a local sandbox using our integration test framework.
You can install the latest release candidate by:
$ git clone https://github.com/blockstack/blockstack-core.git
$ blockstack-core/images/scripts/debian-release-candidate.sh
We have an active community of developers and the best place to interact with the community is:
- Mailing List (3,000+ members)
- Blockstack Forum
- Live chat on Slack (2,400+ members)
The code and documentation copyright are attributed to blockstack.org for the year of 2017.
This code is released under the GPL v3 license, and the docs are released under the Creative Commons license.