Little refactor of bnc watcher
This commit is contained in:
parent
3621b4f70e
commit
bd6de658e1
|
@ -9,6 +9,9 @@ SIDE_SHARED_DB_ADDRESS=0xd5fE0D28e058D375b0b038fFbB446Da37E85fFdc
|
|||
FOREIGN_URL=https://testnet-dex.binance.org/
|
||||
FOREIGN_CHAIN_ID=Binance-Chain-Nile
|
||||
FOREIGN_ASSET=KFT-94F
|
||||
FOREIGN_START_TIME=1572500000000
|
||||
FOREIGN_FETCH_INTERVAL=5000
|
||||
FOREIGN_FETCH_BLOCK_TIME_OFFSET=10000
|
||||
|
||||
VALIDATOR_PRIVATE_KEY=2be3f252e16541bf1bb2d4a517d2bf173e6d09f2d765d32c64dc50515aec63ea
|
||||
|
||||
|
|
|
@ -9,6 +9,9 @@ SIDE_SHARED_DB_ADDRESS=0xda9a1cA2Fcb18cAB02934269369627D2b4ea8902
|
|||
FOREIGN_URL=https://testnet-dex.binance.org/
|
||||
FOREIGN_CHAIN_ID=Binance-Chain-Nile
|
||||
FOREIGN_ASSET=KFT-94F
|
||||
FOREIGN_START_TIME=1572500000000
|
||||
FOREIGN_FETCH_INTERVAL=5000
|
||||
FOREIGN_FETCH_BLOCK_TIME_OFFSET=10000
|
||||
|
||||
#VALIDATOR_PRIVATE_KEY is taken from .keys
|
||||
|
||||
|
|
|
@ -9,6 +9,9 @@ SIDE_SHARED_DB_ADDRESS=0xd5fE0D28e058D375b0b038fFbB446Da37E85fFdc
|
|||
FOREIGN_URL=https://testnet-dex.binance.org/
|
||||
FOREIGN_CHAIN_ID=Binance-Chain-Nile
|
||||
FOREIGN_ASSET=KFT-94F
|
||||
FOREIGN_START_TIME=1572500000000
|
||||
FOREIGN_FETCH_INTERVAL=5000
|
||||
FOREIGN_FETCH_BLOCK_TIME_OFFSET=10000
|
||||
|
||||
VALIDATOR_PRIVATE_KEY=e59d58c77b791f98f10187117374ae9c589d48a62720ec6a5e142b0cc134f685
|
||||
|
||||
|
|
|
@ -9,6 +9,9 @@ SIDE_SHARED_DB_ADDRESS=0xda9a1cA2Fcb18cAB02934269369627D2b4ea8902
|
|||
FOREIGN_URL=https://testnet-dex.binance.org/
|
||||
FOREIGN_CHAIN_ID=Binance-Chain-Nile
|
||||
FOREIGN_ASSET=KFT-94F
|
||||
FOREIGN_START_TIME=1572500000000
|
||||
FOREIGN_FETCH_INTERVAL=5000
|
||||
FOREIGN_FETCH_BLOCK_TIME_OFFSET=10000
|
||||
|
||||
#VALIDATOR_PRIVATE_KEY is taken from .keys
|
||||
|
||||
|
|
|
@ -9,6 +9,9 @@ SIDE_SHARED_DB_ADDRESS=0xd5fE0D28e058D375b0b038fFbB446Da37E85fFdc
|
|||
FOREIGN_URL=https://testnet-dex.binance.org/
|
||||
FOREIGN_CHAIN_ID=Binance-Chain-Nile
|
||||
FOREIGN_ASSET=KFT-94F
|
||||
FOREIGN_START_TIME=1572500000000
|
||||
FOREIGN_FETCH_INTERVAL=5000
|
||||
FOREIGN_FETCH_BLOCK_TIME_OFFSET=10000
|
||||
|
||||
VALIDATOR_PRIVATE_KEY=afaa4d4d6e54d25b0bf0361e3fd6cef562f6311bf6200de2dd0aa4cab63ae3b5
|
||||
|
||||
|
|
|
@ -9,6 +9,9 @@ SIDE_SHARED_DB_ADDRESS=0xda9a1cA2Fcb18cAB02934269369627D2b4ea8902
|
|||
FOREIGN_URL=https://testnet-dex.binance.org/
|
||||
FOREIGN_CHAIN_ID=Binance-Chain-Nile
|
||||
FOREIGN_ASSET=KFT-94F
|
||||
FOREIGN_START_TIME=1572500000000
|
||||
FOREIGN_FETCH_INTERVAL=5000
|
||||
FOREIGN_FETCH_BLOCK_TIME_OFFSET=10000
|
||||
|
||||
#VALIDATOR_PRIVATE_KEY is taken from .keys
|
||||
|
||||
|
|
|
@ -14,4 +14,4 @@ THRESHOLD=1
|
|||
MIN_TX_LIMIT=10000000000000000
|
||||
MAX_TX_LIMIT=100000000000000000000
|
||||
|
||||
BLOCKS_RANGE_SIZE=25
|
||||
BLOCKS_RANGE_SIZE=10
|
||||
|
|
|
@ -9,13 +9,17 @@ const { publicKeyToAddress } = require('./crypto')
|
|||
|
||||
const { FOREIGN_URL, PROXY_URL, FOREIGN_ASSET } = process.env
|
||||
|
||||
const FOREIGN_START_TIME = parseInt(process.env.FOREIGN_START_TIME)
|
||||
const FOREIGN_FETCH_INTERVAL = parseInt(process.env.FOREIGN_FETCH_INTERVAL)
|
||||
const FOREIGN_FETCH_BLOCK_TIME_OFFSET = parseInt(process.env.FOREIGN_FETCH_BLOCK_TIME_OFFSET)
|
||||
|
||||
const foreignHttpClient = axios.create({ baseURL: FOREIGN_URL })
|
||||
const proxyHttpClient = axios.create({ baseURL: PROXY_URL })
|
||||
|
||||
async function initialize () {
|
||||
if (await redis.get('foreignTime') === null) {
|
||||
logger.info('Set default foreign time')
|
||||
await redis.set('foreignTime', Date.now() - 2 * 30 * 24 * 60 * 60 * 1000)
|
||||
await redis.set('foreignTime', FOREIGN_START_TIME)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,7 +27,7 @@ async function main () {
|
|||
const { transactions, endTime } = await fetchNewTransactions()
|
||||
if (!transactions || transactions.length === 0) {
|
||||
logger.debug(`Found 0 new transactions`)
|
||||
await new Promise(r => setTimeout(r, 5000))
|
||||
await new Promise(r => setTimeout(r, FOREIGN_FETCH_INTERVAL))
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -40,7 +44,6 @@ async function main () {
|
|||
hash: `0x${tx.txHash}`
|
||||
})
|
||||
}
|
||||
//await redis.set('foreignTime', Date.parse(tx.timeStamp))
|
||||
}
|
||||
await redis.set('foreignTime', endTime)
|
||||
}
|
||||
|
@ -59,7 +62,7 @@ function getTx (hash) {
|
|||
function getBlockTime () {
|
||||
return foreignHttpClient
|
||||
.get(`/api/v1/time`)
|
||||
.then(res => Date.parse(res.data.block_time) - 10 * 1000)
|
||||
.then(res => Date.parse(res.data.block_time) - FOREIGN_FETCH_BLOCK_TIME_OFFSET)
|
||||
.catch(() => getBlockTime())
|
||||
}
|
||||
|
||||
|
@ -67,7 +70,7 @@ async function fetchNewTransactions () {
|
|||
logger.debug('Fetching new transactions')
|
||||
const startTime = parseInt(await redis.get('foreignTime')) + 1
|
||||
const address = getLastForeignAddress()
|
||||
const endTime = await getBlockTime()
|
||||
const endTime = Math.min(startTime + 3 * 30 * 24 * 60 * 60 * 1000, await getBlockTime())
|
||||
if (address === null)
|
||||
return {}
|
||||
logger.debug('Sending api transactions request')
|
||||
|
|
|
@ -102,6 +102,9 @@ services:
|
|||
- FOREIGN_ASSET
|
||||
- 'RABBITMQ_URL=amqp://rabbitmq:5672'
|
||||
- 'PROXY_URL=http://proxy:8001'
|
||||
- FOREIGN_START_TIME
|
||||
- FOREIGN_FETCH_INTERVAL
|
||||
- FOREIGN_FETCH_BLOCK_TIME_OFFSET
|
||||
- LOG_LEVEL
|
||||
volumes:
|
||||
- '${PWD}/${TARGET_NETWORK}/keys:/keys'
|
||||
|
|
|
@ -111,6 +111,9 @@ services:
|
|||
- FOREIGN_ASSET
|
||||
- 'RABBITMQ_URL=amqp://rabbitmq:5672'
|
||||
- 'PROXY_URL=http://proxy:8001'
|
||||
- FOREIGN_START_TIME
|
||||
- FOREIGN_FETCH_INTERVAL
|
||||
- FOREIGN_FETCH_BLOCK_TIME_OFFSET
|
||||
- LOG_LEVEL
|
||||
volumes:
|
||||
- '${PWD}/${TARGET_NETWORK}/keys:/keys'
|
||||
|
|
Loading…
Reference in New Issue