fix
wzy
2022-08-26 b507b7d1f2501eb1c6202f89b5c8681f88cbbdf1
src/main/java/cc/mrbird/febs/dapp/chain/EthService.java
@@ -4,6 +4,7 @@
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.bouncycastle.jcajce.provider.digest.SHA3;
import org.web3j.abi.FunctionEncoder;
import org.web3j.abi.FunctionReturnDecoder;
@@ -35,6 +36,7 @@
 * @author wzy
 * @date 2022-04-15
 **/
@Slf4j
public class EthService implements ContractChainService {
    private Web3j web3j;
@@ -407,15 +409,15 @@
            String encodedFunction = FunctionEncoder.encode(function);
            RawTransaction rawTransaction = RawTransaction.createTransaction(nonce,
                    Convert.toWei(gas, Convert.Unit.GWEI).toBigInteger(),
                    Convert.toWei("1000000", Convert.Unit.WEI).toBigInteger(), contractAddress, encodedFunction);
                    Convert.toWei("500000", Convert.Unit.WEI).toBigInteger(), contractAddress, encodedFunction);
            byte[] signedMessage = TransactionEncoder.signMessage(rawTransaction, credentials);
            String hexValue = Numeric.toHexString(signedMessage);
            CompletableFuture<EthSendTransaction> ethSendTransactionCompletableFuture = web3j.ethSendRawTransaction(hexValue).sendAsync();
            EthSendTransaction ethSendTransaction = ethSendTransactionCompletableFuture.get();
            if (ethSendTransaction.hasError()) {
                log.info("card:{}", JSONObject.toJSONString(ethSendTransaction));
                return "";
            } else {
                return ethSendTransaction.getTransactionHash();