Nodes Compilation - niclabs/dtc GitHub Wiki
This section explains how to compile the nodes service.
System Requirements (Recommended)
- Debian 10.2 (Buster)
- 1 GB of RAM
- At least 1 GB of available local storage (for keyshare database)
How to build
The following libraries should be installed in all the systems which are going to use the compiled node service:
- git
- tar
- wget
- libzmq3-dev v4 or greater (for zmq communication with the nodes)
- libczmq-dev (for zmq communication with the nodes)
- gcc
- Go (1.13.4 or higher)
On Debian 10 (Buster), with a sudo-enabled user, the commands to run to install dependencies and build are the following:
# Install requirements
sudo apt install libzmq3-dev libczmq-dev build-essential pkg-config git tar wget
If the architecture of all your nodes is the same, then you can follow the next steps only one time, and copy the compiled program to each of your nodes.
Then, you need to install Go 1.13.4 or higher. You can find how to install Go on its official page. Please make sure you are using the correct version for your system and processor architecture.
The following command allows you to clone this repository.
# Clone and compile repository
git clone https://github.com/niclabs/dtcnode
Now, you can build the program, executing the following commands:
cd dtcnode
go build
The program will be named dtcnode
and it will be compiled on the same folder as the cloned git repository. You can copy this program to other nodes with the same architecture
Finally, you need to copy all the node configuration files that were created in the last step to each node. It's recommended that you copy them to /etc/dtcnode
folder, giving only the user that will run the service reading and writing permissions, because this file is also used to save the key shares managed.
Now you can use the library with a Signer tool. We have configuration examples for HSM Signer and OpenDNSSEC.