xiaoyong931011
2023-07-23 61bbe73c538fa51544a21b73fb2b0ad64e2b5973
src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java
@@ -1,5 +1,6 @@
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;
@@ -24,6 +25,7 @@
import org.web3j.utils.Convert;
import java.math.BigInteger;
import java.util.List;
@Component
@@ -86,12 +88,10 @@
    // 合约地址 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) {
@@ -175,11 +175,7 @@
        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();
            }
@@ -207,6 +203,24 @@
        }
        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();