Moved test environment and deployment process to docker
This commit is contained in:
parent
1ab220caf4
commit
38dee19559
|
@ -10,7 +10,7 @@ confirm token transfer on the Ethereum Side, or vote for state changes.
|
|||
ERC20 Token is used on the Ethereum side of the bridge.
|
||||
All ERC20 tokens are located on address associated with DEPLOY_PRIVATE_KEY.
|
||||
|
||||
BNB Token is used on the Binance Chain side.
|
||||
BEP2 Token is used on the Binance Chain side.
|
||||
|
||||
#### Running demo:
|
||||
1) Build tss from local source.
|
||||
|
|
|
@ -6,42 +6,51 @@ cd $(dirname "$0")
|
|||
|
||||
echo "Starting side test blockchain"
|
||||
|
||||
rm -rf ./ganache_data_side
|
||||
|
||||
mkdir ganache_data_side
|
||||
|
||||
kill $(lsof -t -i:3333) > /dev/null 2>&1 || true
|
||||
|
||||
ganache-cli --db ./ganache_data_side -p 3333 -m "shrug dwarf easily blade trigger lucky reopen cage lake scatter desk boat" -i 33 -q &
|
||||
docker kill ganache_side > /dev/null 2>&1 || true
|
||||
docker network create blockchain_side > /dev/null 2>&1 || true
|
||||
docker run -d --network blockchain_side --rm --name ganache_side trufflesuite/ganache-cli:latest -m "shrug dwarf easily blade trigger lucky reopen cage lake scatter desk boat" -i 33 -q
|
||||
|
||||
echo "Starting home test blockchain"
|
||||
|
||||
rm -rf ./ganache_data
|
||||
|
||||
mkdir ganache_data
|
||||
|
||||
kill $(lsof -t -i:4444) > /dev/null 2>&1 || true
|
||||
|
||||
ganache-cli -a 20 --db ./ganache_data -p 4444 -m "shrug dwarf easily blade trigger lucky reopen cage lake scatter desk boat" -i 44 -q &
|
||||
docker kill ganache_home > /dev/null 2>&1 || true
|
||||
docker network create blockchain_home > /dev/null 2>&1 || true
|
||||
docker run -d --network blockchain_home --rm --name ganache_home trufflesuite/ganache-cli:latest -m "shrug dwarf easily blade trigger lucky reopen cage lake scatter desk boat" -i 44 -q
|
||||
|
||||
sleep 4
|
||||
|
||||
echo "Deploying erc20"
|
||||
|
||||
|
||||
echo "Compiling and deploying erc20"
|
||||
|
||||
cd ../src/deploy/deploy-test
|
||||
|
||||
truffle deploy --network development --reset > /dev/null
|
||||
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 -v "$(pwd)/build:/build/build" deploy_test --network development --reset > /dev/null 2>&1
|
||||
|
||||
echo "Deploying home part"
|
||||
|
||||
|
||||
echo "Compiling and deploying home part"
|
||||
|
||||
cd ../deploy-home
|
||||
|
||||
truffle deploy --network development --reset > /dev/null
|
||||
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 -v "$(pwd)/build:/build/build" deploy_home --network development --reset > /dev/null 2>&1
|
||||
|
||||
echo "Deploying side part"
|
||||
|
||||
|
||||
echo "Compiling and deploying side part"
|
||||
|
||||
cd ../deploy-side
|
||||
|
||||
truffle deploy --network development --reset > /dev/null
|
||||
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 -v "$(pwd)/build:/build/build" deploy_side --network development --reset > /dev/null 2>&1
|
||||
|
||||
|
||||
|
||||
echo "Done"
|
||||
|
|
|
@ -11,4 +11,4 @@ echo "Starting $NAME"
|
|||
|
||||
mkdir -p "$NAME"
|
||||
cd "$NAME"
|
||||
docker-compose -p "$NAME" -f ../../src/oracle/docker-compose.yml up ${DCU_FLAGS}
|
||||
docker-compose -p "$NAME" -f ../../src/oracle/docker-compose-test.yml up ${DCU_FLAGS}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
HOME_RPC_URL=http://host.docker.internal:4444
|
||||
HOME_RPC_URL=http://ganache_home:8545
|
||||
HOME_CHAIN_ID=44
|
||||
HOME_BRIDGE_ADDRESS=0x94b40CC641Ed7db241A1f04C8896ba6f6cC36b85
|
||||
HOME_TOKEN_ADDRESS=0x44c158FE850821ae69DaF37AADF5c539e9d0025B
|
||||
|
||||
SIDE_RPC_URL=http://host.docker.internal:3333
|
||||
SIDE_RPC_URL=http://ganache_side:8545
|
||||
SIDE_CHAIN_ID=33
|
||||
SIDE_SHARED_DB_ADDRESS=0x44c158FE850821ae69DaF37AADF5c539e9d0025B
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
HOME_RPC_URL=http://host.docker.internal:4444
|
||||
HOME_RPC_URL=http://ganache_home:8545
|
||||
HOME_CHAIN_ID=44
|
||||
HOME_BRIDGE_ADDRESS=0x94b40CC641Ed7db241A1f04C8896ba6f6cC36b85
|
||||
HOME_TOKEN_ADDRESS=0x44c158FE850821ae69DaF37AADF5c539e9d0025B
|
||||
|
||||
SIDE_RPC_URL=http://host.docker.internal:3333
|
||||
SIDE_RPC_URL=http://ganache_side:8545
|
||||
SIDE_CHAIN_ID=33
|
||||
SIDE_SHARED_DB_ADDRESS=0x44c158FE850821ae69DaF37AADF5c539e9d0025B
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
HOME_RPC_URL=http://host.docker.internal:4444
|
||||
HOME_RPC_URL=http://ganache_home:8545
|
||||
HOME_CHAIN_ID=44
|
||||
HOME_BRIDGE_ADDRESS=0x94b40CC641Ed7db241A1f04C8896ba6f6cC36b85
|
||||
HOME_TOKEN_ADDRESS=0x44c158FE850821ae69DaF37AADF5c539e9d0025B
|
||||
|
||||
SIDE_RPC_URL=http://host.docker.internal:3333
|
||||
SIDE_RPC_URL=http://ganache_side:8545
|
||||
SIDE_CHAIN_ID=33
|
||||
SIDE_SHARED_DB_ADDRESS=0x44c158FE850821ae69DaF37AADF5c539e9d0025B
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
RPC_URL=https://sokol.poa.network
|
||||
RPC_URL_DEV=http://127.0.0.1:4444
|
||||
RPC_URL_DEV=http://ganache_home:8545
|
||||
|
||||
PRIVATE_KEY=e49fe947f224ae8e126c41b1be3e52be701509c2366e835ea8c08651f91030e0
|
||||
PRIVATE_KEY_DEV=e2aeb24eaa63102d0c0821717c3b6384abdabd7af2ad4ec8e650dce300798b27
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
FROM node:10.16.0-alpine
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
RUN apk add git python build-base
|
||||
|
||||
RUN npm install -g truffle
|
||||
RUN npm install truffle-hdwallet-provider
|
||||
|
||||
RUN truffle obtain --solc 0.5.9
|
||||
|
||||
COPY truffle-config-build.js /build/truffle-config.js
|
||||
COPY contracts/openzeppelin-solidity /build/contracts/openzeppelin-solidity
|
||||
|
||||
RUN truffle compile
|
||||
|
||||
COPY contracts /build/contracts
|
||||
|
||||
RUN truffle compile
|
||||
|
||||
COPY truffle-config.js /build/truffle-config.js
|
||||
COPY migrations /build/migrations
|
||||
|
||||
ENTRYPOINT truffle deploy
|
|
@ -1,5 +1,3 @@
|
|||
require('dotenv').config()
|
||||
|
||||
const Bridge = artifacts.require('Bridge')
|
||||
|
||||
const {
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
module.exports = {
|
||||
compilers: {
|
||||
solc: {
|
||||
version: '0.5.9',
|
||||
settings: {
|
||||
optimizer: {
|
||||
enabled: true,
|
||||
runs: 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,3 @@
|
|||
require('dotenv').config()
|
||||
|
||||
const PrivateKeyProvider = require('truffle-hdwallet-provider')
|
||||
|
||||
const { RPC_URL, PRIVATE_KEY, RPC_URL_DEV, PRIVATE_KEY_DEV } = process.env
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
RPC_URL=https://sokol.poa.network
|
||||
RPC_URL_DEV=http://127.0.0.1:3333
|
||||
RPC_URL_DEV=http://ganache_side:8545
|
||||
|
||||
PRIVATE_KEY=e49fe947f224ae8e126c41b1be3e52be701509c2366e835ea8c08651f91030e0
|
||||
PRIVATE_KEY_DEV=e2aeb24eaa63102d0c0821717c3b6384abdabd7af2ad4ec8e650dce300798b27
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
FROM node:10.16.0-alpine
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
RUN apk add git python build-base
|
||||
|
||||
RUN npm install -g truffle
|
||||
RUN npm install truffle-hdwallet-provider
|
||||
|
||||
RUN truffle obtain --solc 0.5.9
|
||||
|
||||
COPY truffle-config-build.js /build/truffle-config.js
|
||||
COPY contracts /build/contracts
|
||||
|
||||
RUN truffle compile
|
||||
|
||||
COPY truffle-config.js /build/truffle-config.js
|
||||
COPY migrations /build/migrations
|
||||
|
||||
ENTRYPOINT truffle deploy
|
|
@ -0,0 +1,13 @@
|
|||
module.exports = {
|
||||
compilers: {
|
||||
solc: {
|
||||
version: '0.5.9',
|
||||
settings: {
|
||||
optimizer: {
|
||||
enabled: true,
|
||||
runs: 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,3 @@
|
|||
require('dotenv').config()
|
||||
|
||||
const PrivateKeyProvider = require('truffle-hdwallet-provider')
|
||||
|
||||
const { RPC_URL, PRIVATE_KEY, RPC_URL_DEV, PRIVATE_KEY_DEV } = process.env
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
RPC_URL=https://sokol.poa.network
|
||||
RPC_URL_DEV=http://127.0.0.1:4444
|
||||
RPC_URL_DEV=http://ganache_home:8545
|
||||
|
||||
PRIVATE_KEY=e49fe947f224ae8e126c41b1be3e52be701509c2366e835ea8c08651f91030e0
|
||||
PRIVATE_KEY_DEV=e2aeb24eaa63102d0c0821717c3b6384abdabd7af2ad4ec8e650dce300798b27
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
FROM node:10.16.0-alpine
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
RUN apk add git python build-base
|
||||
|
||||
RUN npm install -g truffle
|
||||
RUN npm install truffle-hdwallet-provider
|
||||
|
||||
RUN truffle obtain --solc 0.5.9
|
||||
|
||||
COPY truffle-config-build.js /build/truffle-config.js
|
||||
COPY contracts/openzeppelin-solidity /build/contracts/openzeppelin-solidity
|
||||
|
||||
RUN truffle compile
|
||||
|
||||
COPY contracts /build/contracts
|
||||
|
||||
RUN truffle compile
|
||||
|
||||
COPY truffle-config.js /build/truffle-config.js
|
||||
COPY migrations /build/migrations
|
||||
|
||||
ENTRYPOINT truffle deploy
|
|
@ -0,0 +1,13 @@
|
|||
module.exports = {
|
||||
compilers: {
|
||||
solc: {
|
||||
version: '0.5.9',
|
||||
settings: {
|
||||
optimizer: {
|
||||
enabled: true,
|
||||
runs: 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,3 @@
|
|||
require('dotenv').config()
|
||||
|
||||
const PrivateKeyProvider = require('truffle-hdwallet-provider')
|
||||
|
||||
const { RPC_URL, PRIVATE_KEY, RPC_URL_DEV, PRIVATE_KEY_DEV } = process.env
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
version: '3.7'
|
||||
services:
|
||||
proxy:
|
||||
image: blockchain-proxy
|
||||
build: ./proxy
|
||||
environment:
|
||||
- HOME_RPC_URL
|
||||
- HOME_BRIDGE_ADDRESS
|
||||
- HOME_TOKEN_ADDRESS
|
||||
- HOME_CHAIN_ID
|
||||
- SIDE_RPC_URL
|
||||
- SIDE_SHARED_DB_ADDRESS
|
||||
- SIDE_CHAIN_ID
|
||||
- VALIDATOR_PRIVATE_KEY
|
||||
- FOREIGN_URL
|
||||
- FOREIGN_ASSET
|
||||
volumes:
|
||||
- '../deploy/deploy-test/build/contracts/IERC20.json:/proxy/contracts_data/IERC20.json'
|
||||
- '../deploy/deploy-home/build/contracts/Bridge.json:/proxy/contracts_data/Bridge.json'
|
||||
- '../deploy/deploy-side/build/contracts/SharedDB.json:/proxy/contracts_data/SharedDB.json'
|
||||
ports:
|
||||
- '${VOTES_PROXY_PORT}:8002'
|
||||
networks:
|
||||
- test_network
|
||||
- blockchain_home
|
||||
- blockchain_side
|
||||
keygen:
|
||||
image: keygen-client
|
||||
build: ./tss-keygen
|
||||
environment:
|
||||
- 'RABBITMQ_URL=amqp://rabbitmq:5672'
|
||||
- 'PROXY_URL=http://proxy:8001'
|
||||
volumes:
|
||||
- '${PWD}/keys:/keys'
|
||||
networks:
|
||||
- test_network
|
||||
signer:
|
||||
image: sign-client
|
||||
build: ./tss-sign
|
||||
environment:
|
||||
- 'RABBITMQ_URL=amqp://rabbitmq:5672'
|
||||
- 'PROXY_URL=http://proxy:8001'
|
||||
- FOREIGN_CHAIN_ID
|
||||
- FOREIGN_URL
|
||||
- FOREIGN_ASSET
|
||||
volumes:
|
||||
- '${PWD}/keys:/keys'
|
||||
ports:
|
||||
- '${SIGN_RESTART_PORT}:8001'
|
||||
networks:
|
||||
- test_network
|
||||
redis:
|
||||
image: redis:5.0.5-alpine
|
||||
volumes:
|
||||
- '${PWD}/db:/data'
|
||||
networks:
|
||||
- test_network
|
||||
rabbitmq:
|
||||
hostname: rabbit
|
||||
image: rabbitmq:3.7.15-alpine
|
||||
volumes:
|
||||
- '${PWD}/queue:/var/lib/rabbitmq/mnesia'
|
||||
networks:
|
||||
- test_network
|
||||
eth-watcher:
|
||||
build: ethWatcher
|
||||
image: eth-watcher
|
||||
environment:
|
||||
- HOME_RPC_URL
|
||||
- HOME_BRIDGE_ADDRESS
|
||||
- HOME_TOKEN_ADDRESS
|
||||
- HOME_CHAIN_ID
|
||||
- 'RABBITMQ_URL=amqp://rabbitmq:5672'
|
||||
volumes:
|
||||
- '../deploy/deploy-home/build/contracts/Bridge.json:/watcher/contracts_data/Bridge.json'
|
||||
- '../deploy/deploy-test/build/contracts/IERC20.json:/watcher/contracts_data/IERC20.json'
|
||||
networks:
|
||||
- test_network
|
||||
- blockchain_home
|
||||
bnc-watcher:
|
||||
build: bncWatcher
|
||||
image: bnc-watcher
|
||||
environment:
|
||||
- FOREIGN_URL
|
||||
- FOREIGN_ASSET
|
||||
- 'RABBITMQ_URL=amqp://rabbitmq:5672'
|
||||
- 'PROXY_URL=http://proxy:8001'
|
||||
volumes:
|
||||
- '${PWD}/keys:/keys'
|
||||
networks:
|
||||
- test_network
|
||||
networks:
|
||||
test_network:
|
||||
blockchain_side:
|
||||
external: true
|
||||
blockchain_home:
|
||||
external: true
|
|
@ -21,10 +21,9 @@ services:
|
|||
ports:
|
||||
- '${VOTES_PROXY_PORT}:8002'
|
||||
networks:
|
||||
- test_network
|
||||
# - sign-proxy-net
|
||||
# - keygen-proxy-net
|
||||
# - bncwatcher-proxy-net
|
||||
- sign-proxy-net
|
||||
- keygen-proxy-net
|
||||
- bncwatcher-proxy-net
|
||||
keygen:
|
||||
image: keygen-client
|
||||
build: ./tss-keygen
|
||||
|
@ -34,10 +33,9 @@ services:
|
|||
volumes:
|
||||
- '${PWD}/keys:/keys'
|
||||
networks:
|
||||
- test_network
|
||||
# - keygen-proxy-net
|
||||
# - rabbit-keygen-net
|
||||
# - redis-keygen-net
|
||||
- keygen-proxy-net
|
||||
- rabbit-keygen-net
|
||||
- redis-keygen-net
|
||||
signer:
|
||||
image: sign-client
|
||||
build: ./tss-sign
|
||||
|
@ -52,31 +50,28 @@ services:
|
|||
ports:
|
||||
- '${SIGN_RESTART_PORT}:8001'
|
||||
networks:
|
||||
- test_network
|
||||
# - sign-proxy-net
|
||||
# - rabbit-signer-net
|
||||
# - redis-signer-net
|
||||
- sign-proxy-net
|
||||
- rabbit-signer-net
|
||||
- redis-signer-net
|
||||
redis:
|
||||
image: redis:5.0.5-alpine
|
||||
volumes:
|
||||
- '${PWD}/db:/data'
|
||||
networks:
|
||||
- test_network
|
||||
# - redis-signer-net
|
||||
# - redis-keygen-net
|
||||
# - redis-ethwatcher-net
|
||||
# - redis-bncwatcher-net
|
||||
- redis-signer-net
|
||||
- redis-keygen-net
|
||||
- redis-ethwatcher-net
|
||||
- redis-bncwatcher-net
|
||||
rabbitmq:
|
||||
hostname: rabbit
|
||||
image: rabbitmq:3.7.15-alpine
|
||||
volumes:
|
||||
- '${PWD}/queue:/var/lib/rabbitmq/mnesia'
|
||||
networks:
|
||||
- test_network
|
||||
# - rabbit-signer-net
|
||||
# - rabbit-keygen-net
|
||||
# - rabbit-ethwatcher-net
|
||||
# - rabbit-bncwatcher-net
|
||||
- rabbit-signer-net
|
||||
- rabbit-keygen-net
|
||||
- rabbit-ethwatcher-net
|
||||
- rabbit-bncwatcher-net
|
||||
eth-watcher:
|
||||
build: ethWatcher
|
||||
image: eth-watcher
|
||||
|
@ -90,9 +85,8 @@ services:
|
|||
- '../deploy/deploy-home/build/contracts/Bridge.json:/watcher/contracts_data/Bridge.json'
|
||||
- '../deploy/deploy-test/build/contracts/IERC20.json:/watcher/contracts_data/IERC20.json'
|
||||
networks:
|
||||
- test_network
|
||||
# - rabbit-ethwatcher-net
|
||||
# - redis-ethwatcher-net
|
||||
- rabbit-ethwatcher-net
|
||||
- redis-ethwatcher-net
|
||||
bnc-watcher:
|
||||
build: bncWatcher
|
||||
image: bnc-watcher
|
||||
|
@ -104,20 +98,18 @@ services:
|
|||
volumes:
|
||||
- '${PWD}/keys:/keys'
|
||||
networks:
|
||||
- test_network
|
||||
# - rabbit-bncwatcher-net
|
||||
# - redis-bncwatcher-net
|
||||
# - bncwatcher-proxy-net
|
||||
- rabbit-bncwatcher-net
|
||||
- redis-bncwatcher-net
|
||||
- bncwatcher-proxy-net
|
||||
networks:
|
||||
test_network:
|
||||
# sign-proxy-net:
|
||||
# keygen-proxy-net:
|
||||
# rabbit-signer-net:
|
||||
# rabbit-keygen-net:
|
||||
# rabbit-ethwatcher-net:
|
||||
# rabbit-bncwatcher-net:
|
||||
# redis-keygen-net:
|
||||
# redis-signer-net:
|
||||
# redis-ethwatcher-net:
|
||||
# redis-bncwatcher-net:
|
||||
# bncwatcher-proxy-net:
|
||||
sign-proxy-net:
|
||||
keygen-proxy-net:
|
||||
rabbit-signer-net:
|
||||
rabbit-keygen-net:
|
||||
rabbit-ethwatcher-net:
|
||||
rabbit-bncwatcher-net:
|
||||
redis-keygen-net:
|
||||
redis-signer-net:
|
||||
redis-ethwatcher-net:
|
||||
redis-bncwatcher-net:
|
||||
bncwatcher-proxy-net:
|
||||
|
|
Loading…
Reference in New Issue