Akash deployments are created using Stack Definition Language (SDL) files that serve as the recipe for your deployments. In this section we detail the Omnibus SDL used for the Akash Validator deployment.
The SDL template for the Akash Validator build is located in this GitHub repository.
Copy the SDL located in the repository into a local editor for customizations covered in upcoming steps.
All SDL edits necessary are environment variable related. Within the SDL, we will only edit values within the services
section and env
subsections. All other segments of the SDL can be used from the template without need to edit.
- The first service listed in the SDL and which requires customization is the
validator
service - Recommended
env
variable updates are detailed in the code block below - NOTE - eventually we will need to additionally update the AKASH_UNCONDITIONAL_PEER_IDS variable. But at this point in the process these IDs - which are the IDs of the Sentry nodes - are not known. Based on this we will update this field later.
Update the following env variables with suggested values:
AKASH_P2P_PEX=true
P2P_PERSISTENT_PEERS=f997dbd1048af671527857db422291a11d067975@65.21.198.247:26656,[email protected]:2020,[email protected]:26656,[email protected]:26656,[email protected]:26636,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:28656,[email protected]:26656,[email protected]:26656
STATESYNC_RPC_SERVERS=https://akash-rpc.polkachu.com:443,https://akash-rpc.polkachu.com:443
S3_KEY=<specify the key captured in FileBase>
S3_SECRET=<specify the secret captured in FileBase>
KEY_PASSWORD=<password of your choice that is used in encryption of files in FileBase>
KEY_PATH=akashvalidator
validator:
image: ghcr.io/akash-network/cosmos-omnibus:v0.3.42-akash-v0.22.7
env:
- MONIKER=validator
- CHAIN_JSON=https://raw.githubusercontent.com/akash-network/net/main/mainnet/meta.json
- MINIMUM_GAS_PRICES=0.025uakt
- FASTSYNC_VERSION=v2
- AKASH_MODE=validator
- AKASH_P2P_PEX=true
- AKASH_UNCONDITIONAL_PEER_IDS=<node-1-id>,<node-2-id>...
- AKASH_ADDR_BOOK_STRICT=false
- AKASH_DOUBLE_SIGN_CHECK_HEIGHT=10
- P2P_PERSISTENT_PEERS=f997dbd1048af671527857db422291a11d067975@65.21.198.247:26656,[email protected]:2020,[email protected]:26656,[email protected]:26656,[email protected]:26636,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:28656,[email protected]:26656,[email protected]:26656
- STATESYNC_RPC_SERVERS=node1,node2
- S3_KEY=A397A7<redacted>
- S3_SECRET=7ZHVFsE2<redaacted>
- KEY_PASSWORD=Validator4Akash!#!
- KEY_PATH=akashvalidator
- The second service listed in the SDL that requires customization is for the
node1
service. - Recommended
env
variable updates are detailed in the code block below - NOTE - eventually we will need to additionally update the
AKASH_PRIVATE_PEER_IDS
andAKASH_UNCONDITIONAL_PEER_IDS
variables. But at this point in the process these IDs - which is the ID of the Validator node - is not known. We will update these fields later.
Update the following env variables with suggested values:
STATESYNC_RPC_SERVERS=https://akash-rpc.polkachu.com:443,https://akash-rpc.polkachu.com:443
S3_KEY=<specify the key captured in FileBase>
S3_SECRET=<specify the secret captured in FileBase>
KEY_PASSWORD=<password of your choice that is used in encryption of files in FileBase>
KEY_PATH=akashnode1
node1:
image: ghcr.io/akash-network/cosmos-omnibus:v0.3.42-akash-v0.22.7
env:
- MONIKER=private_node_1
- CHAIN_JSON=https://raw.githubusercontent.com/akash-network/net/main/mainnet/meta.json
- MINIMUM_GAS_PRICES=0.025uakt
- FASTSYNC_VERSION=v2
- AKASH_MODE=full
- AKASH_P2P_PEX=true
- AKASH_PRIVATE_PEER_IDS=<validatorid>
- AKASH_UNCONDITIONAL_PEER_IDS=<validatorid>
- AKASH_ADDR_BOOK_STRICT=false
- STATESYNC_RPC_SERVERS=https://akash-rpc.polkachu.com:443,https://akash-rpc.polkachu.com:443
- STATESYNC_SNAPSHOT_INTERVAL=500
- S3_KEY=<redacted>
- S3_SECRET=<redacted>
- KEY_PASSWORD=<redacted>
- KEY_PATH=akashnode1
- The third and final service list in the SDL that requires customization is for the
node2
service. - Recommended
env
variable updates are detailed in the code block below - NOTE - eventually we will need to additionally update the
AKASH_PRIVATE_PEER_IDS
andAKASH_UNCONDITIONAL_PEER_IDS
variables. But at this point in the process these IDs - which is the ID of the Validator node is not known - and based on this we will update this field later.
Update the following env variables with suggested values:
STATESYNC_RPC_SERVERS=https://akash-rpc.polkachu.com:443,https://akash-rpc.polkachu.com:443
S3_KEY=<specify the key captured in FileBase>
S3_SECRET=<specify the secret captured in FileBase>
KEY_PASSWORD=<password of your choice that is used in encryption of files in FileBase>
KEY_PATH=akashnode2
node2:
image: ghcr.io/akash-network/cosmos-omnibus:v0.3.42-akash-v0.22.7
env:
- MONIKER=private_node_1
- CHAIN_JSON=https://raw.githubusercontent.com/akash-network/net/main/mainnet/meta.json
- MINIMUM_GAS_PRICES=0.025uakt
- FASTSYNC_VERSION=v2
- AKASH_MODE=full
- AKASH_P2P_PEX=true
- AKASH_PRIVATE_PEER_IDS=<validatorid>
- AKASH_UNCONDITIONAL_PEER_IDS=<validatorid>
- AKASH_ADDR_BOOK_STRICT=false
- STATESYNC_RPC_SERVERS=https://akash-rpc.polkachu.com:443,https://akash-rpc.polkachu.com:443
- STATESYNC_SNAPSHOT_INTERVAL=500
- S3_KEY=<redacted>
- S3_SECRET=<redacted>
- KEY_PASSWORD=<redacted>
- KEY_PATH=akashnode2