Comment on page
Batch Transaction
Use Blocto SDK to Combine multiple transactions and make them atomic
Note that Blocto SDK for EVM-compatible chains is still in Beta. APIs are subject to breaking changes.
With Blocto, you can combine multiple transactions into a single transaction for the following advantages:
- 1.Save gas fee
- 2.Make multiple transactions atomic, so they either all succeed or all fail
There are two ways to combine transactions:
import Web3 from 'web3';
// Use the Ethereum provider injected by Blocto app
const txHash = await bloctoSDK.ethereum.request({
method: 'blocto_sendBatchTransaction',
params: [
web3.eth.sendTransaction.request(SOME_REQUEST),
web3.eth.sendTransaction.request(SOME_OTHER_REQUEST)
]
})
console.log(txHash) // ex: 0x12a45b...
import Web3 from 'web3';
// Use the Ethereum provider injected by Blocto app
const web3 = new Web3(bloctoSDK.ethereum);
const batch = new web3.BatchRequest();
batch.add(web3.eth.sendTransaction.request(SOME_REQUEST));
batch.add(web3.eth.sendTransaction.request(SOME_OTHER_REQUEST));
batch.execute();
import Web3 from "web3";
import BloctoSDK from "@blocto/sdk";
const bloctoSDK = new BloctoSDK({
ethereum: {
chainId: "0x5", // (required) chainId to be used
rpc: `https://goerli.infura.io/v3/${YOUR_INFURA_ID}`, // (required for Ethereum) JSON RPC endpoint
},
});
const web3 = new Web3(bloctoSDK.ethereum);
export { web3, bloctoSDK };
const txHash = await bloctoSDK.ethereum.request({
method: 'blocto_sendBatchTransaction',
params: [
web3.eth.sendTransaction.request(SOME_REQUEST),
web3.eth.sendTransaction.request(SOME_OTHER_REQUEST)
]
})
console.log(txHash) // ex: 0x12a45b...
Last modified 4d ago