This guide will walk you through the process of setting up Capsule with Solana using the
@usecapsule/solana-web3.js-v1-integration
package.
Installation
First, you’ll need to install the necessary packages:
npm install @usecapsule/solana-web3.js-v1-integration @solana/web3.js
Setting Up Capsule with Solana
Here’s how to set up Capsule with Solana:
import { CapsuleSolanaWeb3Signer } from '@usecapsule/solana-web3.js-v1-integration';
import * as solana from '@solana/web3.js';
import Capsule, { Environment } from '@usecapsule/web-sdk';
const capsule = new Capsule(Environment.BETA, YOUR_API_KEY);
const connection = new solana.Connection(solana.clusterApiUrl('devnet'), 'confirmed');
const solanaSigner = new CapsuleSolanaWeb3Signer(capsule, connection);
Usage
Once you’ve set up the CapsuleSolanaWeb3Signer
, you can use it to interact with the Solana
network. Here’s a basic example:
const publicKey = solanaSigner.sender;
console.log('Signer public key:', publicKey.toBase58());
const balance = await connection.getBalance(publicKey);
console.log('Balance:', balance / solana.LAMPORTS_PER_SOL, 'SOL');
Signing Transactions
To sign and send a transaction:
const transaction = new solana.Transaction().add(
solana.SystemProgram.transfer({
fromPubkey: solanaSigner.sender,
toPubkey: new solana.PublicKey('RECIPIENT_ADDRESS'),
lamports: solana.LAMPORTS_PER_SOL * 0.1,
})
);
try {
const signature = await solanaSigner.sendTransaction(transaction, {
skipPreflight: false,
preflightCommitment: 'confirmed',
});
console.log('Transaction sent:', signature);
} catch (error) {
console.error('Error sending transaction:', error);
}
Server-Side Usage
If you need to use Capsule with Solana on the server-side, please check our
Server-Side Signing Guide for specific instructions.
Remember to always handle errors appropriately and ensure your user is authenticated with Capsule
before attempting to use the signer.
For more advanced usage and a complete API reference, please refer to the
Solana Web3.js documentation.