Sending type 3 transaction to Ethereum: Step by Step Guide
Starting with Ethereum 2.0, type 3 transactions (EIP-4844) allows you to improve and more flexible smart contracts. In this article we will look at how type 3 transactions using a drop of transaction.
What is the EIP-4844 deal?
The EIP-4844 transaction is a new type of transaction that allows you to transfer data from one address to another without the need for a separate feature call. This means that you can now interact with smart contracts in a more streamlined way.
How to send type 3 transaction
You will need to use the Eth_sendtransacace of type 3 to send Ethereum. Here is an example of how to do this:
`JavaScript
Const web3 = ask (‘web3’);
Const network = New Web3.Providers.httppprovider (‘
Const Contractaddress = ‘0x …’; // Replace with your contract address
Const Data = ‘Hi, the World!’;
Const Gasprice = 20; // Optional gas price (optional)
Web3.eth.sendtransaction ({
No: Network Account.get (‘Your Account Address’)
Gas: 2000000, // Set a high gas limit to avoid gas errors
NONCE: Web3.utils.Tohex (Web3.eth.GettransactionCount (Network.accounts [0])), // Get current Nece (Optional)
Value: Web3.Util.Towei (‘1’, ‘ether’), // Set the value of 1 ether
data,
Gasprice: Gasprice
}, (error, transactionhash) => {
IF (error) {
Console.Error (error);
} else {
Console.log (“Successfully sent a transaction! Transaction hash: $ {transactionhash});
}
});
RAW API Calls using Type 3 Deal
Here is an example of sending type 3 transactions using the Web3 Library:
`JavaScript
Const web3 = ask (‘web3’);
Const network = New Web3.Providers.httppprovider (‘
Const Contractaddress = ‘0x …’; // Replace with your contract address
Const Data = ‘Hi, the World!’;
Const Gasprice = 20; // Optional gas price (optional)
Web3.eth.sendtransaction ({
No: Network Account.GET (‘Your Account Address’)
Gas: 2000000, // Set a high gas limit to avoid gas errors
NONCE: Web3.utils.Tohex (Web3.eth.GettransactionCount (Network.accounts [0])), // Get current Nece (Optional)
Value: Web3.Util.Towei (‘1’, ‘ether’), // Set the value of 1 ether
data,
Gasprice: Gasprice
}, {
JSONRPC: ‘2,0’,
Method: “eth_sendtransaction”
})
`
Sending type 3 transaction with drop data
To send type 3 transactions with Blob data, you will need to use the “Eth_Sedtransacace” method and the JSONRPC parameter is “2.0”. Then you can transfer a drop of data as a string:
`JavaScript
Const web3 = ask (‘web3’);
Const network = New Web3.Providers.httppprovider (‘
Const Contractaddress = ‘0x …’; // Replace with your contract address
Const Gasprice = 20; // Optional gas price (optional)
Const Data = Buffer.from (‘Hi, World!’, ‘UTF8’); // Create a string of data drops
Web3.eth.sendtransaction ({
No: Network Account.get (‘Your Account Address’)
JSONRPC: ‘2,0’,
Method: “Eth_sendtransaction”
}, {
Parami: [data],
Gasprice,
Gas: 2000000, // Set a high gas limit to avoid gas errors
NONCE: Web3.utils.Tohex (Web3.eth.GettransactionCount (Network.accounts [0])), // Get current Nece (Optional)
Value: Web3.Util.Towei (‘1’, ‘ether’), // Set the value of 1 ether
data,
JSONRPCEVERSION: 2.0
})
`
Note that you will need to replace your account address “andYour project_id
respectively with your actual Ethereum account address and project ID.
I hope it helps!