Send Transaction

Once the web application is connected to Blocto wallet, it can send transactions on behalf of the user, with the user's permission.

In order to send a transaction, the web application must:

  • Create an unsigned transaction or transactions.

  • Have it be signed by the user's Blocto wallet.

  • Send it with Blocto custom JSON-RPC.

For more information about the transactions on Solana, it is recommended to check out the solana-web3.js docs as well as the official Solana docs.

Plain Transaction

For plain transactions (no dApp-side signing involved), you can just create transaction with solana-web3.js and sign-and-send the transaction with signAndSendTransaction method.

const transaction = new solanaWeb3.Transaction();
...
const txHash = await bloctoSDK.solana.signAndSendTransaction(transaction);

Partial Sign Transaction

For transactions involving dApp-side signing, first you need to convert the transaction to our wallet-compatible format by calling convertToProgramWalletTransaction, and sign the instructions with your keys, then sign-and-send the partial-signed transaction with our signAndSendTransaction method.

const transaction = new solanaWeb3.Transaction();
...
const converted = await bloctoSDK.solana.convertToProgramWalletTransaction(transaction);
const signers = [new solanaWeb3.PublicKey('yourpublickey')];
converted.partialSign(...signers);

const txHash = await bloctoSDK.solana.signAndSendTransaction(converted);

Last updated

Change request #370: docs: add web sdk v0.5.0 ERC-4337 docs