docker-compose config update for different network support. Oracle update to support auto getting chainId, starting from custom block

This commit is contained in:
Kirill Fedoseev 2019-09-04 13:33:04 +03:00
parent 5f028009ec
commit 9cdadc27b2
4 changed files with 17 additions and 15 deletions

View File

@ -31,7 +31,7 @@ services:
- 'RABBITMQ_URL=amqp://rabbitmq:5672' - 'RABBITMQ_URL=amqp://rabbitmq:5672'
- 'PROXY_URL=http://proxy:8001' - 'PROXY_URL=http://proxy:8001'
volumes: volumes:
- '${PWD}/keys:/keys' - '${PWD}/${TARGET_NETWORK}/keys:/keys'
networks: networks:
- test_network - test_network
signer: signer:
@ -44,7 +44,7 @@ services:
- FOREIGN_URL - FOREIGN_URL
- FOREIGN_ASSET - FOREIGN_ASSET
volumes: volumes:
- '${PWD}/keys:/keys' - '${PWD}/${TARGET_NETWORK}/keys:/keys'
ports: ports:
- '${SIGN_RESTART_PORT}:8001' - '${SIGN_RESTART_PORT}:8001'
networks: networks:
@ -52,14 +52,14 @@ services:
redis: redis:
image: redis:5.0.5-alpine image: redis:5.0.5-alpine
volumes: volumes:
- '${PWD}/db:/data' - '${PWD}/${TARGET_NETWORK}/db:/data'
networks: networks:
- test_network - test_network
rabbitmq: rabbitmq:
hostname: rabbit hostname: rabbit
image: rabbitmq:3.7.15-alpine image: rabbitmq:3.7.15-alpine
volumes: volumes:
- '${PWD}/queue:/var/lib/rabbitmq/mnesia' - '${PWD}/${TARGET_NETWORK}/queue:/var/lib/rabbitmq/mnesia'
networks: networks:
- test_network - test_network
eth-watcher: eth-watcher:
@ -70,6 +70,7 @@ services:
- HOME_BRIDGE_ADDRESS - HOME_BRIDGE_ADDRESS
- HOME_TOKEN_ADDRESS - HOME_TOKEN_ADDRESS
- HOME_CHAIN_ID - HOME_CHAIN_ID
- HOME_START_BLOCK
- 'RABBITMQ_URL=amqp://rabbitmq:5672' - 'RABBITMQ_URL=amqp://rabbitmq:5672'
volumes: volumes:
- '../deploy/deploy-home/build/contracts/Bridge.json:/watcher/contracts_data/Bridge.json' - '../deploy/deploy-home/build/contracts/Bridge.json:/watcher/contracts_data/Bridge.json'
@ -86,7 +87,7 @@ services:
- 'RABBITMQ_URL=amqp://rabbitmq:5672' - 'RABBITMQ_URL=amqp://rabbitmq:5672'
- 'PROXY_URL=http://proxy:8001' - 'PROXY_URL=http://proxy:8001'
volumes: volumes:
- '${PWD}/keys:/keys' - '${PWD}/${TARGET_NETWORK}/keys:/keys'
networks: networks:
- test_network - test_network
networks: networks:

View File

@ -31,7 +31,7 @@ services:
- 'RABBITMQ_URL=amqp://rabbitmq:5672' - 'RABBITMQ_URL=amqp://rabbitmq:5672'
- 'PROXY_URL=http://proxy:8001' - 'PROXY_URL=http://proxy:8001'
volumes: volumes:
- '${PWD}/keys:/keys' - '${PWD}/${TARGET_NETWORK}/keys:/keys'
networks: networks:
- keygen-proxy-net - keygen-proxy-net
- rabbit-keygen-net - rabbit-keygen-net
@ -46,7 +46,7 @@ services:
- FOREIGN_URL - FOREIGN_URL
- FOREIGN_ASSET - FOREIGN_ASSET
volumes: volumes:
- '${PWD}/keys:/keys' - '${PWD}/${TARGET_NETWORK}/keys:/keys'
ports: ports:
- '${SIGN_RESTART_PORT}:8001' - '${SIGN_RESTART_PORT}:8001'
networks: networks:
@ -56,7 +56,7 @@ services:
redis: redis:
image: redis:5.0.5-alpine image: redis:5.0.5-alpine
volumes: volumes:
- '${PWD}/db:/data' - '${PWD}/${TARGET_NETWORK}/db:/data'
networks: networks:
- redis-signer-net - redis-signer-net
- redis-keygen-net - redis-keygen-net
@ -66,7 +66,7 @@ services:
hostname: rabbit hostname: rabbit
image: rabbitmq:3.7.15-alpine image: rabbitmq:3.7.15-alpine
volumes: volumes:
- '${PWD}/queue:/var/lib/rabbitmq/mnesia' - '${PWD}/${TARGET_NETWORK}/queue:/var/lib/rabbitmq/mnesia'
networks: networks:
- rabbit-signer-net - rabbit-signer-net
- rabbit-keygen-net - rabbit-keygen-net
@ -80,6 +80,7 @@ services:
- HOME_BRIDGE_ADDRESS - HOME_BRIDGE_ADDRESS
- HOME_TOKEN_ADDRESS - HOME_TOKEN_ADDRESS
- HOME_CHAIN_ID - HOME_CHAIN_ID
- HOME_START_BLOCK
- 'RABBITMQ_URL=amqp://rabbitmq:5672' - 'RABBITMQ_URL=amqp://rabbitmq:5672'
volumes: volumes:
- '../deploy/deploy-home/build/contracts/Bridge.json:/watcher/contracts_data/Bridge.json' - '../deploy/deploy-home/build/contracts/Bridge.json:/watcher/contracts_data/Bridge.json'
@ -96,7 +97,7 @@ services:
- 'RABBITMQ_URL=amqp://rabbitmq:5672' - 'RABBITMQ_URL=amqp://rabbitmq:5672'
- 'PROXY_URL=http://proxy:8001' - 'PROXY_URL=http://proxy:8001'
volumes: volumes:
- '${PWD}/keys:/keys' - '${PWD}/${TARGET_NETWORK}/keys:/keys'
networks: networks:
- rabbit-bncwatcher-net - rabbit-bncwatcher-net
- redis-bncwatcher-net - redis-bncwatcher-net

View File

@ -9,7 +9,7 @@ const bech32 = require('bech32')
const abiBridge = require('./contracts_data/Bridge.json').abi const abiBridge = require('./contracts_data/Bridge.json').abi
const abiToken = require('./contracts_data/IERC20.json').abi const abiToken = require('./contracts_data/IERC20.json').abi
const { HOME_RPC_URL, HOME_CHAIN_ID, HOME_BRIDGE_ADDRESS, RABBITMQ_URL, HOME_TOKEN_ADDRESS } = process.env const { HOME_RPC_URL, HOME_CHAIN_ID, HOME_BRIDGE_ADDRESS, RABBITMQ_URL, HOME_TOKEN_ADDRESS, HOME_START_BLOCK } = process.env
const web3Home = new Web3(HOME_RPC_URL) const web3Home = new Web3(HOME_RPC_URL)
const bridge = new web3Home.eth.Contract(abiBridge, HOME_BRIDGE_ADDRESS) const bridge = new web3Home.eth.Contract(abiBridge, HOME_BRIDGE_ADDRESS)
@ -46,7 +46,7 @@ async function initialize () {
epoch = events.length ? events[events.length - 1].returnValues.epoch.toNumber() : 0 epoch = events.length ? events[events.length - 1].returnValues.epoch.toNumber() : 0
console.log(`Current epoch ${epoch}`) console.log(`Current epoch ${epoch}`)
const epochStart = events.length ? events[events.length - 1].blockNumber : 1 const epochStart = events.length ? events[events.length - 1].blockNumber : 1
const saved = (parseInt(await redis.get('homeBlock')) + 1) || 1 const saved = (parseInt(await redis.get('homeBlock')) + 1) || parseInt(HOME_START_BLOCK)
console.log(epochStart, saved) console.log(epochStart, saved)
if (epochStart > saved) { if (epochStart > saved) {
console.log(`Data in db is outdated, starting from epoch ${epoch}, block #${epochStart}`) console.log(`Data in db is outdated, starting from epoch ${epoch}, block #${epochStart}`)
@ -168,7 +168,7 @@ async function sendSign (event) {
to: tx.to, to: tx.to,
value: `0x${new BN(tx.value).toString(16)}`, value: `0x${new BN(tx.value).toString(16)}`,
data: tx.input, data: tx.input,
chainId: parseInt(HOME_CHAIN_ID) chainId: await web3Home.eth.net.getId()
}) })
const hash = web3Home.utils.sha3(msg) const hash = web3Home.utils.sha3(msg)
const publicKey = utils.recoverPublicKey(hash, { r: tx.r, s: tx.s, v: tx.v }) const publicKey = utils.recoverPublicKey(hash, { r: tx.r, s: tx.s, v: tx.v })

View File

@ -184,7 +184,7 @@ function sideSendQuery (query) {
from: validatorAddress, from: validatorAddress,
to: SIDE_SHARED_DB_ADDRESS, to: SIDE_SHARED_DB_ADDRESS,
nonce: sideValidatorNonce++, nonce: sideValidatorNonce++,
chainId: parseInt(SIDE_CHAIN_ID) chainId: await sideWeb3.eth.net.getId()
} }
tx.gas = Math.min(Math.ceil(await query.estimateGas(tx) * 1.5), 6721975) tx.gas = Math.min(Math.ceil(await query.estimateGas(tx) * 1.5), 6721975)
const signedTx = await sideWeb3.eth.accounts.signTransaction(tx, VALIDATOR_PRIVATE_KEY) const signedTx = await sideWeb3.eth.accounts.signTransaction(tx, VALIDATOR_PRIVATE_KEY)
@ -220,7 +220,7 @@ function homeSendQuery (query) {
from: validatorAddress, from: validatorAddress,
to: HOME_BRIDGE_ADDRESS, to: HOME_BRIDGE_ADDRESS,
nonce: homeValidatorNonce++, nonce: homeValidatorNonce++,
chainId: parseInt(HOME_CHAIN_ID) chainId: await homeWeb3.eth.net.getId()
} }
tx.gas = Math.min(Math.ceil(await query.estimateGas(tx) * 1.5), 6721975) tx.gas = Math.min(Math.ceil(await query.estimateGas(tx) * 1.5), 6721975)
console.log(tx) console.log(tx)