This bundles the pipeline for creating and issung Blockcerts. It can be used as a standalone linux machine in which all the Blockcerts components and dependencies are properly installed and pre-configured.
To get the image, you can pull it or build it yourself
~$ docker pull florentdufour/cert-bundle:latest
To build the 🐳 image, clone and cd ino the directory, then:
~$ git clone https://github.com/f-dufour/cert-bundle.git
~$ cd cert-bundle/
~$ docker build -t cert-bundle:latest .
- Image size without compiling bitcoin or Berkelydb: circa. 569MB.
- Image size with bitcoin and Berkleydb: circa. 3.76GB.
cert-bundle requires the bitcoin blockchain to be available. The blockchain (circa. 250 GB) can be stored on an external hard-drive. The hard-drive has to be mouted inside the container, at the /root/.bitcoin
location. the file bitcoin.conf
can be provided as well through the mounted drive.
Once the docker image is build, one can run it in interactive mode. Edit launchImage.sh.template
and rename it launchImage.sh
With the helper script:
~$ chmod +x launchImage.sh
~$ ./launchImage.sh
- You can now launch the bitcoin core server:
~# bitcoind
It will start downloading the bitcoin chain as set in bitcoin.conf
- Verify that bitcoin is ready to go
~# bitcoin-cli getbalance
You will need at least 133500 satoshis
- Configure cert-issuer
- In
/cert-issuer/conf.ini
, add the public key obtained withbitcoin-cli getnewaddress
in the first field. - Add the associated private key in
/cert-issuer/private.key
withbitcoin-cli dumpprivkey YOUR-PUBLIC-KEY-HERE
-
Modify
/cert-tools/conf.ini
and/cert-issuer/conf.ini
to suit your needs -
Create template
~# create-certificate-template -c /cert-tools/conf.ini
- Instatiate template
~# instantiate-certificate-template -c /cert-tools/conf.ini
- Issue certificates
~# cert-issuer -c /cert-issuer/conf.ini
Blockchain certificates are located inside /cert-issuer/data/blockchain_certificates
, CONGRATS !
Software | Version |
---|---|
Ubuntu | 18.04 |
Bitcoin | 0.18.1 |
Berkeley DB | 4.8.30.NC |
Blockcerts | v2 |