我已经能够使用使用
web3.Keypair.generate()
生成的自定义钱包创建自定义代币,但现在如何限制这些代币的供应或删除这些 SPL 代币的铸造权限?
为了防止更多铸币,您需要将铸币权限设置为
None
。 在 JS 中,您可以在使用 [1] 中的 newAuthority
调用 null
时将 setAuthority
设置为 authorityType = MintTokens
扩展 Jon Cinque 的答案
import { Connection, clusterApiUrl, Keypair, PublicKey } from '@solana/web3.js'
import { Token, TOKEN_PROGRAM_ID } from '@solana/spl-token'
import * as bs58 from 'bs58';
(async () => {
const connection = new Connection(clusterApiUrl('mainnet-beta'))
const bytes = bs58.decode(process.env.PRIVATE_KEY)
const account = Keypair.fromSecretKey(bytes)
const tokenMint = new PublicKey('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v')
const token = new Token(connection, tokenMint, TOKEN_PROGRAM_ID, account)
await token.setAuthority(tokenMint, null, 'MintTokens', account.publicKey, [account])
})()
从 '@solana/spl-token' 导入 { Token, TOKEN_PROGRAM_ID }
“@solana/spl-token”模块中似乎没有 Token。