viem-goviem-go

getTransactionConfirmations

Returns the number of blocks passed since the transaction was processed on a block

Import

Import the public actions package so you can call this action.

import "github.com/ChefBingbong/viem-go/actions/public"

Usage

You can fetch confirmations by transaction hash:

import (
"context"
"log"
"github.com/ethereum/go-ethereum/common"
"github.com/ChefBingbong/viem-go/actions/public"
"github.com/ChefBingbong/viem-go/client"
"github.com/ChefBingbong/viem-go/client/transport"
"github.com/ChefBingbong/viem-go/chain/definitions"
)
ctx := context.Background()
publicClient, err := client.CreatePublicClient(client.PublicClientConfig{
Chain: definitions.Mainnet,
Transport: transport.HTTP("https://eth.llamarpc.com"),
})
if err != nil {
log.Fatal(err)
}
defer func() { _ = publicClient.Close() }()
txHash := common.HexToHash("0x...")
confirmations, err := public.GetTransactionConfirmations(ctx, publicClient, public.GetTransactionConfirmationsParameters{
Hash: &txHash,
})
if err != nil {
log.Fatal(err)
}
log.Printf("Confirmations: %d", confirmations)

Or using an existing transaction receipt:

receipt, err := public.GetTransactionReceipt(ctx, publicClient, public.GetTransactionReceiptParameters{
Hash: txHash,
})
if err != nil {
log.Fatal(err)
}
confirmations, err := public.GetTransactionConfirmations(ctx, publicClient, public.GetTransactionConfirmationsParameters{
TransactionReceipt: receipt,
})
if err != nil {
log.Fatal(err)
}
log.Printf("Confirmations: %d", confirmations)

Returns

uint64

The number of blocks passed since the transaction was processed. If confirmations is 0, then the transaction has not been confirmed & processed yet.

Parameters

Configuration options accepted by this action.

Hash

  • Type: *common.Hash
  • Optional

The hash of the transaction. Optional if TransactionReceipt is provided.

import (
"github.com/ethereum/go-ethereum/common"
"github.com/ChefBingbong/viem-go/actions/public"
)
txHash := common.HexToHash("0x...")
confirmations, err := public.GetTransactionConfirmations(ctx, publicClient, public.GetTransactionConfirmationsParameters{
Hash: &txHash,
})

TransactionReceipt

  • Type: *types.Receipt
  • Optional

The transaction receipt. Optional if Hash is provided.

receipt, err := public.GetTransactionReceipt(ctx, publicClient, public.GetTransactionReceiptParameters{
Hash: txHash,
})
if err != nil {
log.Fatal(err)
}
confirmations, err := public.GetTransactionConfirmations(ctx, publicClient, public.GetTransactionConfirmationsParameters{
TransactionReceipt: receipt,
})

JSON-RPC Method

Underlying JSON-RPC methods used by this action.

Uses eth_getBlockNumber and eth_getTransaction or eth_getTransactionReceipt to calculate confirmations.