fix
wzy
2022-08-26 b507b7d1f2501eb1c6202f89b5c8681f88cbbdf1
fix
2 files modified
11 ■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/chain/EthService.java 6 ●●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/ChainTest.java 5 ●●●●● patch | view | raw | blame | history
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();
src/test/java/cc/mrbird/febs/ChainTest.java
@@ -138,4 +138,9 @@
    public void chainListener(){
        ChainService.contractEventListener(new BigInteger("20767516"), new BigInteger("20767516"), bscUsdtContractEvent, ChainEnum.BSC_USDT_LISTENER.name());
    }
    @Test
    public void nftTest() {
        ChainService.getInstance(ChainEnum.BSC_NFT_SDC.name()).safeMintNFT("0xdf034cb12a2d42c000a58b582cf61d2b481c42d6");
    }
}