| | |
| | | package cc.mrbird.febs.dapp.contract.andao; |
| | | |
| | | import cc.mrbird.febs.common.contants.AppContants; |
| | | import cc.mrbird.febs.common.contants.SystemConstants; |
| | | import cc.mrbird.febs.common.service.RedisService; |
| | | import cc.mrbird.febs.dapp.entity.DappFundFlowEntity; |
| | |
| | | import org.web3j.utils.Convert; |
| | | |
| | | import java.math.BigInteger; |
| | | import java.util.List; |
| | | |
| | | |
| | | @Component |
| | |
| | | |
| | | // 合约地址 TODO |
| | | // private static String contractAddr = "0xb5a1aC0fA05BFb8ad16B231e84b0bAC1d46eAfD0";//测试 |
| | | private static String contractAddr = "0x99A08A65DB5542f35b96FD69F01896Bd3cDB9DC4"; |
| | | private static String contractAddr = "0xbE8470ff4cF69eb6F2923aE3A8B29f58Ea81cEb0"; |
| | | |
| | | // 操作账号 手续费钱包地址的私钥(合约里会把手续费转到你这个私钥地址上) 用于操作合约内方法 TODO |
| | | private static String privateKey = "3ff7147104fcc4b3e47eef1c6a826107ad13f8ceaf46d6747b7cd4e56f8b01c6";//测试 |
| | | |
| | | // private static String privateKey = AppContants.FEE_ADDRESS_KEY.get("feeAddressKey").toString() ; |
| | | private static String privateKey = AppContants.FEE_ADDRESS_KEY.get("feeAddressKey").toString() ; |
| | | |
| | | private EthFilter getFilter(BigInteger startBlock) { |
| | | if (startBlock != null) { |
| | |
| | | contract.withdrawnEventFlowable(filter).subscribe(e->{ |
| | | try { |
| | | // 更新区块编号 TODO |
| | | if(ObjectUtil.isEmpty(e.log.getBlockNumber())){ |
| | | redisService.set("BNB_BLOCK_NUMBER",startBlock.intValue()); |
| | | }else{ |
| | | redisService.set("BNB_BLOCK_NUMBER",e.log.getBlockNumber().intValue()); |
| | | } |
| | | redisService.set("BNB_BLOCK_NUMBER",e.log.getBlockNumber().intValue()); |
| | | }catch (Exception exception) { |
| | | exception.printStackTrace(); |
| | | } |
| | |
| | | } |
| | | return transactionHash; |
| | | } |
| | | // /** |
| | | // * 初始化合约地址 |
| | | // */ |
| | | // public String setAddress(List<String> list){ |
| | | // String transactionHash = null; |
| | | // Credentials credentials = Credentials.create(privateKey); |
| | | // Abi contract = Abi.load(contractAddr, getInstance(), credentials, getStaticGasProvider()); |
| | | // try { |
| | | // //BigInteger bigInteger = Convert.toWei(amount.toString(), Convert.Unit.ETHER).toBigInteger(); |
| | | // TransactionReceipt send = contract.initializeAddresses(list).send(); |
| | | // if(ObjectUtil.isNotEmpty(send)){ |
| | | // transactionHash = send.getTransactionHash(); |
| | | // } |
| | | // } catch (Exception exception) { |
| | | // exception.printStackTrace(); |
| | | // } |
| | | // return transactionHash; |
| | | // } |
| | | |
| | | public static void main(String[] args) { |
| | | AndaoContractMain andaoContractMain = new AndaoContractMain(); |