createNonceManager
Creates a Nonce Manager for automatic nonce generation
Creates a new Nonce Manager instance to be used with a Local Account. The Nonce Manager is used to automatically manage & generate nonces for transactions.
Import
import { createNonceManager } from 'viem/nonce'
Usage
A Nonce Manager can be instantiated with the createNonceManager
function with a provided source
.
The example below demonstrates how to create a Nonce Manager with a JSON-RPC source (ie. uses eth_getTransactionCount
as the source of truth).
import { createNonceManager, jsonRpc } from 'viem/nonce'
const nonceManager = createNonceManager({
source: jsonRpc()
})
Integration with Local Accounts
A nonceManager
can be passed as an option to Local Accounts to automatically manage nonces for transactions.
example.ts
import { privateKeyToAccount, nonceManager } from 'viem/accounts'
import { client } from './config'
const account = privateKeyToAccount('0x...', { nonceManager })
const hashes = await Promise.all([
↓ nonce = 0 client.sendTransaction({ account,
to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
value: parseEther('0.1'),
}),
↓ nonce = 1 client.sendTransaction({ account,
to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
value: parseEther('0.2'),
}),
])
Return Type
NonceManager
The Nonce Manager.
Parameters
source
- Type:
NonceManagerSource
The source of truth for the Nonce Manager.
Available sources:
jsonRpc
import { createNonceManager, jsonRpc } from 'viem/nonce'
const nonceManager = createNonceManager({
source: jsonRpc()
})