Estoy tratando de crear un NFT usando web3.js y spl-token.js.
Sin embargo, necesito agregar metadatos (como el nombre del token u otros atributos); de lo contrario, solo aparece como "Token desconocido" en mi billetera.
Esta es la parte relevante del código donde acuño el token:
let mint = await splToken.Token.createMint( connection, fromWallet, fromWallet.publicKey, null, 0, splToken.TOKEN_PROGRAM_ID );De lo contrario, el código es similar a las respuestas a esta pregunta: Me gustaría acuñar un nuevo token en solana. ¿Cómo puedo hacer esto usando solana-web3.js?
No parece haber documentación alguna, excepto por la estructura de los metadatos (que encontré aquí: https://docs.phantom.app/integrating/tokens/on-chain-metadata ).
Si alguien pudiera indicarme la dirección correcta con un ejemplo o documentación, sería muy apreciado. ¡Gracias!
Para agregar metadatos a NFT, debe invocar este programa spl_token_metadata::instruction::create_metadata_accounts . Puede encontrar la documentación aquí https://docs.rs/spl-token-metadata/latest/spl_token_metadata/instruction/fn.create_metadata_accounts.html
Crear metadatos para un token NFT en Solana es bastante complicado. Es porque en la cuenta del token SPL de Solana no llevaría los metadatos. En su lugar, debe crear otra cuenta para llevar dichos datos. Entonces, le sugiero que use la máquina de dulces de Metaplex para hacer su propio NFT con metadatos. Puede obtener más información de su github: https://github.com/metaplex-foundation/metaplex/