viem-goviem-go

switchChain

Switches the wallet's active chain

Import

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

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

Usage

See how to construct a wallet client and call this action.

import (
"context"
"log"
"github.com/ChefBingbong/viem-go/actions/wallet"
"github.com/ChefBingbong/viem-go/client"
"github.com/ChefBingbong/viem-go/client/transport"
"github.com/ChefBingbong/viem-go/chain/definitions"
)
ctx := context.Background()
walletClient, err := client.CreateWalletClient(client.WalletClientConfig{
Chain: definitions.Mainnet,
Transport: transport.HTTP("https://eth.llamarpc.com"),
})
if err != nil {
log.Fatal(err)
}
defer func() { _ = walletClient.Close() }()
err := wallet.SwitchChain(ctx, walletClient, wallet.SwitchChainParameters{
ID: 10, // Optimism
})
if err != nil {
log.Fatal(err)
}

Returns

error

Returns an error if the request fails.

Parameters

Configuration options accepted by this action.

ID

  • Type: int64

  • Required

The chain ID to switch to.

err := wallet.SwitchChain(ctx, walletClient, wallet.SwitchChainParameters{
ID: 10, // Optimism
})

JSON-RPC Method