Automated setup to deploy and manage Symbol testnet nodes.
If you were running a peer node:
1) change to peer-assembly directory
2) Stop running services (run command "docker-compose down")
3) Change to outside the testnet bootstrap tool directory
3) Delete directory symbol-testnet-bootstrap/ OR catapult-testnet-bootstrap/ (if coming from the older generation)
4) Delete your image cache by running "docker system prune -a" (confirm "y" if prompted)
If you were running an api node:
1) change to api-harvest-assembly directory
2) Stop running services (run command "docker-compose down")
3) Change to outside the testnet bootstrap tool directory
3) Delete directory symbol-testnet-bootstrap/ OR catapult-testnet-bootstrap/ (if coming from the older generation)
4) Delete your image cache by running "docker system prune -a" (confirm "y" if prompted)
ℹ️ Over time as you upgrade to new versions old versions can take up space on disk. If you run into disk issues b/c of this you can delete all old versions by running docker system prune -a
which will ask you to confirm y/n
. NOTE: this will delete all cached docker images so if you are doing any development with other images it will delete those as well and you will have to re-download
<root>/identity
folder that contains the certificate/key files.
The setup scripts are automated using docker. To run a test net node, you will need to have installed the following docker tools:
ℹ️ The release images target modern x86 architectures. It has been reported that errors are experienced on some older machines provided. If you run into any related issues, please report in the slack group (#help).
- Download the latest release of the package, or clone the repository directly using Git.
git clone https://github.com/nemfoundation/symbol-testnet-bootstrap.git
- Choose the assembly distribution to install.
cd symbol-testnet-bootstrap/api-harvest-assembly
or...
cd symbol-testnet-bootstrap/api-assembly
or...
cd symbol-testnet-bootstrap/peer-assembly
In short, if you want to be able to interact with your node, you need to run the API assembly. On the other hand, if you want a node dedicated exclusively confirm transactions, deploy the peer assembly. You can read more about each assembly here.
- Run the node with docker-compose.
sudo docker-compose up --build --detach
You should see docker downloading the container images for the first time. Then it should run the setup and finally startup the service.
To stop all the running services, run sudo docker-compose down
in the same directory you executed the up
command.
The Peer assembly will set up a Peer only node.
ℹ️ The server needs to have port 7900 open and available to connect to else it will not be able to connect with other nodes in the network.
The API harvest assembly will set up a Dual purpose API and Peer node, as well as the REST gateway that transactions can be submitted to and data read from.
You can verify that the node is running by opening a new browser tab with the following URL: localhost:3000/chain/height
.
ℹ️ The software should expose the port 3000
by default. If you cannot access the REST Gateway from outside, it might mean that the port is closed by default by your machine or hosting provider so you will have to open it in order to access from outside the machine.
ℹ️ API nodes take up more memory and storage than Peer nodes. If you have memory or storage constraints and you are running into issues, it is recommended you switch to running a Peer only node instead.
New as of beta4. The API assembly will set up an api node that just serves as a gateway for transaction submissions and information requests from the network.
This project is developed and maintained by NEM Foundation. Contributions are welcome and appreciated. You can find symbol-testnet-bootstrap on GitHub; Feel free to start an issue or create a pull request. Check CONTRIBUTING before start.
- symbol-testnet-bootstrap documentation
- Join the community slack group (#sig-testing)
- If you found a bug, please open a new issue
Copyright 2019-present NEM Foundation
Licensed under the Apache License 2.0