sidetree-bitcoin
Blockchain-specific code for the Sidetree-based DID Method implementation on Bitcoin
Getting started
Our reference implementation of the blockchain service is based on bitcored. Here is the list of instructions to deploy Sidetree's extension code along with the bitcored service:
-
Install a Bitcored full node using instructions at this link. We reproduce their instructions below since we run bitcored with node v9 rather than v4:
-
Clone this repository to folder $(SIDETREE_BITCOIN_REPO)
and run the following:
cd $(SIDETREE_BITCOIN_REPO)/bitcored-services/sidetree
npm install bitcore-lib
-
Install insight UI:
cd $(BITCORE_DIR)
bitcore install insight-api insight-ui
-
Add a private key from a Bitcoin wallet to $(SIDETREE_BITCOIN_REPO)/bitcored-services/sidetree/config.json
-
Suppose that we install bitcored to $(BITCORE_DIR)
on $(NODE_IP)
, use the following instructions to add Sidetree's blockchain service:
cd $(BITCORE_DIR)/node_modules
ln -s $(SIDETREE_BITCOIN_REPO)/bitcored-services/sidetree
add the string "sidetree" to the services array in $BITCORE_DIR/bitcore-node.json
-
Start the bitcored
daemon by running:
cd $(BITCORE_DIR)
bitcored
-
Verify that the bitcored installation was successful by pointing the browser to: http://$(NODE_IP):3001/insight/
Once Sidetree extension is running in bitcored correctly, we can now build and run the Sidetree blockchain service that will be talking to our Sidetree extension running in bitcored:
- Clone this repo and go to the root folder.
- Run
npm i
to install dependencies. - Modify
json/config.json
accordingly. Some parameters of interest:
- Update
bitcoreSidetreeServiceUri
to point to the bitcored service configured earlier:
e.g. 'http://127.0.0.1:3002/SidetreeBlockchainService/'
- Run
npm run build
to build the service. - Run 'npm start` to start the service.