Examples
Send Transactions
Sign and send transactions on the Quai and Qi ledgers.
1
Configure Wallet
To send a Quai transaction, you’ll first need to connect a Wallet or QuaiHDWallet to a Provider.
const provider = new quais.JsonRpcProvider('https://rpc.dev.quai.network', undefined, { usePathing: true })
// initialize wallet
const wallet = new quais.Wallet(privateKey, provider)
// initialize HD wallet
const hdWallet = quais.QuaiHDWallet.fromMnemonic(mnemonic)
await hdWallet.connect(provider)
2
Build Transaction
Then, build the transaction you want to send using the QuaiTransactionRequest type.
// get to address from wallet
const from = wallet.getAddress()
// get to address from HD wallet
const addressInfo = hdWallet.getAddressNextAddress(0, quais.Zone.Cyprus1)
const from = addressInfo.address
// build simple transfer transaction
const txData: QuaiTransactionRequest{
from,
to: "0x002F4783248e2D6FF1aa6482A8C0D7a76de3C329",
value: quais.parseQuai("1.0"),
}
The above transaction is a simple value transfer. Additional transaction params for more complex transactions can be found in the QuaiTransaction class.
3
Send and Sign Transaction
Finally, sign and broadcast the transaction using your wallet of choice.
// send transaction with wallet
const tx = await wallet.sendTransaction(txData)
const txReceipt = await tx.wait()
// send transaction with HD wallet
const tx = await hdWallet.sendTransaction(txData)
const txReceipt = await tx.wait()
Was this page helpful?