| | |
| | | public void chainBlockUpdate() { |
| | | BigInteger blockNumber = ChainService.getInstance(ChainEnum.BSC_USDT.name()).blockNumber(); |
| | | |
| | | redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_NEWEST_NUM, blockNumber); |
| | | redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_NEWEST_NUM, BigInteger.valueOf(26745054)); |
| | | } |
| | | |
| | | @Scheduled(cron = "0/2 * * * * ? ") |
| | |
| | | toIncrement = incrementBlock.add(BigInteger.ONE); |
| | | } |
| | | |
| | | redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM, toIncrement); |
| | | redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM, BigInteger.valueOf(26745054)); |
| | | } |
| | | |
| | | @Override |
| | |
| | | // ChainService.wssBaseCoinEventListener(block, bscUsdtContractEvent); |
| | | // ChainService.wssContractEventListener(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); |
| | | ChainService.wssContractEventListener2(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); |
| | | |
| | | // BigInteger section = BigInteger.valueOf(5000); |
| | | // while (newest.subtract(block).compareTo(section) > -1) { |
| | | // BigInteger end = block.add(section); |
| | | // log.info("监听:[{} - {}]", block, end); |
| | | // ChainService.contractEventListener(block, end, bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); |
| | | // |
| | | // block = block.add(section); |
| | | // if (block.compareTo(newest) > 0) { |
| | | // block = newest; |
| | | // } |
| | | // } |
| | | // ChainService.contractEventListener(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); |
| | | long end = System.currentTimeMillis(); |
| | | log.info("区块链监听启动完成, 消耗时间{}", end - start); |
| | | } |
| | |
| | | |
| | | String address = e.to; |
| | | String hash = e.log.getTransactionHash(); |
| | | List<String> tdCoinWallets = memberCoinAddressDao.selectAllSymbolAddress(CoinTypeEnum.USDT.toString(),"ERC20"); |
| | | // Set<Object> addressList = redisUtils.sGet(ChainConstants.REDIS_KEY_SYSTEM_ADDRESS); |
| | | // List<String> tdCoinWallets = memberCoinAddressDao.selectAllSymbolAddress(CoinTypeEnum.USDT.toString(),"ERC20"); |
| | | Set<Object> addressList = redisUtils.sGet(ChainConstants.REDIS_KEY_SYSTEM_ADDRESS); |
| | | // 判断对方打款地址是否为源池地址 |
| | | if(CollUtil.isNotEmpty(tdCoinWallets) && tdCoinWallets.contains(address)){ |
| | | if(CollUtil.isNotEmpty(addressList) && addressList.contains(address)){ |
| | | // if(CollUtil.isNotEmpty(tdCoinWallets) && tdCoinWallets.contains(address)){ |
| | | log.info("触发USDT合约监听事件"); |
| | | // redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM, e.log.getBlockNumber()); |
| | | redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM, e.log.getBlockNumber()); |
| | | // hash没有用过 |
| | | Map<String, Object> param = new HashMap<>(); |
| | | param.put("hash", hash); |
| | |
| | | domain: https://openapi.alipaydev.com/gateway.do |
| | | |
| | | system: |
| | | chain-listener: false |
| | | chain-listener: false |
| | | # chain-listener: true |
| | |
| | | // memberCoinAddressEntity.getAddress(), |
| | | // AppContants.ERC20_POOL_ADDRESS, |
| | | // balanceOf.toString()); |
| | | // long start = System.currentTimeMillis(); |
| | | // Object incrementObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM); |
| | | // BigInteger newest = ChainService.getInstance(ChainEnum.BSC_USDT.name()).blockNumber(); |
| | | // BigInteger block; |
| | | // if (incrementObj == null) { |
| | | // block = newest; |
| | | // } else { |
| | | // block = newest; |
| | | // } |
| | | //// ChainService.wssBaseCoinEventListener(BigInteger.valueOf(26737044), baseCoinService); |
| | | // ChainService.wssContractEventListener2(BigInteger.valueOf(26739725), bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); |
| | | |
| | | |
| | | long start = System.currentTimeMillis(); |
| | | Object incrementObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM); |
| | | BigInteger newest = ChainService.getInstance(ChainEnum.BSC_USDT.name()).blockNumber(); |
| | |
| | | if (incrementObj == null) { |
| | | block = newest; |
| | | } else { |
| | | block = newest; |
| | | block = (BigInteger) incrementObj; |
| | | } |
| | | // ChainService.wssBaseCoinEventListener(BigInteger.valueOf(26737044), baseCoinService); |
| | | ChainService.wssContractEventListener2(BigInteger.valueOf(26739725), bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); |
| | | |
| | | |
| | | // ChainService.wssBaseCoinEventListener(block, baseCoinService); |
| | | // ChainService.wssBaseCoinEventListener(block, bscUsdtContractEvent); |
| | | // ChainService.wssContractEventListener(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); |
| | | // ChainService.wssContractEventListener2(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); |
| | | |
| | | BigInteger section = BigInteger.valueOf(5000); |
| | | while (newest.subtract(block).compareTo(section) > -1) { |
| | | BigInteger end = block.add(section); |
| | | ChainService.contractEventListener(block, end, bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); |
| | | |
| | | block = block.add(section); |
| | | if (block.compareTo(newest) > 0) { |
| | | block = newest; |
| | | } |
| | | } |
| | | ChainService.contractEventListener(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name()); |
| | | long end = System.currentTimeMillis(); |
| | | } |
| | | // |
| | | // @Test |