func Transfer(client *ethclient.Client, privateKeyHex string, recipient common.Address,
amount *big.Int, data []byte) (transaction *types.Transaction, err error) {
privateKey, err := crypto.HexToECDSA(privateKeyHex)
if err != nil {
log.Fatal(err)
}
publicKey := privateKey.Public()
publicKeyECDSA, ok := publicKey.(*ecdsa.PublicKey)
if !ok {
return nil, ErrEcdsaPublickey
}
fromAddress := crypto.PubkeyToAddress(*publicKeyECDSA)
nonce, err := client.PendingNonceAt(context.Background(), fromAddress)
if err != nil {
return nil, err
}
gasLimit, err := estimateGas(client, fromAddress, recipient, amount, data) // in units
if err !=
go 使用solidity合约
最新推荐文章于 2024-05-21 12:50:18 发布