- 16 cores \ 32 threads CPU
- 128 GB RAM
- 1TB Fast NVMe SSD
- 1 Gbit/s network connectivity
- Public IP address
Before building from source, make sure to install the following prerequisites:
Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Install build dependencies:
sudo apt update
sudo apt install build-essential git libssl-dev zlib1g-dev pkg-config clang jq
Clone and build the node:
git clone https://github.com/broxus/tycho
cd tycho
git checkout tags/0.0.0 -b mynode
cargo install --path ./cli
Note
Use the latest tag for git checkout
Generate node keys and configs
# --global-config: file path or URL to the network global config
# --stake: stake value per round
tycho init --systemd --global-config ~/global-config.json --validator --stake 30000
Backup keys
~/.tycho/node_keys.json
- node keys which are used for the network and validation stuff;~/.tycho/elections.json
- keys and settings of the validator wallet;
Configure ~/.tycho/config.json
port
- node will listen on this UDP port;storage.root_dir
- DB path, you might want to move it to a separate disk partition;metrics.listen_addr
- Prometheus exporter will listen on this address;rpc
- set it tonull
to disable an RPC endpoint if you want to save some disk space;
-
Enable
tycho
services:systemctl enable tycho --user --now systemctl enable tycho-elect --user --now
-
Wait until the node is synced;
You can check it in metrics or logs. The control server currently doesn't return the sync status. It will be added soon (#395).
-
Send testnet tokens to the validator wallet. The required amount is
10 + 2 * stake
.
Note
You can find the wallet address in ~/.tycho/elections.json
.
In case of major updates or fatal failures.
-
Stop node services:
systemctl stop tycho --user systemctl stop tycho-elect --user
-
Delete node database:
# Default db path, can be changed in ~/.tycho/config.json rm -rf ~/.tycho/db
-
Start services:
systemctl start tycho --user systemctl start tycho-elect --user