Added possibility of deployment to the public environment
This commit is contained in:
parent
f27f273d0a
commit
c3a495e1ea
|
@ -4,6 +4,8 @@ set -e
|
|||
|
||||
cd $(dirname "$0")
|
||||
|
||||
TARGET_NETWORK=${TARGET_NETWORK:=development}
|
||||
|
||||
start_blockchains() {
|
||||
echo "Starting side test blockchain"
|
||||
|
||||
|
@ -25,25 +27,37 @@ start_blockchains() {
|
|||
}
|
||||
|
||||
deploy_all() {
|
||||
echo "Compiling and deploying erc20"
|
||||
cd ../src/deploy
|
||||
|
||||
cd ../src/deploy/deploy-test
|
||||
source .keys
|
||||
|
||||
echo "Building deploy docker image"
|
||||
docker build -t deploy_test . > /dev/null 2>&1
|
||||
echo "Deploying"
|
||||
docker run --network blockchain_home --rm --env-file .env deploy_test --network development --reset > /dev/null 2>&1
|
||||
TOKEN_ADDRESS=$(source ./deploy-home/.env; echo "$TOKEN_ADDRESS")
|
||||
|
||||
if [[ "$TARGET_NETWORK" == "development" ]] || [[ "$TOKEN_ADDRESS" == "0x" ]]; then
|
||||
echo "Compiling and deploying erc20"
|
||||
|
||||
cd ./deploy-test
|
||||
|
||||
echo "Building deploy docker image"
|
||||
docker build -t deploy_test . > /dev/null 2>&1
|
||||
echo "Deploying"
|
||||
TOKEN_ADDRESS=$(docker run --network blockchain_home --rm --env-file .env -e "PRIVATE_KEY=$PRIVATE_KEY_KOVAN" deploy_test --network "$TARGET_NETWORK" 2>&1 \
|
||||
| grep "contract address" \
|
||||
| awk '{print $4}')
|
||||
sed -i 's/TOKEN_ADDRESS=0x$/TOKEN_ADDRESS='"$TOKEN_ADDRESS"'/' ../deploy-home/.env
|
||||
cd ..
|
||||
fi
|
||||
|
||||
echo "Compiling and deploying home part"
|
||||
|
||||
cd ../deploy-home
|
||||
cd ./deploy-home
|
||||
|
||||
echo "Building deploy docker image"
|
||||
docker build -t deploy_home . > /dev/null 2>&1
|
||||
echo "Deploying"
|
||||
docker run --network blockchain_home --rm --env-file .env deploy_home --network development --reset > /dev/null 2>&1
|
||||
BRIDGE_ADDRESS=$(docker run --network blockchain_home --rm --env-file .env -e "PRIVATE_KEY=$PRIVATE_KEY_KOVAN" deploy_home --network "$TARGET_NETWORK" 2>&1 \
|
||||
| grep "contract address" \
|
||||
| awk '{print $4}')
|
||||
|
||||
|
||||
|
||||
|
@ -54,27 +68,44 @@ deploy_all() {
|
|||
echo "Building deploy docker image"
|
||||
docker build -t deploy_side . > /dev/null 2>&1
|
||||
echo "Deploying"
|
||||
docker run --network blockchain_side --rm --env-file .env deploy_side --network development --reset > /dev/null 2>&1
|
||||
SHARED_DB_ADDRESS=$(docker run --network blockchain_side --rm --env-file .env -e "PRIVATE_KEY=$PRIVATE_KEY_SOKOL" deploy_side --network "$TARGET_NETWORK" 2>&1 \
|
||||
| grep "contract address" \
|
||||
| awk '{print $4}')
|
||||
|
||||
echo "Token contract address in $TARGET_NETWORK network is $TOKEN_ADDRESS"
|
||||
echo "Bridge contract address in $TARGET_NETWORK network is $BRIDGE_ADDRESS"
|
||||
echo "Database contract address in $TARGET_NETWORK side network is $SHARED_DB_ADDRESS"
|
||||
}
|
||||
|
||||
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
||||
if [[ -z "$(ls -A ganache_side_db)" ]] || [[ -z "$(ls -A ganache_home_db)" ]]; then
|
||||
echo "Starting dev blockchain networks and deploying contracts"
|
||||
need_to_deploy=true
|
||||
else
|
||||
echo "Restarting dev blockchain networks"
|
||||
fi
|
||||
|
||||
side_db_mount_point="$(pwd)/ganache_side_db"
|
||||
if [ ! -d "$side_db_mount_point" ]; then
|
||||
mkdir "$side_db_mount_point"
|
||||
fi
|
||||
side_db_mount_point="$(pwd)/ganache_side_db"
|
||||
if [[ ! -d "$side_db_mount_point" ]]; then
|
||||
mkdir "$side_db_mount_point"
|
||||
fi
|
||||
|
||||
home_db_mount_point="$(pwd)/ganache_home_db"
|
||||
if [ ! -d "$home_db_mount_point" ]; then
|
||||
mkdir "$home_db_mount_point"
|
||||
fi
|
||||
home_db_mount_point="$(pwd)/ganache_home_db"
|
||||
if [[ ! -d "$home_db_mount_point" ]]; then
|
||||
mkdir "$home_db_mount_point"
|
||||
fi
|
||||
|
||||
if [ -z "$(ls -A ganache_side_db)" ] || [ -z "$(ls -A ganache_home_db)" ]; then
|
||||
echo "Starting new blockchain networks and deploying contracts"
|
||||
start_blockchains
|
||||
deploy_all
|
||||
|
||||
if [[ -n "$need_to_deploy" ]]; then
|
||||
deploy_all
|
||||
fi
|
||||
else
|
||||
echo "Restarting blockchain networks"
|
||||
start_blockchains
|
||||
echo "Deploying to staging blockchain environment"
|
||||
|
||||
source ../src/deploy/.keys
|
||||
|
||||
deploy_all
|
||||
fi
|
||||
|
||||
echo "Done"
|
||||
|
|
|
@ -4,6 +4,7 @@ RPC_URL_DEV=http://ganache_home:8545
|
|||
#PRIVATE_KEY is taken from PRIVATE_KEY_KOVAN in src/deploy/.keys
|
||||
PRIVATE_KEY_DEV=e2aeb24eaa63102d0c0821717c3b6384abdabd7af2ad4ec8e650dce300798b27
|
||||
|
||||
#Set to empty address '0x' for redeployment of token contract in staging environment
|
||||
TOKEN_ADDRESS=0xBAD4DD5dA696b1B59932a33c33737ea63438536F
|
||||
TOKEN_ADDRESS_DEV=0xd5fE0D28e058D375b0b038fFbB446Da37E85fFdc
|
||||
|
||||
|
|
|
@ -1,23 +1,18 @@
|
|||
const Bridge = artifacts.require('Bridge')
|
||||
|
||||
const addresses = Object.entries(process.env)
|
||||
.filter(([ key ]) => key.startsWith('VALIDATOR_ADDRESS'))
|
||||
.map(([ , value ]) => value)
|
||||
|
||||
const {
|
||||
THRESHOLD, PARTIES, VALIDATOR_ADDRESS_1, VALIDATOR_ADDRESS_2, VALIDATOR_ADDRESS_3, VALIDATOR_ADDRESS_4,
|
||||
VALIDATOR_ADDRESS_5, VALIDATOR_ADDRESS_6, TOKEN_ADDRESS
|
||||
THRESHOLD, TOKEN_ADDRESS, TOKEN_ADDRESS_DEV
|
||||
} = process.env
|
||||
|
||||
module.exports = deployer => {
|
||||
module.exports = (deployer, network) => {
|
||||
deployer.deploy(
|
||||
Bridge,
|
||||
THRESHOLD,
|
||||
//PARTIES,
|
||||
[
|
||||
VALIDATOR_ADDRESS_1,
|
||||
VALIDATOR_ADDRESS_2,
|
||||
VALIDATOR_ADDRESS_3,
|
||||
//VALIDATOR_ADDRESS_4,
|
||||
//VALIDATOR_ADDRESS_5,
|
||||
//VALIDATOR_ADDRESS_6
|
||||
],
|
||||
TOKEN_ADDRESS
|
||||
addresses,
|
||||
network === 'development' ? TOKEN_ADDRESS_DEV : TOKEN_ADDRESS
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue