Carbon Instance
Create an instance of Carbon to interface with the Solana program. The instance properties program
, pdas
, instructions
, transactions
and methods
can then be used to interact with the Carbon program.
Backend
The given provider should use a wallet derived from the marketplace authority keypair if being used in a trusted backend environment (e.g. node server). This will allow the instance to use permissioned methods conveniently.
import {AnchorProvider, Wallet} from "@coral-xyz/anchor";
import {Connection, Keypair} from "@solana/web3.js";
import {Carbon} from "@raresloth/carbon-sdk";
const marketplaceAuthorityKey = Keypair.fromSecretKey(Buffer.from(
JSON.parse(fs.readFileSync(MARKETPLACE_AUTH_KEYPATH, 'utf8'))
));
const connection = new Connection(RPC_URL, { commitment: 'confirmed' })
const provider = new AnchorProvider(
connection,
new Wallet(marketplaceAuthorityKey),
{
preflightCommitment: 'confirmed',
}
)
const carbon = new Carbon(provider, marketplaceAuthorityKey.publicKey)
Frontend
When using on the frontend (e.g. react app) this should use the connected wallet instead.
import {AnchorProvider} from "@coral-xyz/anchor";
import {Connection} from "@solana/web3.js";
import {useAnchorWallet} from "@solana/wallet-adapter-react";
import {Carbon} from "@raresloth/carbon-sdk";
const anchorWallet = useAnchorWallet()
const connection = new Connection(RPC_URL, { commitment: 'confirmed' })
const provider = new AnchorProvider(
connection,
anchorWallet,
{
preflightCommitment: 'confirmed',
}
)
const carbon = new Carbon(provider, anchorWallet.publicKey)
Last updated