Как получить ссылку на ранее созданный токен в Solana (на стороне клиента, JS)

#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 определены в коде моего вопроса)