This guide walks through the steps to get a Keep Random Beacon set up on the Ropsten testnet based on the parameters found in This guide used docker-compose for run keep and your own geth node. It is suitable for a testnet deployment.

<aside> 💡 This guide assumes your working directory is your home directory (~). You may adjust the paths in config.toml and docker-compose.yml according to your own needs.


This guide assumes you have an ETH account hooked up to Metamask (the owner) which will receive the Keep token grant and perform staking operations from the Keep dashboard.

curl -fsSL <> -o
curl -L "<$>(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker run -it -v ~/.ethereum:/root/.ethereum ethereum/client-go --testnet --nousb --syncmode "light"
docker run -it -v ~/.ethereum:/root/.ethereum ethereum/client-go attach ~/.ethereum/ropsten/geth.ipc
ls /root/.ethereum/ropsten/keystore/
touch ~/docker-compose.yml

Use the following as a template, substituting the password for the operator account you just created as the KEEP_ETHEREUM_PASSWORD environment variable. Note that some volume mappings here correspond to values in config.toml.