To launch the tBTC v2 client, several configuration flags and environmental values need to be set. For simplicity, a bash script can be used rather than typing or pasting all the flags into the console.
Create the launch script:
nano keep.sh
and paste the following:
# Keep tBTC v2 Client
#
# Ethereum endpoint WebSocket URL
# This can be a provider such as Infura, Alchemy, etc or your own Geth Node
# ETHEREUM_WS_URL="wss://goerli.infura.io/ws/v3/redacted_credentials"
# note: only replace characters inside the " ". The Quotation marks
# must be retained
ETHEREUM_WS_URL="<Ethereum API WS URL>"
# copied to home/keep/config earlier
OPERATOR_KEY_FILE_NAME="<Operator Account keyfile name>"
# password set during Operator Account Address creation
OPERATOR_KEY_FILE_PASSWORD="<Operator Account keyfile password>"
# To configure your node with a Public IP, enter it below.
PUBLIC_IP="<PUBLIC_IP_OF_MACHINE>"
# Alternatively, you can use DNS.
# To configure DNS, modify the last line of the script
# and add your DNS in the following format:
# /dns4/bootstrap-1.test.keep.network/tcp/3919
# Setup configuration and storage directories
# THESE MUST BE PERSISTENT STORAGE
CONFIG_DIR="/home/keep/config"
STORAGE_DIR="/home/keep/storage"
docker run \\
--detach \\
--restart on-failure \\
--volume $CONFIG_DIR:/mnt/keep/config \\
--volume $STORAGE_DIR:/mnt/keep/storage \\
--env KEEP_ETHEREUM_PASSWORD=$OPERATOR_KEY_FILE_PASSWORD \\
--env LOG_LEVEL=info \\
--log-opt max-size=100m \\
--log-opt max-file=3 \\
-p 3919:3919 \\
-p 9601:9601 \\
us-docker.pkg.dev/keep-test-f3e0/public/keep-client \\
start \\
--goerli \\
--ethereum.url $ETHEREUM_WS_URL \\
--ethereum.keyFile /mnt/keep/config/$OPERATOR_KEY_FILE_NAME \\
--storage.dir /mnt/keep/storage \\
--network.announcedAddresses /ip4/$PUBLIC_IP/tcp/3919
Save and close the file, and make it executable:
sudo chmod +x keep.sh
To launch the tBTC v2 client, execute:
sudo bash keep.sh
<aside>
💡 The --detach
property will prevent the status messages from the client to be printed to the console. Review the Docker logs for detailed status information.
</aside>