Engineering Update - Week 3, Feb 2016

Simplification of terminology and repositories: Over the past weeks we’ve talked to a bunch of community members and taken feedback on how to best organize our Github repositories/code and also how to best describe some of the technologies being built here. Architecturally, we have (1) a server that interacts with the blockchain and builds the name database by processing the blockchain and then binds blockchain records with data records (data records can be anywhere e.g., a DHT) and (2) a client that interacts with the server over RPC and provides a client interface etc. The community members who gave feedback agree that it’d be much simpler to call these components simply “server” and “client” or more specifically blockstack-server and blockstack-client. A lot of functionality that was previously performed by Blockstore is now getting rolled into blockstack-server and any future server side functionality will simply go to the server. With this update we’ll be deprecating the blockstore terminology and updating our code and documentation accordingly. You’ll notice a bunch of updates on Github regarding this.

CLI is now open for feedback: Last week resulted in a lot of improvements and simplification of the upcoming CLI release e.g., check out issue #41. The CLI now merges the ‘preorder’ and ‘register’ step into a single ‘register’ step (and uses background processes to hide the complexity from the user). We’re now actively taking feedback from Blockstack community members on the CLI functionality – message in the #server channel on Slack and we’ll set you up with the latest development version!

New tutorials and documentation: Last week was also spent on preparing a bunch of new tutorials and documentations for the upcoming CLI release. The repository for this work is here and is a great place for community members to contribute and give feedback. Can’t wait for all the new documentation to go live!

SQLite migration for Server: We decided to upgrade our simple local-file based DB in the server to SQLite for scalability, better reliability, and for simplifying the codebase around DB operations. SQLite is one of the most extensively tested software components out there, making it a great choice for maintaining bindings in the virtualchain. This a major change in the server, since it involved touching the code parts that can be consensus breaking. This is on-going work and is now entering a test phase. We’ll post more details on this in the coming weeks.

Any comments, additions, or feedback to this week’s update are welcome!

Cheers,

– Muneeb

2 Likes