Quick deploy docker scripts for running a private network
Operating System: Ubuntu 16.04 64-bit or higher
Tools: Docker, Docker Compose
Hardware:
Hardware | Minimum | Desired |
CPU's: | 2 | 4 |
Memory: | 4 GB | 8 GB |
Storage: | 100 GB | 500 GB |
Following network ports need to be open for the nodes to communicate
Port | Type | Definition |
21001-2100* | TCP/UDP | GETH |
22001-2200* | TCP | RPC |
23001-2300* | TCP | RAFT |
9001-900* | TCP | Constellation |
*-auto-increment depending on number of nodes
git clone https://github.com/XinFinorg/XDC01-docker-Nnodes.git
sudo ./install_docker.sh
sudo docker pull xinfinorg/quorum:v2.1.0
cd static-nodes
sudo ./setup.sh
Enter number of nodes, private IP of host machine & unique docker subnet. You can view private IP of your machine using
ifconfig
.To Check private IP address(internal (network) IP address) on Ubuntu GUI:
- Open the Activities overview and start typing Network.
- Click on Network to open the panel.
- Choose which connection, Wi-Fi or Wired, from the left pane.
- The IP address for a wired connection will be displayed on the right.
- Click the settings button to see the IP address for the wireless network in the Details panel.
sudo docker-compose -p <PROJECT_NAME_STATIC_NODE> up -d
Replace with your project name.
sudo docker exec -it PROJECT_NAME_STATIC_NODES_node_1_1 geth attach /qdata/dd/geth.ipc
sudo docker-compose -p <PROJECT_NAME_STATIC_NODE> down
Install docker & pull image on the new host machine as done earlier in Step 1 & 2
cd dynamic-node
sudo ./setup.sh
Enter the public IP of the new host machine (private IP in case of local setup, assigned by router) Enter the node number (e.g. if you have 3 nodes up with the initial setup then node number here would be 4)
Copy enodeID from enode-url.json then attach to geth console of any running node & execute
raft.addPeer(enodeID)
Start the new node
cd dynamic-node
sudo docker-compose -p <PROJECT_NAME_DYNAMIC_NODE> up -d
Pull newer version of image from docker hub
sudo docker pull xinfinorg/quorum:v2.x.x
Stop containers running old version
sudo docker-compose -p <PROJECT_NAME_STATIC/DYNAMIC_NODE> down
Update docker-compose.yml to use new image (specify quorum:TAG_NAME as argument)
sudo ./update_quorum.sh quorum:v2.x.x
Run new version
sudo docker-compose -p <PROJECT_NAME_STATIC/DYNAMIC_NODE> up -d
Join our Telegram Developer Group and put up your queries or raise issue in Github to get answer. We would love to answer your questions.
Last modified 4yr ago