This is small guide regarding deployment of validator for thirdparty partners.
For deployment of validator you'd need the following:
- Linux server with at least 2GiB of memory and reasonable CPU
- Docker installed
- Publicly accessible IP with at least one port open (4444 is advices for unification)
- Create validator key pair by running
docker run -it public.ecr.aws/g3y5i1b4/key-generator --network testnet generate
Note to save key pair securely elsewhere as it could not recovered. Also it’s necessary provide stroom with your PUBLIC key to add it to other validators. - Create directory
/docker/validator
at server - Gather docker-compose.yml and sample.env from stroom
- Upload docker-compose.yml and sample.env to server where validator will be running and move them to /docker/validator
- Rename sample.env to .env and update values in it according to your needs
(for extended setup with own bitcoind and/or ethereum node see references in .env). In basic setup you need to set
APPROVAL_THRESHOLD
- provided by stroomBITCOIND_RPCPASSWORD
- provided by stroomBITCOIND_RPCUSER
- provided by stroomETHEREUM_START_HIGHT
- provided by stroomBITCOIN_START_HIGHT
- provided by stroomVALIDATOR_REGISTRY_CONTRACT
- provided by stroomUSER_ACTIVATOR_CONTRACT
- provided by stroomSTBTC_CONTRACT
- provided by stroomBSTBTC_CONTRACT
- provided by stroomNODE_PRIVATE_KEY
- your private key from step 1 - Add other node addresses provided by stroom to docker-compose.yml in corresponding block
- At specified time run docker compose up -d in directory /docker/validator