Buying Items
Backend
Delisting ItemsFrontend
Buying Virtual Items
// ...User requests a buy virtual transaction
// Backend
const collectionConfigPDA = carbon.pdas.collectionConfig(collectionMintAddress)
const collectionConfig = await carbon.program.account.collectionConfig.fetch(collectionConfigPDA)
const listingPDA = carbon.pdas.listing(itemId)
const listing = await carbon.program.account.listing.fetch(listingPDA)
const {transaction} = await carbon.transactions.buyVirtual({
buyer,
collectionConfig,
listing,
metadata: { // Generated based on what this item is
name,
uri
}
})
const responseBody = {
tx: transaction.serialize({
// Buyer still needs to sign
requireAllSignatures: false,
verifySignatures: false
}).toString('base64'),
}
// ...Send responseBody back to buyer for signature
// Frontend
const tx = Transaction.from(Buffer.from(responseBody.tx, 'base64'));
const signedTx = await anchorWallet.signTransaction(tx)
const serialized = signedTx.serialize()
const signature = await conn.sendRawTransaction(serialized)
With Custody
Buying NFTs
Last updated