对于离线交易不做过多解释~,
代码参考:https://gitee.com/DHing/signature-transaction
package com.bscoin.coldwallet.cointype.eth;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.HashMap;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.web3j.crypto.Credentials;
import org.web3j.crypto.ECKeyPair;
import org.web3j.crypto.Keys;
import org.web3j.crypto.RawTransaction;
import org.web3j.crypto.TransactionEncoder;
import org.web3j.utils.Convert;
import org.web3j.utils.Numeric;
public class EthWallet {
private static Logger logger = LoggerFactory.getLogger(EthWallet.class);
//private static ObjectMapper objectMapper = ObjectMapperFactory.getObjectMapper();
//默认 GAS
public final Long GAS_LIMIT = 25000L;
/**
*生成钱包:
* 公钥、私钥、地址
*/
public static Map<String,String> createWallet() throws Exception{
ECKeyPair ecKeyPair = Keys.createEcKeyPair();
//WalletFile walletFile = Wallet.createLight(password, ecKeyPair);
//System.out.println("address " + walletFile.getAddress());
String privateKey = ecKeyPair.getPrivateKey().toString(16);
String publicKey = ecKeyPair.getPublicKey().toString(16);
String address = Keys.getAddress(ecKeyPair.getPublicKey());
Map<String,String> result = new HashM