Separate docker-compose for ethereum testnet and side oracle
This commit is contained in:
parent
3e86eca6f5
commit
11c396e674
|
@ -147,8 +147,8 @@ jobs:
|
||||||
docker build -t tests ./tests
|
docker build -t tests ./tests
|
||||||
docker create --env-file ./tests/.env --name tests tests
|
docker create --env-file ./tests/.env --name tests tests
|
||||||
docker network connect binance_net tests
|
docker network connect binance_net tests
|
||||||
docker network connect blockchain_side tests
|
docker network connect ethereum_side_rpc_net tests
|
||||||
docker network connect blockchain_home tests
|
docker network connect ethereum_home_rpc_net tests
|
||||||
docker network connect validator1_test_network tests
|
docker network connect validator1_test_network tests
|
||||||
docker network connect validator2_test_network tests
|
docker network connect validator2_test_network tests
|
||||||
docker network connect validator3_test_network tests
|
docker network connect validator3_test_network tests
|
||||||
|
|
18
DEMO.md
18
DEMO.md
|
@ -331,21 +331,13 @@ Make sure, to first run demo in development mode, before trying to run it in the
|
||||||
docker kill binance-testnet_http-api_1
|
docker kill binance-testnet_http-api_1
|
||||||
docker kill binance-testnet_node_1
|
docker kill binance-testnet_node_1
|
||||||
docker kill binance-testnet_api-server_1
|
docker kill binance-testnet_api-server_1
|
||||||
docker kill ganache_home
|
docker kill ethereum-testnet_ganache_home_1
|
||||||
docker kill ganache_side
|
docker kill ethereum-testnet_ganache_side_1
|
||||||
|
docker kill ethereum-testnet_side_oracle_1
|
||||||
```
|
```
|
||||||
3. Remove virtual networks:
|
3. Remove testnets and validators data:
|
||||||
```
|
```
|
||||||
docker network rm binance_net
|
TARGET_NETWORK=development ./demo/clean.sh
|
||||||
docker network rm blockchain_home
|
|
||||||
docker network rm blockchain_side
|
|
||||||
docker network rm validator1_test_network
|
|
||||||
docker network rm validator2_test_network
|
|
||||||
docker network rm validator3_test_network
|
|
||||||
```
|
|
||||||
4. Remove testnets and validators data:
|
|
||||||
```
|
|
||||||
TARGET_NETWORK=<network> ./demo/clean.sh
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Testing tools for both sides of the bridge
|
#### Testing tools for both sides of the bridge
|
||||||
|
|
|
@ -15,14 +15,25 @@ docker kill ganache_home ganache_side > /dev/null 2>&1 || true
|
||||||
docker rm ganache_home ganache_side > /dev/null 2>&1 || true
|
docker rm ganache_home ganache_side > /dev/null 2>&1 || true
|
||||||
docker kill $(docker ps | grep binance-testnet_ | awk '{print $1}') > /dev/null 2>&1 || true
|
docker kill $(docker ps | grep binance-testnet_ | awk '{print $1}') > /dev/null 2>&1 || true
|
||||||
docker rm $(docker ps -a | grep binance-testnet_ | awk '{print $1}') > /dev/null 2>&1 || true
|
docker rm $(docker ps -a | grep binance-testnet_ | awk '{print $1}') > /dev/null 2>&1 || true
|
||||||
|
docker kill $(docker ps | grep ethereum-testnet_ | awk '{print $1}') > /dev/null 2>&1 || true
|
||||||
|
docker rm $(docker ps -a | grep ethereum-testnet_ | awk '{print $1}') > /dev/null 2>&1 || true
|
||||||
|
|
||||||
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
||||||
docker volume rm ganache_side_data > /dev/null 2>&1 || true
|
docker volume rm ganache_side_data > /dev/null 2>&1 || true
|
||||||
docker volume rm ganache_home_data > /dev/null 2>&1 || true
|
docker volume rm ganache_home_data > /dev/null 2>&1 || true
|
||||||
docker volume rm binance_data > /dev/null 2>&1 || true
|
docker volume rm binance_data > /dev/null 2>&1 || true
|
||||||
docker volume rm binance_marketdata > /dev/null 2>&1 || true
|
docker volume rm binance_marketdata > /dev/null 2>&1 || true
|
||||||
|
|
||||||
|
docker network rm ethereum_side_rpc_net > /dev/null 2>&1 || true
|
||||||
|
docker network rm ethereum_home_rpc_net > /dev/null 2>&1 || true
|
||||||
|
docker network rm binance_net > /dev/null 2>&1 || true
|
||||||
|
docker network rm binance-testnet_binance_rpc_net > /dev/null 2>&1 || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
docker network rm validator1_test_network > /dev/null 2>&1 || true
|
||||||
|
docker network rm validator2_test_network > /dev/null 2>&1 || true
|
||||||
|
docker network rm validator3_test_network > /dev/null 2>&1 || true
|
||||||
|
|
||||||
for (( I = 1; I < 4; ++I )); do
|
for (( I = 1; I < 4; ++I )); do
|
||||||
DIRNAME="validator$I"
|
DIRNAME="validator$I"
|
||||||
rm -rf "$DIRNAME/$TARGET_NETWORK"
|
rm -rf "$DIRNAME/$TARGET_NETWORK"
|
||||||
|
|
|
@ -13,29 +13,8 @@ DEPLOY_DIR="`pwd`/src/deploy"
|
||||||
TEST_SERVICES_DIR="`pwd`/src/test-services"
|
TEST_SERVICES_DIR="`pwd`/src/test-services"
|
||||||
DEMO_DIR="`pwd`/demo"
|
DEMO_DIR="`pwd`/demo"
|
||||||
|
|
||||||
start_dev_blockchain_networks() {
|
HOME_NETWORK="ethereum_home_rpc_net"
|
||||||
echo "Starting side test blockchain"
|
SIDE_NETWORK="ethereum_side_rpc_net"
|
||||||
|
|
||||||
docker kill ganache_side > /dev/null 2>&1 || true
|
|
||||||
docker network create blockchain_side > /dev/null 2>&1 || true
|
|
||||||
docker volume create ganache_side_data > /dev/null 2>&1 || true
|
|
||||||
docker run -d --network blockchain_side --rm --name ganache_side -v "ganache_side_data:/app/db" \
|
|
||||||
-p "7545:8545" \
|
|
||||||
trufflesuite/ganache-cli:latest \
|
|
||||||
-m "shrug dwarf easily blade trigger lucky reopen cage lake scatter desk boat" -i 33 --db /app/db -b "$BLOCK_TIME" --noVMErrorsOnRPCResponse
|
|
||||||
|
|
||||||
echo "Starting home test blockchain"
|
|
||||||
|
|
||||||
docker kill ganache_home > /dev/null 2>&1 || true
|
|
||||||
docker network create blockchain_home > /dev/null 2>&1 || true
|
|
||||||
docker volume create ganache_home_data > /dev/null 2>&1 || true
|
|
||||||
docker run -d --network blockchain_home --rm --name ganache_home -v "ganache_home_data:/app/db" \
|
|
||||||
-p "8545:8545" \
|
|
||||||
trufflesuite/ganache-cli:latest \
|
|
||||||
-m "shrug dwarf easily blade trigger lucky reopen cage lake scatter desk boat" -i 44 --db /app/db -b "$BLOCK_TIME" --noVMErrorsOnRPCResponse
|
|
||||||
|
|
||||||
sleep 4
|
|
||||||
}
|
|
||||||
|
|
||||||
deploy_token() {
|
deploy_token() {
|
||||||
echo "Compiling and deploying erc20"
|
echo "Compiling and deploying erc20"
|
||||||
|
@ -45,7 +24,7 @@ deploy_token() {
|
||||||
|
|
||||||
echo "Deploying"
|
echo "Deploying"
|
||||||
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
||||||
TOKEN_ADDRESS=$(docker run --network blockchain_home --rm -v "$DEPLOY_DIR/deploy-test/build:/build/build" --env-file "$DEPLOY_DIR/deploy-test/.env.development" \
|
TOKEN_ADDRESS=$(docker run --network "$HOME_NETWORK" --rm -v "$DEPLOY_DIR/deploy-test/build:/build/build" --env-file "$DEPLOY_DIR/deploy-test/.env.development" \
|
||||||
deploy_test \
|
deploy_test \
|
||||||
--network home 2>&1 \
|
--network home 2>&1 \
|
||||||
| grep "contract address" \
|
| grep "contract address" \
|
||||||
|
@ -67,7 +46,7 @@ deploy_bridge() {
|
||||||
|
|
||||||
echo "Deploying"
|
echo "Deploying"
|
||||||
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
||||||
BRIDGE_ADDRESS=$(docker run --network blockchain_home --rm -v "$DEPLOY_DIR/deploy-home/build:/build/build" --env-file "$DEPLOY_DIR/deploy-home/.env.development" \
|
BRIDGE_ADDRESS=$(docker run --network "$HOME_NETWORK" --rm -v "$DEPLOY_DIR/deploy-home/build:/build/build" --env-file "$DEPLOY_DIR/deploy-home/.env.development" \
|
||||||
deploy_home \
|
deploy_home \
|
||||||
--network home 2>&1 \
|
--network home 2>&1 \
|
||||||
| grep "contract address" \
|
| grep "contract address" \
|
||||||
|
@ -89,7 +68,7 @@ deploy_db() {
|
||||||
|
|
||||||
echo "Deploying"
|
echo "Deploying"
|
||||||
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
||||||
SHARED_DB_ADDRESS=$(docker run --network blockchain_side --rm -v "$DEPLOY_DIR/deploy-side/build:/build/build" --env-file "$DEPLOY_DIR/deploy-side/.env.development" \
|
SHARED_DB_ADDRESS=$(docker run --network "$SIDE_NETWORK" --rm -v "$DEPLOY_DIR/deploy-side/build:/build/build" --env-file "$DEPLOY_DIR/deploy-side/.env.development" \
|
||||||
deploy_side \
|
deploy_side \
|
||||||
--network side 2>&1 \
|
--network side 2>&1 \
|
||||||
| grep "contract address" \
|
| grep "contract address" \
|
||||||
|
@ -131,25 +110,39 @@ deploy_all() {
|
||||||
sed -i 's/HOME_TOKEN_ADDRESS=.*$/HOME_TOKEN_ADDRESS='"$TOKEN_ADDRESS"'/' "$TEST_SERVICES_DIR/ethereumSend/.env.$TARGET_NETWORK"
|
sed -i 's/HOME_TOKEN_ADDRESS=.*$/HOME_TOKEN_ADDRESS='"$TOKEN_ADDRESS"'/' "$TEST_SERVICES_DIR/ethereumSend/.env.$TARGET_NETWORK"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
||||||
|
|
||||||
if [[ "$(docker volume ls | grep ganache_side_data)" ]] || [[ "$(docker volume ls | grep ganache_home_data)" ]]; then
|
if [[ "$(docker volume ls | grep ganache_side_data)" ]] || [[ "$(docker volume ls | grep ganache_home_data)" ]]; then
|
||||||
echo "Restarting dev blockchain networks"
|
echo "Restarting ethereum test network"
|
||||||
else
|
else
|
||||||
echo "Starting dev blockchain networks and deploying contracts"
|
echo "Creating new ethereum test network"
|
||||||
|
|
||||||
|
echo "Removing old environment"
|
||||||
|
docker kill $(docker ps -a | grep ethereum-testnet_ | awk '{print $1}') > /dev/null 2>&1 || true
|
||||||
|
docker rm $(docker ps -a | grep ethereum-testnet_ | awk '{print $1}') > /dev/null 2>&1 || true
|
||||||
|
docker volume rm ganache_side_data > /dev/null 2>&1 || true
|
||||||
|
docker volume rm ganache_home_data > /dev/null 2>&1 || true
|
||||||
|
|
||||||
|
docker network create ethereum_side_rpc_net > /dev/null 2>&1 || true
|
||||||
|
docker network create ethereum_home_rpc_net > /dev/null 2>&1 || true
|
||||||
|
docker volume create ganache_side_data > /dev/null 2>&1 || true
|
||||||
|
docker volume create ganache_home_data > /dev/null 2>&1 || true
|
||||||
|
|
||||||
need_to_deploy=true
|
need_to_deploy=true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
start_dev_blockchain_networks
|
echo "Starting ethereum test environment"
|
||||||
|
|
||||||
|
BLOCK_TIME="$BLOCK_TIME" docker-compose -f ./src/ethereum-testnet/docker-compose.yml up --build -d
|
||||||
|
|
||||||
|
sleep 4
|
||||||
|
|
||||||
if [[ -n "$need_to_deploy" ]]; then
|
if [[ -n "$need_to_deploy" ]]; then
|
||||||
deploy_all
|
deploy_all
|
||||||
else
|
else
|
||||||
echo "Contracts are already deployed, run clean.sh first if you want to redeploy everything"
|
echo "Contracts are already deployed, run clean.sh first if you want to redeploy everything"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "Deploying to the staging blockchain environment"
|
echo "Deploying to the staging blockchain environment"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
version: '3.0'
|
||||||
|
services:
|
||||||
|
ganache_side:
|
||||||
|
image: trufflesuite/ganache-cli:latest
|
||||||
|
command: ["-m", "shrug dwarf easily blade trigger lucky reopen cage lake scatter desk boat", "-i", "33", "--db", "/app/db", "-b", "${BLOCK_TIME}", "--noVMErrorsOnRPCResponse"]
|
||||||
|
networks:
|
||||||
|
- ethereum_side_rpc_net
|
||||||
|
ports:
|
||||||
|
- '7545:8545'
|
||||||
|
volumes:
|
||||||
|
- 'ganache_side_data:/app/db'
|
||||||
|
ganache_home:
|
||||||
|
image: trufflesuite/ganache-cli:latest
|
||||||
|
command: ["-m", "shrug dwarf easily blade trigger lucky reopen cage lake scatter desk boat", "-i", "44", "--db", "/app/db", "-b", "${BLOCK_TIME}", "--noVMErrorsOnRPCResponse"]
|
||||||
|
networks:
|
||||||
|
- ethereum_home_rpc_net
|
||||||
|
ports:
|
||||||
|
- '8545:8545'
|
||||||
|
volumes:
|
||||||
|
- 'ganache_home_data:/app/db'
|
||||||
|
side_oracle:
|
||||||
|
build: side-oracle
|
||||||
|
image: side-oracle
|
||||||
|
env_file: side-oracle/.env.development
|
||||||
|
networks:
|
||||||
|
- ethereum_side_rpc_net
|
||||||
|
- ethereum_home_rpc_net
|
||||||
|
networks:
|
||||||
|
ethereum_side_rpc_net:
|
||||||
|
external: true
|
||||||
|
ethereum_home_rpc_net:
|
||||||
|
external: true
|
||||||
|
volumes:
|
||||||
|
ganache_side_data:
|
||||||
|
external: true
|
||||||
|
ganache_home_data:
|
||||||
|
external: true
|
|
@ -0,0 +1,9 @@
|
||||||
|
HOME_RPC_URL=http://ganache_home:8545
|
||||||
|
HOME_BRIDGE_ADDRESS=0x44c158FE850821ae69DaF37AADF5c539e9d0025B
|
||||||
|
|
||||||
|
HOME_PRIVATE_KEY=e2aeb24eaa63102d0c0821717c3b6384abdabd7af2ad4ec8e650dce300798b27
|
||||||
|
|
||||||
|
SIDE_RPC_URL=http://ganache_side:8545
|
||||||
|
SIDE_SHARED_DB_ADDRESS=0xd5fE0D28e058D375b0b038fFbB446Da37E85fFdc
|
||||||
|
SIDE_MAX_FETCH_RANGE_SIZE=100
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
FROM node:10.16.0-alpine
|
||||||
|
|
||||||
|
WORKDIR /side-oracle
|
||||||
|
|
||||||
|
RUN apk update && \
|
||||||
|
apk add libssl1.1 libressl-dev curl
|
||||||
|
|
||||||
|
COPY ./package.json /side-oracle/
|
||||||
|
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
COPY ./index.js ./
|
||||||
|
|
||||||
|
ENTRYPOINT ["node", "index.js"]
|
|
@ -0,0 +1,107 @@
|
||||||
|
const ethers = require('ethers')
|
||||||
|
|
||||||
|
const {
|
||||||
|
HOME_PRIVATE_KEY, HOME_RPC_URL, HOME_BRIDGE_ADDRESS, SIDE_RPC_URL, SIDE_SHARED_DB_ADDRESS
|
||||||
|
} = process.env
|
||||||
|
const SIDE_MAX_FETCH_RANGE_SIZE = parseInt(process.env.SIDE_MAX_FETCH_RANGE_SIZE, 10)
|
||||||
|
|
||||||
|
const bridgeAbi = [
|
||||||
|
'function applyMessage(bytes message, bytes signatures)',
|
||||||
|
'function getThreshold(uint epoch) view returns (uint)',
|
||||||
|
'function getValidatorsInEpoch(uint epoch) view returns (address[])'
|
||||||
|
]
|
||||||
|
const sharedDbAbi = [
|
||||||
|
'event NewMessage(bytes32 msgHash)',
|
||||||
|
'function getSignatures(bytes32 msgHash, address[] validators) view returns (bytes)'
|
||||||
|
]
|
||||||
|
|
||||||
|
let homeProvider
|
||||||
|
let sideProvider
|
||||||
|
let bridge
|
||||||
|
let sharedDb
|
||||||
|
let homeWallet
|
||||||
|
let nonce
|
||||||
|
let blockNumber = 0
|
||||||
|
|
||||||
|
async function delay(ms) {
|
||||||
|
await new Promise((res) => setTimeout(res, ms))
|
||||||
|
}
|
||||||
|
|
||||||
|
async function handleNewMessage(event) {
|
||||||
|
const { msgHash } = event.values
|
||||||
|
const message = (await sharedDb.signedMessages(msgHash))[0]
|
||||||
|
const epoch = parseInt(message.slice(30, 3).toString('hex'), 16)
|
||||||
|
const [threshold, validators] = await Promise.all([
|
||||||
|
bridge.getThreshold(epoch),
|
||||||
|
bridge.getValidatorsInEpoch(epoch)
|
||||||
|
])
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
const signatures = await sharedDb.getSignatures(msgHash, validators)
|
||||||
|
if (signatures.length / 65 >= threshold) {
|
||||||
|
const tx = await bridge.applyMessage(message, signatures, {
|
||||||
|
gasLimit: 1000000,
|
||||||
|
nonce
|
||||||
|
})
|
||||||
|
await tx.wait()
|
||||||
|
nonce += 1
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function initialize() {
|
||||||
|
await delay(5000)
|
||||||
|
sideProvider = new ethers.providers.JsonRpcProvider(SIDE_RPC_URL)
|
||||||
|
homeProvider = new ethers.providers.JsonRpcProvider(HOME_RPC_URL)
|
||||||
|
bridge = new ethers.Contract(HOME_BRIDGE_ADDRESS, bridgeAbi, homeProvider)
|
||||||
|
sharedDb = new ethers.Contract(SIDE_SHARED_DB_ADDRESS, sharedDbAbi, sideProvider)
|
||||||
|
|
||||||
|
homeWallet = new ethers.Wallet(HOME_PRIVATE_KEY, homeProvider)
|
||||||
|
|
||||||
|
nonce = await homeWallet.getTransactionCount()
|
||||||
|
}
|
||||||
|
|
||||||
|
async function loop() {
|
||||||
|
const latestBlockNumber = await sideProvider.getBlockNumber()
|
||||||
|
if (latestBlockNumber < blockNumber) {
|
||||||
|
console.log(`No block after ${latestBlockNumber}`)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const endBlock = Math.min(latestBlockNumber, blockNumber + SIDE_MAX_FETCH_RANGE_SIZE - 1)
|
||||||
|
|
||||||
|
console.log(`Watching events in blocks #${blockNumber}-${endBlock}`)
|
||||||
|
|
||||||
|
const bridgeEvents = (await sideProvider.getLogs({
|
||||||
|
address: SIDE_SHARED_DB_ADDRESS,
|
||||||
|
fromBlock: blockNumber,
|
||||||
|
toBlock: endBlock,
|
||||||
|
topics: []
|
||||||
|
}))
|
||||||
|
|
||||||
|
for (let i = 0; i < bridgeEvents.length; i += 1) {
|
||||||
|
const event = bridge.interface.parseLog(bridgeEvents[i])
|
||||||
|
console.log('Consumed event', event, bridgeEvents[i])
|
||||||
|
switch (event.name) {
|
||||||
|
case 'NewMessage':
|
||||||
|
await handleNewMessage(event)
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
console.log('Unknown event %o', event)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
blockNumber = endBlock + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
await initialize()
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
await delay(2000)
|
||||||
|
await loop()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
main()
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"name": "side-oracle",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"dependencies": {
|
||||||
|
"ethers": "4.0.33"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.6.0"
|
||||||
|
}
|
||||||
|
}
|
|
@ -23,8 +23,8 @@ services:
|
||||||
test_network:
|
test_network:
|
||||||
aliases:
|
aliases:
|
||||||
- local_proxy
|
- local_proxy
|
||||||
blockchain_home:
|
ethereum_home_rpc_net:
|
||||||
blockchain_side:
|
ethereum_side_rpc_net:
|
||||||
binance_net:
|
binance_net:
|
||||||
keygen:
|
keygen:
|
||||||
image: keygen-client
|
image: keygen-client
|
||||||
|
@ -96,7 +96,7 @@ services:
|
||||||
- LOG_LEVEL
|
- LOG_LEVEL
|
||||||
networks:
|
networks:
|
||||||
- test_network
|
- test_network
|
||||||
- blockchain_home
|
- ethereum_home_rpc_net
|
||||||
bnc-watcher:
|
bnc-watcher:
|
||||||
build:
|
build:
|
||||||
dockerfile: bncWatcher/Dockerfile
|
dockerfile: bncWatcher/Dockerfile
|
||||||
|
@ -118,9 +118,9 @@ services:
|
||||||
- binance_net
|
- binance_net
|
||||||
networks:
|
networks:
|
||||||
test_network:
|
test_network:
|
||||||
blockchain_side:
|
ethereum_side_rpc_net:
|
||||||
external: true
|
external: true
|
||||||
blockchain_home:
|
ethereum_home_rpc_net:
|
||||||
external: true
|
external: true
|
||||||
binance_net:
|
binance_net:
|
||||||
external: true
|
external: true
|
||||||
|
|
|
@ -10,7 +10,7 @@ TARGET_NETWORK=${TARGET_NETWORK:=development}
|
||||||
docker build -t ethereum-balance . > /dev/null
|
docker build -t ethereum-balance . > /dev/null
|
||||||
|
|
||||||
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
||||||
docker run --network blockchain_home --rm --env-file ".env.$TARGET_NETWORK" ethereum-balance $@
|
docker run --network ethereum_home_rpc_net --rm --env-file ".env.$TARGET_NETWORK" ethereum-balance $@
|
||||||
else
|
else
|
||||||
docker run --rm --env-file ".env.$TARGET_NETWORK" ethereum-balance $@
|
docker run --rm --env-file ".env.$TARGET_NETWORK" ethereum-balance $@
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -10,7 +10,7 @@ TARGET_NETWORK=${TARGET_NETWORK:=development}
|
||||||
docker build -t ethereum-send . > /dev/null
|
docker build -t ethereum-send . > /dev/null
|
||||||
|
|
||||||
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
||||||
docker run --network blockchain_home --rm --env-file ".env.$TARGET_NETWORK" -e "PRIVATE_KEY=$PRIVATE_KEY" ethereum-send $@
|
docker run --network ethereum_home_rpc_net --rm --env-file ".env.$TARGET_NETWORK" -e "PRIVATE_KEY=$PRIVATE_KEY" ethereum-send $@
|
||||||
else
|
else
|
||||||
docker run --rm --env-file ".env.$TARGET_NETWORK" --env-file "../.keys.$TARGET_NETWORK" -e "PRIVATE_KEY=$PRIVATE_KEY" ethereum-send $@
|
docker run --rm --env-file ".env.$TARGET_NETWORK" --env-file "../.keys.$TARGET_NETWORK" -e "PRIVATE_KEY=$PRIVATE_KEY" ethereum-send $@
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -12,7 +12,7 @@ echo "Using $TARGET_NETWORK network"
|
||||||
docker build -t side-prefund . > /dev/null
|
docker build -t side-prefund . > /dev/null
|
||||||
|
|
||||||
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
if [[ "$TARGET_NETWORK" == "development" ]]; then
|
||||||
docker run --network blockchain_side --rm --env-file ".env.$TARGET_NETWORK" side-prefund $@
|
docker run --network ethereum_side_rpc_net --rm --env-file ".env.$TARGET_NETWORK" side-prefund $@
|
||||||
else
|
else
|
||||||
docker run --rm --env-file ".env.$TARGET_NETWORK" --env-file "../.keys.$TARGET_NETWORK" side-prefund $@
|
docker run --rm --env-file ".env.$TARGET_NETWORK" --env-file "../.keys.$TARGET_NETWORK" side-prefund $@
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -11,8 +11,8 @@ docker create --name tests --env-file ./tests/.env tests $@
|
||||||
|
|
||||||
echo "Connecting tests container to test networks"
|
echo "Connecting tests container to test networks"
|
||||||
docker network connect binance_net tests
|
docker network connect binance_net tests
|
||||||
docker network connect blockchain_home tests
|
docker network connect ethereum_home_rpc_net tests
|
||||||
docker network connect blockchain_side tests
|
docker network connect ethereum_side_rpc_net tests
|
||||||
docker network connect validator1_test_network tests
|
docker network connect validator1_test_network tests
|
||||||
docker network connect validator2_test_network tests
|
docker network connect validator2_test_network tests
|
||||||
docker network connect validator3_test_network tests
|
docker network connect validator3_test_network tests
|
||||||
|
|
Loading…
Reference in New Issue