Submitting transactions is a core task when interacting with blockchains, like peaq. Transactions include transferring funds, interacting with smart contracts, or deploying contracts. A transaction is required each time we want to write data to the blockchain and it’s the responsibility of the developer to construct the transaction call data. This guide provides a structured approach to submitting transactions usingDocumentation Index
Fetch the complete documentation index at: https://docs.peaq.xyz/llms.txt
Use this file to discover all available pages before exploring further.
ethers.js, ensuring efficiency and security.
Prerequisites
Before following the instructions, ensure the following:- Environment Setup:
- Node.js and npm (or pnpm/yarn) are installed.
- Ethers.js library is installed:
npm install ethers.
- Account Setup:
- You have access to a private key or a connected wallet (e.g., MetaMask).
- Your wallet has sufficient funds for gas fees.
- Blockchain Setup:
- You know the URL of the RPC you’re interacting with.
- You understand the transaction details, including recipient address, value, and any data (if applicable).
- Security Awareness:
- Never expose your private key or mnemonic in your code.
- Use environment variables for sensitive information.
Instructions
1. Install and Import ethers.js
In your JavaScript file, import ethers.js:2. Set Up a Provider
Connect to an Ethereum-compatible network:3. Configure a Signer
Create a wallet instance to sign transactions:4. Define the Transaction
Set up the transaction details:data in the transaction object.
5. Sign and Submit the Transaction
Sign and send the transaction:6. Verify the Transaction
Monitor the transaction using thetxResponse.hash in a block explorer or programmatically check its status using the provider.getTransactionReceipt method.
Notes
- Gas Estimation: For more complex transactions, calculate gas estimates using
contract.estimateGas.methodName(). - Smart Contracts: For interacting with contracts, set up the contract instance using its ABI and address:
Putting it all Together
Here’s a complete boilerplate script that ties together all the steps for submitting a transaction usingethers.js. This script includes environment variable handling, transaction setup, and submission.
Instructions for Using the Boilerplate Script
- Install Dependencies: Ensure you have the required packages installed:
- Set ESM Module:
Add the following to your
package.jsonto alllow for ESM modules.
- Set Up Environment Variables:
Create a
.envfile in the root directory of your project with the following keys:
- Run the Script: Execute the script in your terminal:
- Modify Transaction Details:
- Replace
0xRecipientAddressHerewith the recipient’s address. - Adjust
value,maxFeePerGas, andmaxPriorityFeePerGasas needed.
- Replace

