zainali5120
2020-10-17 53bc6ea0abbeb39146502a40292e6562c5a736d7
src/main/java/com/xcong/excoin/modules/blackchain/service/EthService.java
@@ -10,6 +10,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import org.web3j.abi.FunctionEncoder;
@@ -228,8 +229,8 @@
      String encodedFunction = FunctionEncoder.encode(function);
      RawTransaction rawTransaction = RawTransaction.createTransaction(nonce,
            Convert.toWei("40", Convert.Unit.GWEI).toBigInteger(),// 给矿工开的转账单价 单价越高越快
            Convert.toWei("80000", Convert.Unit.WEI).toBigInteger(), contractAddress, encodedFunction);//里程上限
            Convert.toWei("70", Convert.Unit.GWEI).toBigInteger(),// 给矿工开的转账单价 单价越高越快
            Convert.toWei("60000", Convert.Unit.WEI).toBigInteger(), contractAddress, encodedFunction);//里程上限
              // 10*80000/1000000000=0.0008 手续费
      byte[] signedMessage = TransactionEncoder.signMessage(rawTransaction, credentials);
@@ -237,8 +238,9 @@
      // log.debug("transfer hexValue:" + hexValue);
      EthSendTransaction ethSendTransaction = web3j.ethSendRawTransaction(hexValue).sendAsync().get();
      CompletableFuture<EthSendTransaction> ethSendTransactionCompletableFuture = web3j.ethSendRawTransaction(hexValue).sendAsync();
      EthSendTransaction ethSendTransaction = ethSendTransactionCompletableFuture.get();
      //return "hash";
      if (ethSendTransaction.hasError()) {
         // log.info("transfer error:", ethSendTransaction.getError().getMessage());
@@ -263,7 +265,7 @@
      BigInteger nonce = ethGetTransactionCount.getTransactionCount();
      BigInteger value = Convert.toWei(amount, Convert.Unit.ETHER).toBigInteger();
      RawTransaction rawTransaction = RawTransaction.createEtherTransaction(nonce,
            Convert.toWei("50", Convert.Unit.GWEI).toBigInteger(),
            Convert.toWei("70", Convert.Unit.GWEI).toBigInteger(),
            Convert.toWei("60000", Convert.Unit.WEI).toBigInteger(), toAddress, value);
      byte[] signedMessage = TransactionEncoder.signMessage(rawTransaction, credentials);
      String hexValue = Numeric.toHexString(signedMessage);