#web3js #solana
Вопрос:
Я могу создать токен и ввести его в адрес учетной записи spl. Но когда я перезапущу свою программу, как мне получить ссылку на этот токен, чтобы я снова чеканил монету?
const web3 = require("@solana/web3.js"); const splToken = require('@solana/spl-token'); const { PublicKey, Keypair, Transaction, SystemProgram, LAMPORTS_PER_SOL, sendAndConfirmTransaction, clusterApiUrl } = require("@solana/web3.js"); let secretKey = Uint8Array.from([233, 65, 11, rest of my secret]); let fromWindowsWallet = Keypair.fromSecretKey(secretKey); let connection = new web3.Connection(clusterApiUrl('devnet')); (async () =gt; { //create my new token mint let SWAB = await splToken.Token.createMint( connection, fromWindowsWallet, fromWindowsWallet.publicKey, fromWindowsWallet.publicKey, 2, splToken.TOKEN_PROGRAM_ID, ); console.log(SWAB.publicKey) // -gt; PublicKey { _bn: lt;BN: 2643549b60882496a15407c2f1a6139dd2c4128879480b1d56fdd464550db22bgt; } // ... continue with that Token SWAB }
Итак, когда я перезапущу свою программу, как я могу снова получить ссылку на образец токена? Я пытался:
let pubKey = new PublicKey("lt;BN: 6ddf6e1d765a193d9cbe146ceeb79ac1cb485ed5f5b37913a8cf5857eff00a9gt;"); let SWAB = new splToken.Token( connection, pubKey, splToken.TOKEN_PROGRAM_ID, fromWindowsWallet )
но это выдает: Ошибка: символ, не являющийся базовым 58
Ответ №1:
После создания токена я могу получить pubKey с:
console.log(SWAB.publicKey.toBase58()) // 3aN3KP6kQdBvTHTeK785Uuykddram97B844RoJc19VNS
Тогда я смогу получить ссылку на такой токен и продолжить чеканку:
let pubKey = new PublicKey('3aN3KP6kQdBvTHTeK785Uuykddram97B844RoJc19VNS'); let SWAB = new splToken.Token( connection, pubKey, splToken.TOKEN_PROGRAM_ID, fromWindowsWallet )
( connection
и fromWindowsWallet
определены в коде моего вопроса)