Quick Start

The information above is based on AWS ec2 instance, ubuntu LTS 20.04

Requirements

Using Docker

  • For aligned environments, we recommend using Docker.

  • Please refer to the links when you have problems regarding Docker installation.

echo '# docker engine section
sudo apt update && sudo apt dist-upgrade -y && sudo apt upgrade -y &&
sudo apt-get remove -y docker docker-engine docker.io containerd runc
sudo apt-get install -y\
    apt-transport-https\
    ca-certificates\
    curl\
    jq\
    gnupg-agent\
    software-properties-common &&
curl -fsSL https://download.docker.com/linux/ubuntu/gpg > docker.gpg
sudo apt-key add docker.gpg &&
rm docker.gpg &&
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable" &&
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
# docker compose section
sudo apt install docker-compose-plugin -y
sudo chmod +x /usr/local/bin/docker-compose
# sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose' > init.sh

bash init.sh

Launch (v1.0.5 ~)

Starting from v1.0.5, .env is used instead of settings.js. You only need to manage VALIDATOR_PK, Expanded Nodes, Kas Credential, TON_API_KEY instead of RPC endpoints.

  • Download source files here

  • Put your own configuration in /composes/<chain>/.env

.example.env
VALIDATOR_PK=

# EXPANDED NODE RPC ex) infura, alchemy, etc...
# Type of value must be an array.
# ex) ["https://mainnet.infura.io/v3/[PROJECT_ID]", "https://eth-mainnet.g.alchemy.com/v2/[PROJECT_ID]"]
AVAX=[]
BSC=[]
CELO=[]
ETH=[]
FANTOM=[]
HARMONY=[]
HECO=[]
KLAYTN=[]
MATIC=[]
XDAI=[]

#KAS CREDENTIAL
KAS_ACCESS_KEY_ID=
KAS_SECRET_ACCESS_KEY=

#TON
TON_API_KEY=
  • (1): VALIDATOR_PK (required)

  • (6)~(15): Expanded Nodes (recommended)

  • (18)~(19): Kas Credential (recommended)

  • (22): TON_API_KEY (required for TON, ETH, KLAYTN, METADIUM, POLYGON, WEMIX vault validators)

[ How to launch ]

  1. Copy .env

cp .example.env ~/bridge-dockerize/composes/<chain>/.env
  1. Fill .env with VALIDATOR_PK, TON_API_KEY, etc.

  2. Launch node

sudo docker compose -f bridge-dockerize/composes/<chain>/docker-compose.yml up -d --build

Monitoring Commands

  • Check connection status

sudo docker compose -f bridge-dockerize/composes/<chain>/docker-compose.yml exec validator curl http://localhost:8984 | jq '.'
  • Check logs

sudo docker compose -f bridge-dockerize/composes/<chain>/docker-compose.yml logs -f validator
  • Restart instance

sudo docker compose -f bridge-dockerize/composes/<chain>/docker-compose.yml up -d --build --force-recreate

Launch (Duplicated)

  • Download source files here

  • Download specific vault's settings.js file here

  • Place your governance key into settings.js

VALIDATOR_ACCOUNT : {
    TYPE: "PK",
    DATA: "YOUR_PRIVATE_KEY_HERE",
}
  • If using infura for eth node, place your infura [PROJECT ID] into settings.js

  • replace file into dockerize vault dir.

cp settings.js ~/bridge-dockerize/[ethvault/xrpvault/bscvault/iconvault]-validator/
  • Launch node

tar xvzf bridge-dockerize-0.4.1.tar.gz
cp settings.js bridge-dockerize/[ethvault/xrpvault/bscvault/iconvault]-validator/
sudo docker-compose -f bridge-dockerize/[ethvault/xrpvault/bscvault/iconvault]-validator/docker-compose.yml up -d --build
  • Check launch status

sudo docker-compose -f bridge-dockerize/[ethvault/xrpvault/bscvault/iconvault]-validator/docker-compose.yml exec validator curl http://localhost:8984 | jq '.'
sudo docker-compose -f bridge-dockerize/[ethvault/xrpvault/bscvault/iconvault]-validator/docker-compose.yml logs -f validator

Last updated