MaksutTilaukset

Tilausvaltuutuksen luominen

Subscription Authority on PDA, jota ohjelma käyttää SPL Token -delegaattina yhdelle käyttäjän token accountille ja yhdelle token mintille. Luo se ennen kiinteiden delegointien, toistuvien delegointien tai tilaussuunnitelmien tilausten luomista kyseiselle mintille.

Käyttäjän token account on oltava jo olemassa. Alustus luo Subscription Authority PDA:n ja hyväksyy sen token-delegaatiksi käyttäjän token accountilla.

Valtuutuksen luominen

import { address, createClient } from '@solana/kit';
import { solanaLocalRpc } from '@solana/kit-plugin-rpc';
import { signer } from '@solana/kit-plugin-signer';
import { findAssociatedTokenPda, TOKEN_PROGRAM_ADDRESS } from '@solana-program/token';
import {
fetchMaybeSubscriptionAuthority,
findSubscriptionAuthorityPda,
subscriptionsProgram,
} from '@solana/subscriptions';
const client = createClient()
.use(signer(userSigner))
.use(solanaLocalRpc({ rpcUrl: 'http://127.0.0.1:8899' }))
.use(subscriptionsProgram());
const tokenMint = address('TOKEN_MINT_ADDRESS_HERE');
const [userAta] = await findAssociatedTokenPda({
mint: tokenMint,
owner: userSigner.address,
tokenProgram: TOKEN_PROGRAM_ADDRESS,
});
const [subscriptionAuthorityPda] = await findSubscriptionAuthorityPda({
user: userSigner.address,
tokenMint,
});
const subscriptionAuthority = await fetchMaybeSubscriptionAuthority(
client.rpc,
subscriptionAuthorityPda,
);
if (!subscriptionAuthority.exists) {
await client.subscriptions.instructions
.initSubscriptionAuthority({
tokenMint,
tokenProgram: TOKEN_PROGRAM_ADDRESS,
userAta,
})
.sendTransaction();
}

Huomautukset

  • Käyttäjä allekirjoittaa alustustransaktion.
  • Luo yksi Subscription Authority jokaista käyttäjä–token mint -paria kohden.
  • Käytä olemassa olevaa Subscription Authoritya uudelleen myöhemmissä delegoinneissa samalla mintillä.
  • Sulje Subscription Authority vasta sen jälkeen, kun jokainen siitä riippuva delegointi on peruutettu tai suljettu.

Is this page helpful?

Sisällysluettelo

Muokkaa sivua
© 2026 Solana Foundation. Kaikki oikeudet pidätetään.