This guide covers the process of batch-generating client keystores and registering XSAT Validators.
For more detailed instructions, visit the XSAT Validator Guide.
-
Copy the example
.envfile and rename it to.env:cp .env.example .env vim .env
-
Modify the
.envfile with the following configuration details:KEYSTORE_PATH: Directory to store the keystore files (e.g.,./keystores).PRIVATE_KEY: The EVM address associated with this private key must have enough BTC for creating XSAT Validator accounts (0.0001 BTC per account).STAKER_REWARD_ADDRESS: The EVM address used for staking XSAT and refilling gas fees for XSAT Validators.ACCOUNT_PREFIX: Prefix for naming XSAT Validator accounts.
mkdir keystores
yarn install
yarn cracc- Open the Validators Portal and connect to the
STAKER_REWARD_ADDRESS. - Stake XSAT for each XSAT Validator account (2,100 XSAT per account).
- Refill gas fees for the XSAT Validators.
- Gas Fee Note: At the current gas price, each XSAT Validator requires ~0.0005 BTC per month for gas fees.
- Use the "Switch" button to toggle between different XSAT Validator accounts as needed.
-
Modify the
ognize_cli.shscript to customize Docker Compose configurations:vim ognize_cli.sh
Modify the contents after ":-" as needed:
# Default directory for keystores BASE_DIR="${1:-./keystores}" # Check if the directory exists if [ ! -d "$BASE_DIR" ]; then echo "Directory $BASE_DIR does not exist" exit 1 fi # Default values (update as required) NETWORK=${NETWORK:-mainnet} EXSAT_RPC_URLS=${EXSAT_RPC_URLS:-'["https://rpc-us.exsat.network", "https://rpc-sg.exsat.network"]'} BTC_RPC_URL=${BTC_RPC_URL:-your_btc_rpc_url} BTC_RPC_USERNAME=${BTC_RPC_USERNAME:-user} BTC_RPC_PASSWORD=${BTC_RPC_PASSWORD:-password} KEYSTORE_PASSWORD=${KEYSTORE_PASSWORD:-123456}
-
Make the script executable and generate the
docker-compose.ymlfile:chmod +x ognize_cli.sh ./ognize_cli.sh
-
Run the XSAT Validator nodes using Docker Compose:
cd keystores docker compose up -d