ContractTransactNoWait
ContractTransact executes a transaction on a deployed contract.
You can wait deployment using deployRes.
warning
- It requires connected wallet.
- It does not work on non-Ethereum compatible networks.
func ContractTransactNoWait(
contractAddress string,
data []byte,
) (tx *gethTypes.Transaction, err error)
func main() {
setting := gas.AlchemySetting{
ApiKey: "api-key",
Network: types.EthMainnet,
}
alchemy := gas.NewAlchemy(setting)
w, _ := wallet.New("<privateKey>")
w.Connect(alchemy.GetProvider())
contractAddress := "0x1234567890123456789012345678901234567890"
// Prepare transaction data (e.g., encoded function call)
data := abi.PackXXX(<data>)
// Execute transaction
tx, err := w.ContractTransactNoWait(contractAddress, data)
if err != nil {
panic(err)
}
// wait to be mined
receipt, err := alchemy.Transact.WaitMined(tx.Hash().Hex())
fmt.Printf("Transaction hash: %s\n", receipt.TxHash)
fmt.Printf("Status: %d\n", receipt.Status)
}