2015-08-25 16:57:51 -04:00
2015-08-11 14:53:29 -04:00
2015-06-16 11:30:55 -04:00
2015-08-11 14:53:29 -04:00
2015-08-25 16:57:51 -04:00
2015-08-07 14:11:04 -04:00
2015-08-18 16:54:19 -04:00

Blockstore: A Key-Value Store on Bitcoin

Slack PyPI PyPI

Blockstore is a generic key-value store on Bitcoin. You can use it register globally unique names, associate data with those names, and transfer them between Bitcoin addresses.

Then, you or anyone can perform lookups on those names and securely obtain the data associated with them.

Blockstore uses the Bitcoin blockchain for storing name operations and data hashes, and the Kademlia distributed hash table for storing the full data files.

Installation

The fastest way to get started with blockstore is to use a docker image:

docker run -it --entrypoint=/bin/bash blockstack/blockstored

The docker image comes pre-populated with a snapshot that was processed till a recent block and you won't have to process all the blocks yourself (takes time). Alternatively, you can install a version on your machine directly:

pip install blockstore

Getting Started

Start blockstored and index the blockchain:

$ blockstored start

Then, perform name lookups:

$ blockstore-cli lookup swiftonsecurity
{
    "data": "{\"name\":{\"formatted\": \"Taylor Swift\"}}"
}

Next, learn how to register names of your own, as well as transfer them and associate data with them:

Full usage docs

Design

Design decisions

Protocol details

Definitions

FAQ

Contributions

The best way to contribute is to:

  1. decide what changes you'd like to make (you can find inspiration in the tab of issues)
  2. fork the repo
  3. make your changes
  4. submit a pull request

Code contributors

Full contributor list

License

GPL v3. See LICENSE.

Copyright: (c) 2015 by Blockstack.org

Description
No description provided
Readme GPL-3.0 130 MiB
Languages
Rust 94.6%
Clarity 2.4%
TypeScript 2.3%
Shell 0.5%