A beginners quick start guide to staking on the Keep Network testnet using DigitalOcean.

Step by step instructions with screenshots.

Photo by Thought Catalog on Unsplash


1. Create a wallet by keystore file

2. Install MetaMask on Chrome

Great success!

3. Get ETH on Ropsten from a faucet

This happens if you make to many requests

3. Get KEEP Tokens from the Keep faucet

4. Delegate Tokens

5. Authorize Contracts

Random Beacon


7. Bond ETH

The amount of KEEP staked determines how often you get selected to do work, the bonded ETH determines how much work you can do.

8. Create Infura account

9. Setup Node

$ ssh root@ authenticity of host ' (' can't be established.ECDSA key fingerprint is SHA256:rHtSOMESTUFFGOESHEREDONTWORRYABOUTITTHOUGHTsvKmaHDBqGr0o1o4o.Are you sure you want to continue connecting (yes/no/[fingerprint])? yesWarning: Permanently added '' (ECDSA) to the list of known hosts.Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-66-generic x86_64)* Documentation:  https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Thu May 28 16:38:52 UTC 2020System load: 0.41 Processes: 98
Usage of /: 1.2% of 77.36GB Users logged in: 0
Memory usage: 3% IP address for eth0:
Swap usage: 0%
0 packages can be updated.
0 updates are security updates.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.root@keep-testnet:~#
sudo ufw allow 22/tcp
sudo ufw allow 3919/tcp
yes | sudo ufw enable
sudo apt-get update
sudo apt-get remove docker docker-engine docker.io
sudo apt install docker.io curl -y
sudo systemctl start docker
sudo systemctl enable docker
root@keep-testnet:~# sudo docker --version
Docker version 19.03.6, build 369ce74a3c
docker pull keepnetwork/keep-client:latest
mkdir -p $HOME/keep-client/config
mkdir -p $HOME/keep-client/keystore
mkdir -p $HOME/keep-client/persistence
# Get your server's IP
export SERVER_IP=$(curl ifconfig.me)
# Change with your ID from Infura.
# Change with your ETH Wallet.
env | sort
cat <<EOF >>$HOME/keep-client/config/config.toml
# Ethereum host connection info.
URL = "wss://ropsten.infura.io/ws/v3/$INFURA_PROJECT_ID"
URLRPC = "https://ropsten.infura.io/v3/$INFURA_PROJECT_ID"# Keep operator Ethereum account.
Address = "$ETH_WALLET"
KeyFile = "/mnt/keystore/keep_wallet.json"# Keep contract addresses configuration.
KeepRandomBeaconOperator = "0x440626169759ad6598cd53558F0982b84A28Ad7a"
TokenStaking = "0xEb2bA3f065081B6459A6784ba8b34A1DfeCc183A"
KeepRandomBeaconService = "0xF9AEdd99357514d9D1AE389A65a4bd270cBCb56c"# Keep network configuration.
Peers = ["/dns4/bootstrap-1.core.keep.test.boar.network/tcp/3001/ipfs/16Uiu2HAkuTUKNh6HkfvWBEkftZbqZHPHi3Kak5ZUygAxvsdQ2UgG", "/dns4/bootstrap-2.core.keep.test.boar.network/tcp/3001/ipfs/16Uiu2HAmQirGruZBvtbLHr5SDebsYGcq6Djw7ijF3gnkqsdQs3wK", "/dns4/bootstrap-3.test.keep.network/tcp/3919/ipfs/16Uiu2HAm8KJX32kr3eYUhDuzwTucSfAfspnjnXNf9veVhB12t6Vf", "/dns4/bootstrap-2.test.keep.network/tcp/3919/ipfs/16Uiu2HAmNNuCp45z5bgB8KiTHv1vHTNAVbBgxxtTFGAndageo9Dp"]
Port = 3919
# Override the node's default addresses announced in the network
AnnouncedAddresses = ["/ip4/$SERVER_IP/tcp/3919"]# Storage is encrypted
DataDir = "/mnt/persistence"
vim ~/keep-client/keystore/keep_wallet.json
sudo docker run -dit \
--restart always \
--volume $HOME/keep-client:/mnt \
--env LOG_LEVEL=debug \
--name keep-client \
-p 3919:3919 \
keepnetwork/keep-client:latest --config /mnt/config/config.toml start
sudo docker logs keep-client -f

Read more about Keep

Playing at the intersection of privacy and personalisation. Fascinated by the state of trust in a world with leaky data.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store