Blockstack Core 19 Released

Hey Blockstackers!

Today we’re proud to release Blockstack Core 19! This release is mainly a house-keeping release, and includes a lot of internal refactoring (full changelog can be found here). This release does not change the consensus rules, and is backwards compatible with Blockstack Core 0.17.x, and 0.18.x.

There are a couple of user-facing changes of note:

New Blockstack CLI

This release removes the deprecated Python-based Blockstack CLI in favor of a new CLI written in Node.js. The old CLI had this coming for some time – it duplicated most of the functionality of blockstack.js, the transaction broadcaster and the Gaia hub. This release simply finalizes a long-running refactoring plan that gives us a cleaner, simpler architecture.

In removing the old CLI, this release drops support for the ~/.blockstack directory and legacy CLI wallets. The new CLI will never have a wallet of its own. However, you can use the new CLI to manage names owned by your old ~/.blockstack/wallet.json wallet by using the old CLI’s blockstack wallet command to extract your owner and payment private keys.

Combined P2P and API Servers

The other user-facing change in this release is that a Blockstack Core node now implements both the Blockstack P2P protocol (Atlas) and the RESTful API in the same process
It is no longer necessary to start up a separate API daemon; this is now built-in to the Blockstack Core node itself. This makes it much easier to deploy hosted Core nodes.

Getting Started

You can get the latest release from PyPI or from source. Starting up a Core node is relatively straight-forward and takes only a few minutes with the fast_sync feature.

$ # move your old Blockstack Core state out of the way, if you have any
$ mv ~/.blockstack-server ~/.blockstack-server.old
$ blockstack-core fast_sync   # pass --debug for verbose output
$ blockstack-core start  # pass --debug for verbose output

That’s all there is to it. Happy blockstacking!


Great to see the new Node.js CLI released! Anything that can be written in JavaScript, will eventually be written in JavaScript :wink:


:+1: @jude and Blockstack Team.