Setup a validator
Hardware Requirements:
The following hardware minimum requirements are recommended for running the validator node:
- Memory: 8 GB RAM
- CPU: Quad-Core
- Disk: 250 GB SSD Storage
- Bandwidth: 1 Gbps for download/100 Mbps for upload
Setting up your validator node
The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.
Prerequisites
You must have these installed:
- Docker
- Docker Compose
Clone the validator repository
git clone --recurse-submodules https://github.com/Bundlr-Network/validator.git
Arweave Wallet
Save your Arweave wallet in the project root at ./wallet.json
. You can generate a new one here.
Alternatively, you can use the wallet generator tool in this repository (requires cargo
. Just run):
cargo run --bin wallet-tool create > wallet.json
To get the address of the generated wallet:
cargo run --bin wallet-tool show-address --wallet ./wallet.json
To do both in one command, run:
cargo run --bin wallet-tool create | tee wallet.json | cargo run --bin wallet-tool -- show-address
The wallet tools require additional dependencies, notably:
build-essential
and libpq-dev
Environment Variables
The following environment variables need to be defined:
PORT=80
BUNDLER_URL="https://testnet1.bundlr.network"
GW_CONTRACT="<validator contract address>"
GW_ARWEAVE="https://arweave.testnet1.bundlr.network"
You can find an example in the example.env
file. Copy them by running:
cp example.env .env
Build and run
To build and run the validator:
docker-compose up
Upgrading validator
Navigate to the validator folder then:
Update the repository
git pull origin master
Update the contracts submodule:
git submodule update --init --recurse
Build the updated validator
docker-compose build
Run the validator
docker-compose up
To do all these steps at once:
git pull origin master && git submodule update --init --recursive && docker-compose up -d
Your validator should now be running!