curl --request POST \
--url https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af \
--header 'Content-Type: application/json' \
--data '{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_sendRawTransaction",
"params": [
"0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
]
}'
{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}
curl --request POST \
--url https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af \
--header 'Content-Type: application/json' \
--data '{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_sendRawTransaction",
"params": [
"0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
]
}'
{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}
eth_sendRawTransaction
method to submit the signed transaction to the Gnosis Chain network for processing.
eth_sendRawTransaction
is used to modify the state of the blockchain, it is not possible to duplicate the same request.data
— the signed transaction. The serialized transaction data, which includes the transaction metadata such as the nonce, gas price, gas limit, recipient address, and data payload, as well as the digital signature generated using the private key associated with the address that is sending the transaction. Typically, signed with a library such as web3.py, web3.js, or ethers.js using the sender’s private key.result
— the unique hash identifying the transaction or the zero hash if the transaction is not available yet. The zero hash is a special value that represents an invalid or null hash.eth_sendRawTransaction
code examplesconst Web3 = require("web3");
const Tx = require('ethereumjs-tx').Transaction;
const Common = require('ethereumjs-common').default;
const NODE_URL = "CHAINSTACK_NODE_URL";
const web3 = new Web3(NODE_URL);
async function sendEth(value) {
// Define the sender and receiver addresses, and the private key
const sender = '0x19e7e376e7c213b7e7e7e46cc70a5dd086daff2a';
const receiver = '0xe9ba4b4d84d7a3c80245514213b88d50ed937114';
const privateKey = Buffer.from('1111111111111111111111111111111111111111111111111111111111111111', 'hex');
// Define the gas limit
const gasLimit = await web3.eth.estimateGas({
from: sender,
to: receiver,
});
// Get the transaction count for the sender address
const nonce = await web3.eth.getTransactionCount(sender);
// Define the transaction object
const transactionObject = {
to: receiver,
gasPrice: web3.utils.toHex(web3.utils.toWei('50', 'gwei')),
gasLimit: web3.utils.toHex(gasLimit),
nonce: web3.utils.toHex(nonce),
value: web3.utils.toHex(web3.utils.toWei(value, 'ether')),
};
// Define the chain configuration
const common = Common.forCustomChain(
'mainnet', {
name: 'sepolia',
networkId: 11155111,
chainId: 11155111,
},
'petersburg',
);
// Create a new transaction object to sign
const tx = new Tx(transactionObject, {
common
});
// Sign the transaction using the private key
const signedTx = tx.sign(privateKey);
// Serialize the signed transaction and send it to the blockchain
const serializedTx = tx.serialize();
const rawTransaction = '0x' + serializedTx.toString('hex');
console.log(`Raw transaction: ${rawTransaction}\n`)
try {
console.log(`Sending transaction...`)
const result = await web3.eth.sendSignedTransaction(rawTransaction);
console.log(`Transaction hash: ${result.transactionHash}`);
} catch (error) {
console.error(error);
}
}
sendEth("2");
sender
, receiver
, and privateKey
fields to be able to use this code.eth_sendRawTransaction
is to automatically swap ETH for a token when its price reaches a certain level. eth_sendRawTransaction
will allow specifying custom transaction parameters, such as gas price or gas limit, to optimize the speed and cost of the transaction.
For instance, you could build a program monitoring the price of a specific token and execute a swapExactETHForTokens
transaction when the token reaches a certain price level, it could use eth_sendRawTransaction
to submit a raw transaction with a custom gas price and limit that are optimized for the current network conditions.The transaction hash.
The response is of type object
.
Was this page helpful?