Docker 17.09 and up is required for this Dockerfile.
Install docker-ce following this reference: https://docs.docker.com/install/linux/docker-ce/ubuntu/
After docker installed,
sudo docker -v
should display docker's version
$ git clone https://github.com/consensolabs/syndlend-devops.git
The nodes see each other using the network map. This is a collection of statically signed node-info files, one for each node in the network. Most production deployments will use a highly available, secure distribution of the network map via HTTP.
In addition to the network map, all the nodes on a network must use the same set of network parameters. These are a set of constants which guarantee interoperability between nodes. The HTTP network map distributes the network parameters which the node downloads automatically
$ java -jar corda-3.3/network-bootstrapper.jar nodes
the command will generate nodes' directory for us as below:
$ tree -L 2 nodes
nodes
├── Agent
│ ├── additional-node-infos
│ ├── certificates
│ ├── corda.jar
│ ├── cordapps
│ ├── logs
│ ├── network-parameters
│ ├── node.conf
│ ├── nodeInfo-2224690BD0A834EDE0202AFF4A4EA2624BB043DA4464C5706203901F9E91F766 #generated
│ └── persistence.mv.db
├── Borower
│ ├── additional-node-infos
│ ├── certificates
│ ├── corda.jar
│ ├── cordapps
│ ├── logs
│ ├── network-parameters
│ ├── node.conf
│ ├── nodeInfo-96AADFD07507CB2398D111DCAA350A6874599F1FEAB9207D09F0224D9829839B
│ └── persistence.mv.db
├── Notary
│ ├── additional-node-infos
│ ├── certificates
│ ├── corda.jar
│ ├── cordapps
│ ├── logs
│ ├── network-parameters
│ ├── node.conf
│ ├── nodeInfo-65B670371BB5F63D25527A3C515AABFBE0B1380D11EB9DB82563E53012A232BA
│ └── persistence.mv.db
├── Lender
│ ├── additional-node-infos
│ ├── certificates
│ ├── corda.jar
│ ├── cordapps
│ ├── logs
│ ├── network-parameters
│ ├── node.conf
│ ├── nodeInfo-65B670371BB5F63D25527A3C515AABFBE0B1380D11EB9DB82563E53012A232BA
│ └── persistence.mv.db
└── whitelist.txt
- Check Dockerfile and docker-compose.yml (e.g. to adjust version or exposed ports)
docker-compose build
- to build base Corda images for Corda Nodedocker-compose up
- to spin up all Corda containersdocker exec -it Agent /bin/bash
- to log in to one of the running Node containers
At the moment java options are put into corda_docker.env. All the others are in Dockerfile/docker_compose.yml
You should be able to access all the RPC ports exposed by the nodes through docker containers. You can go ahead and launch the SyndLend client application.