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!

5 Likes

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

2 Likes

:+1: @jude and Blockstack Team.