Spl token metadata

Spl token metadata. rs crate page Apache-2. Then you want to tell Umi which wallet to use. updateAuthority: updateAuthority, // Authority that can Sep 9, 2023 · With the addition of token metadata to Token2022 and the SPL Token Metadata interface itself to the SPL library, we need to support this cool feature & interface in JavaScript! The goal here is to lay down a JavaScript library for SPL Token Metadata and then import it into @solana/spl-token for Token2022 metadata support. Jul 15, 2022 · SPL-Token's name, symbol, logo, and more can be retrieved today the following way: Get associated Metaplex Metadata Account to check for Metadata. You could set NonTransferable. Confirms that a given pubkey is equivalent to the program ID. Note If you are using a solana-program version prior to 1. Whether you are airdropping whitelist tokens to your community, bulk sending NFTs to another wallet, or managing token flows between escrow accounts, you will inevitably need to be able to transfer SPL tokens. Based on the extension you want to create, your command flags may be different. 3 Permalink Docs. 2024 Author: CoinFactory. Each Token Standard type has its own JSON schema which is defined below. Getting Started. Jan 26, 2024 · $ spl-token initialize-metadata <MINT_ADDRESS> <NAME> <SYMBOL> <URI> And from there, you can update your metadata: I have a token-2022 mint using token-2022 metadata extension. Right steps are create a token then create metadata account and then create token account and mint. Fees for transactions involving SPL tokens are paid in Solana coin (SOL). Update Field. To install them, run the following command: npm install @metaplex-foundation/js @solana/web3. Solflare's Unified Token List does this automatically if you want to use their source code. 16, first add the solana-program dependency to your project and then add mpl-token-metadata. Mint new tokens to the escrow. These programs are tested against Solana's implementation of Sealevel, solana-runtime, and some are deployed to Mainnet Beta. We will define these accounts in the following steps. We will show the entire code and then talk through what is going on. Create a new mint with Token-2022, and have them use the spl-token-upgrade program to convert. @solana/spl-token-registry. As others implement Sealevel, we will graciously accept patches to ensure the I have been trying to update the metadata for my Solana token, but I'm encountering difficulties. Each SPL-302 token is an NFT containing unique art, making it suitable for use as a profile picture (PFP). check_id. 3 normal optional Versions Transaction 1: Creates metadata file that includes your set parameters. Jan 18, 2024 · To get started creating tokens with token extensions, you can use the Solana Tool Suite to create tokens with a CLI. The interface can be implemented by any program. Our platform is designed to be user Jan 31, 2024 · Initiate a new Solang project for your SPL token using Anchor by running the command below in your project directory. You can change the symbol, name, and logo of the token here. I designed it to be a fixed supply of 18 million (it was 18. It achieves this using Program Derived Addresses (PDAs) that are derived from the address of Mint accounts. programs. Sep 11, 2023 · The information found on the Rust Docs for spl-token-metadata mostly mirrors the Metaplex information. ); // Instruction to initialize Metadata Account data. 3 normal optional Versions I recently wanted to create an SPL token and couldn't find an up-to-date guide online that didn't cost alot of SOL, or used a 3rd party paid service. Can I use the meta plex js SDK to update SPL token meta data? 0. On this page, we'll go over the process of minting these assets. The JSON schema for the tokens includes: chainId, address, name, decimals, symbol, logoURI (optional), tags (optional), and custom extensions metadata. Or probably the best option is to add a Transfer Hook that checks with a very simple program to see if the token is locked or unlocked. If you are using a solana-program version prior to 1. CLI Flag. Token program compatible with spl-token, with extensions: spl-associated-token-account: Stateless protocol defining a canonical "associated" token account for a wallet: spl-governance: DAO program using tokens for voting: spl-account-compression: Program for managing compressed accounts stored in an off-chain merkle tree: spl-feature-proposal To create a new token ( mint account) run the following command in the Solana Playground terminal. I initially created token, created account and minted tokens and then created metadata account using a script. const initializeMetadataIx = createInitializeInstruction({. Must provide an SPL token mint and be signed by the mint authority. Apr 30, 2024 · In addition, an SPL-302 token should have the TokenStandard set to “4” ProgrammableNonFungible, and the program must define the relevant additional functions, specified below. 000025344 SOL. answered Feb 8 at 1:07. Oct 27, 2023 · This is one of my favourite extensions for SPL Token2022: Token metadata. Otherwise you can find documentation on how to use new versions on the SPL docs or Solana Cookbook. metadata: PublicKey; Create a variable called MINT_CONFIG that we'll use to define the number of decimals our token will have and the number of tokens we'd like to create (mint): Set the metadata of our Token to use in uploadMetadata method: And create ON_CHAIN_METADATA that will be loading onto Solana: (The transaction step) name: string; Answer 10. 8. Information. Transaction 2: Associates Metadata accounts. Sending Solana Program Library (SPL) Tokens is a critical mechanism for Solana development. const metadata = await getTokenMetadata(. Transaction 3: Creates associated token accounts and mints tokens to the signer wallet. Functions. 2. Check here a whole blog post about how to create a Solana Token Dec 11, 2023 · 10 min read. 0 Links Jan 9, 2024 · Umi offers a program repository which can be used to bind a program address with another one, even using their name aliases. 4 million, then I burned 0. This means that first priority should be Metaplex Metadata, then @solana/spl-token-registry. For instance, you can build NFT marketplaces, token price feeds, portfolio apps, and even Web3 games. rs. programId: TOKEN_2022_PROGRAM_ID, // Token Extension Program as Metadata Program. Thanks, but I need to lock and unlock specific amounts. Various tools such as https://metaboss. Stateless protocol with an escrow account. This instruction accepts the following attributes: Authority: The signer that authorized the transfer. 000025691 SOL. Mar 19, 2024 · I'm assuming that the "doesn't work" part is referring to the "Unknown Token" name at the top, correct? If that's the case, you've actually done everything correctly, the Solana Explorer just hasn't been updated to consume the token-2022 metadata yet. You should see an output similar to the following below. By revoking the Mint Authority, you prevent additional token minting (increasing supply), effectively limiting the supply. The creation process will start and will take some seconds. Feb 8, 2024 · You can leverage the new Token Extensions to do this, specifically the metadata extension. spl-token create-token. Setting DISCLAIMERThe content herein is provided for educational, informational, and entertainment purposes only, and does not constitute an offer to sell or a solic Feb 9, 2024 · I'm trying to create SPL token with Non-Transferable Extension with metadata. The @solana/spl-token library as of version 0. Metadata account: It provides additional data and features to the underlying SPL token. Solana's Token-2022 will enhance the functionality of SPL tokens To get started, you'll need to add the mpl-token-metadata dependency to your project. The context contains the accounts that will be used for each instruction. Improve this answer. Connecting to cluster: const endpoint = clusterApiUrl('devnet'); let connection = new Connection(endpoint); const web3jsKeyPair = // load your key pair here. master If the token has no (Master) Edition account (ensuring its supply can be > 1) and uses at least one decimal place, it is a Fungible. 2. From a terminal on the root folder of your project: cargo add mpl-token-metadata. You can inspect both the token and transaction details on Solana Explorer using the Address and Signature. So, I suggest you to use Metaplex's Candy Machine to make your own NFT with Metadata. Create, mint and list Solana / SPL tokens. TOKEN_2022_PROGRAM_ID, ) Oct 13, 2021 · May be consider adding this to readme. spl-token-group-interface ^0. Solana’s token metadata refers to the information associated with tokens issued on the Solana blockchain. ts and paste the following code in. – Create folder and keypairs #. The Fungible Standard. As such, you can use this amazing tool to create killer dapps. vercel. The current standard is to use Metaplex's Token Metadata Program to add on-chain metadata for tokens. The metadata of an SPL Token includes data such as name, symbol, description and image, which may be representative of the digital asset to which the token is linked. It did until it dropped support to the original spl-list repo. This guide covers the basics of creating a token with metadata directly on-chain using the CLI. For instance, if the total supply is 100 million Jan 16, 2024 · I'm trying to fetch metadata for newly minted tokens (SPL, not NFTs) and unable to get a lot of data apart from decimals, mint_authority etc, I'd like to get the Name, Picture of the token along with other general information. Protocol burns old tokens and gives new tokens. This will generate a keypair for you where the public address starts with "key". Just to confirm if I understood all the docs correctly. @solana/spl-token-metadata includes an unpack helper function, but I'm not sure where the metadata starts in mintInfo. Critically, it needs to handle the Emit instruction with the specified discriminator b"\xfa\xa6\xb4\xfa\r\x0c\xb8F" and instruction args. 04. 5 0. Step 1. Oct 21, 2023 · Let’s Get into the Code: 1. CreateMyToken's Solana Token Maker is the easiest and the most efficient way to create SPL Tokens on the Solana Blockchain. Press 'Create token' button and confirm transaction. spl-token-metadata-interface 0. ) The following extension combinations either do not work or will not make sense to combine: Dec 1, 2023 · The token-metadata extension initialization will realloc() the account to the appropriate size; However, you must ensure that the mint account is rent-exempt for this new extended size. // Retrieve and log the metadata state. md of spl-token-metadata 👍 14 jqgsninimo, anoushk1234, annabnn812, ring0x, nathanleclaire, enzoampil, cherrynoize, bshumygora, samlaf, sunfu12, and 4 more reacted with thumbs up emoji Jan 24, 2023 · As such, you now know how to fetch NFT metadata, wallet portfolios, token balances, SPL token prices, and more. 'confirmed', // Commitment, can use undefined to use default. umi. From your project folder: cargo add mpl-token-metadata. Apr 21, 2024 · Published: 21. This metadata helps users and applications on the Create token. Revoke Mint. Estimated 0. This may be an existing or totally new field. Then we Oct 24, 2021 · Create a metadata for an NFT token in Solana is quite complicated. const asset = await getTokenMetadata(connection, mintAddress Feb 5, 2024 · Initializes the token-metadata TLV entry in an account with an update authority, name, symbol, and URI. id. The extensions display correctly on solana explorer (you can see the name, symbol, and uri along with the metadata pointer): https://ex Jan 12, 2024 · Each token extension can add some interesting functionality to fungible tokens created with the Token22 program: metadata extension - allows you to have custom metadata directly on the token mint (similar idea to using the Token Metadata program from metaplex, except you will have 1 less account and need to pay less storage rent because of that) The cost of creating the Token is 0. Service fee: 0. connection, // Connection instance. Apr 28, 2023 · Token Registry is an outdated way to retrieve token's metadata. We also discuss the metadata pointer, what it is and why it can be useful. Returns the program ID. rs is one, Strata website should also work to update the token tool. E stimated 0. Overview . I tried to: update it from here: https://token-creator-lac. Right now I can create token with each features only follow these guides, and fails to combine them. A Token Metadata program for the Solana blockchain. io as spl-token-metadata and docs. This will all the latest version of the crate in your project's dependency list. Open a new terminal and create a new folder: mkdir nice-token cd nice-token. 16, first add the solana-program dependency I created a spl 2022 token and image was not showing in phantom wallet. Because the Token Metadata program is built on top of the SPL Token program, any owner or spl-token delegate can interact with the SPL Getting started. const mintAddress = new PublicKey('token') const asset = fetchDigitalAsset(mintAddress) console. Jan 24, 2024 · (For example, you would not want to add token hooks alongside the non-transferable token extension because it would add anything to the token but still cost more to create. app/upda spl-token-group-interface ^0. You can read the written guide or check the tutorial on YouTube and there is an example on the Solana Playground. I need a bit of help with a umi project I made. Below are the flags to add to create tokens with each type of extension. I'm looking for guidance or suggestions on how to successfully update the token metadata. This program provides an interface and implementation that third parties can utilize to create and use their tokens. js @solana/spl-token-registry Token Aug 14, 2021 · The on-chain Token Metadata program is written in Rust and available on crates. Basic info about the SPL token is provided with the Metadata struct, whose account address is a PDA with Apr 19, 2024 · The init_token instruction will initialize a new SPL token with metadata, and the mint_tokens instruction will mint tokens to a specified account. The Solana Program Library (SPL) is a collection of on-chain programs targeting the Sealevel parallel runtime . Assumes that the provided mint is an SPL token mint, that the metadata account is allocated and assigned to the program, and that the metadata account has enough lamports to cover the rent-exempt reserve. Basically to get them to work I have to: Have a metadata program that adheres to the token-metadata interface. Revoke Mint Authority. I created a token like this, import { percentAmount, generateSigner, signerIdentity, createSignerFromKeypair } from &quot;@Metaplex-foundation/umi&qu Reading Legacy Token-list. const initialMetadata = await fetchMetadataFromSeeds(umi, { mint: mintAddress }); // Update the metadata attributes. This metadata typically includes details such as the token’s name, symbol, supply, decimals (if applicable), and other relevant information. Select the language / library you want to use below to get started with NFTs. Jun 1, 2023 · Token-Metadata Interface Summary Token-metadata is a very complex space, but at its base, all creators of fungible and non-fungible tokens need a way to upload information about their token on-chain. 1. Moralis also supports both the Solana mainnet and Solana devnet. We're the top rated token creator on Solana, with thousands of tokens created. Open wallet. I have tried two different websites and even attempted to hard code the metadata, but none of these approaches have worked so far. They appear correctly on solscan, but are not appearing in the phantom wallet. Our online SPL Token Creator tool is the perfect solution if you're looking to create a token quickly. This can either be a keypair or the solana wallet adapter. tlvData. So, I decided to learn and share the process with you all. Dec 1, 2023 · 1. A token program on the Solana blockchain, defining a common implementation for fungible and non-fungible tokens. This will make sure you only have a single copy of the borsh crate. bind('splToken', 'splToken2022'); const asset = await fetchDigitalAsset(umi, myMintAddress); A TypeScript interface describing the instructions required for a program to implement to be considered a "token-metadata" program for SPL token mints. Initializes a TLV entry with the basic token-metadata fields. In short, if you're going to create a token-2022 mint with the metadata-pointer and token-metadata extension programmatically, the instructions to execute would be: Dec 7, 2023 · The SPL is similar to the Ethereum Request for Communication (ERC) standard on Ethereum. Mar 10, 2023 · To fetch the metadata of a token, we will need some dependencies. Enter information about your SPL token (token name, symbol, decimals, logo, supply) Step 3. Whilst there is only one type of delegate offered by the SPL Token program, Programmable NFTs (PNFTs) allowed the Token Metadata program to provide more granular delegates that can be selected on a per-case basis. With a common interface, any wallet Apr 5, 2024 · const payer = Keypair. 25 SOL. As mentioned in the overview page, Programmable NFTs (PNFTs) are a new asset standard that allows creators to define custom rules on specific operations and delegate more granularly to third-party authorities. 0191276 SOL. Extension. below is how I tried to create Non-transferable token with metadata. This list store token and its metadata. This is the entry point to any asset as all other accounts derive from it. 1. metadata: mintAddress, // Account address that holds the metadata. I tried it out in TypeScript with the @solana/spl-token library and was able to update the Token2022 metadata with the script below. fromSecretKey(new Uint8Array(payerSecretKey)); // Fetch the initial metadata for the token. 5 SOL, it includes all fees needed for the SPL Token Creation. interface InitializeInstructionArgs {. Jul 1, 2022 · Updating the SPL token metadata is now as simple as updating an NFT on Solana. This is because PNFTs are always frozen on the SPL Token program which means we can build a delegate system on top of it. Fun fact: you can use this between any two mints! Mint account (from the SPL Token program): It defines the core properties of the underlying SPL token. How do I mint an SPL token with custom Metadata without using the Metaplex JS SDK? 1. Jan 31, 2024 · You could set a transfer fee of 100% which effectively locks the tokens. The crate provides four instructions, create_metadata_account(), update_metadata_account(), create_master_edition(), mint_new_edition_from_master_edition_via_token(), to easily create instructions for the program. Token gated transfers: The ability to control which wallets can receive tokens based on KYC identifiers; Transfer Fees: The issuer of the token can charge transfer fees to assist in monetization of transactions; Required metadata: Metadata about transfers can be mandatory, allowing payment attribution data to be bound to the transaction itself. Get associated Metaplex Metadata Account to check for Metadata; If no metadata exists, check legacy token-list from @solana/spl-token-registry; This means that first priority should be Metaplex Metadata, then @solana/spl-token-registry. Transaction 1: Creates metadata file that includes your set parameters. Dec 8, 2023 · I've tried creating a mint account with metadata stored on the mint account using the metadata pointer extension and the metadata interface, but I'm not sure how to read the metadata from the mint account. Feb 8, 2024 · Sorted by: I've used the getTokenMetadata method from the @solana/spl-token package to get this info. As we discussed in the Token Metadata overview, digital assets on Solana are composed of several on-chain accounts and off-chain data describing the token. Metaplex Token Metadata Program to attach additional data to Fungible or Non-Fungible tokens on Solana. 3. Updates a field in a token-metadata account. Must be signed by the update authority. These are simple SPL tokens with limited metadata and supply >= 0. Share. Then we Nov 14, 2023 · I created some SPL-tokens via spl-token create-token , and applied some metadata (name, symbol, description, image) via metaboss create metadata . First, if you're not already using Umi, follow these instructions to install the Umi framework. This wallet will have authority to mint. The owner of an asset can transfer it to another account by sending a Transfer instruction to the Token Metadata program. mint, // PubKey of the Mint Account. Next, install this library using the package manager of your choice. Jan 17, 2024 · For comparison, I found this other token here (NFA) that uses arweave for its token metadata as well. NFT Artwork and Metadata. We’ll break it down in the next Using a regular SPL token returns results with all these fine, but nothing for Token2022 tokens. After that you will receive the total supply of the token in the wallet you chose. If a token doesn't use the Token Metadata Standard, it uses the Solana Labs Token List. Examples are USDC, GBTC and RAY. To use the old version, install it with: npm install @solana/spl-token@0. Instead, you have to create another account to carry such data. What is my best source to get this data? (Preferably in Python BUT if JS gets the job done, we can move over) Thank you . 4 a couple of weeks ago) and 12 decimal places. Operational Sep 8, 2022 · TOKEN_2022_PROGRAM_ID. The --solidity flag indicates the use of Solang for compiling. An interface describing the instructions required for a program to implement to be considered a "token-metadata" program for SPL token mints. 3 normal optional spl-token-metadata-interface ^0. After all I came up with this (somehow I don't have any syntax highlighting [maybe not a feature on this site?], so I have uploaded the code here as well): Jan 9, 2024 · It could be a Metaplex Token Metadata account, or it could point to the mint itself, which is what you would need to do for the spl-token initialize metadata you are trying above. First we create a new keypair that will be the owner of our token: solana-keygen grind --starts-with key:1. I realized that Phantom no longer displays the icon due to this issue. It is noted that this list is obsolete since June 20,2022 in favor of the Token Metadata Standard. Typically, this is the owner of the asset but note that certain delegated authorities can also transfer assets on behalf Dec 13, 2023 · Edit: this is the correct strategy by the way -- I don't think metaplex supports spl-token multisigs as authorities, so you'll have to change the mint authority to a single key to create the metadata – Jon C I'm trying to add metadata to my token on the Devnet and every solution listed on the documentation doesn't seem to work. Upon connecting your wallet, all tokens you own will be displayed, and you can enter by selecting a token from the list. With a common interface, any wallet, dapp, or on-chain program can read the metadata, and any tool that creates or modifies To get started, you'll need to install the Umi framework and the Token Metadata JavaScript library. const updatedData = {. That's it, you can now interact with NFTs by using Mar 28, 2024 · Solana Program Library. The metadata of a token refers to additional information associated with that token, providing details about its characteristics, properties and origin. No code, simple, user friendly, the cheapest, easiest way and most trusted Solana Token Creator. SPL tokens run parallel to the native Solana token on the Solana network and utilize the network’s infrastructure. After changing, click the 'Update Token spl-token-metadata-interface-0. You can access the management screen directly by entering the Token Address (Mint). We define the context for each instruction. Instead the actions are split up and exported separately. log(asset) This also errors. Go to the ' UPDATE METADATA ' tab. A token program on the Solana blockchain, usable for fungible and non-fungible tokens. Using the Mint account of the token address, with: This errors. Sep 1, 2021 · The concept of the Token Metadata program is to provide decorator structs to a token mint. Connect your Solana wallet and select network (mainnet, devnet or testnet). anchor init my-spl-token --solidity. Remove Key Apr 29, 2024 · I have BACH Token, a spl-token that I created two years ago, more or less. The Token-2022 Program, also known as Token Extensions, is a superset of the functionality provided by the Token Program. First, you need to calculate the metadata address of the token, which can be done using @metaplex-foundation/js lib like this: This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. Next, you may create your Umi instance and install the mplTokenMetadata plugin like so. Solana Token Registry is a package that allows application to query for list of tokens. Step 2. If no metadata exists, check legacy token-list from @solana/spl-token-registry. It's metada looks a lot more normal: It's metada looks a lot more normal: Looking at the arweave source, it looks mostly the same as yours, however there are a few differences, most notably it has an indent for each field of its metadata, which Mar 27, 2023 · In order to mint a fungible SPL token, we’ll first want to create a Devnet Wallet and airdrop SOL into it. It is because in Solana SPL-token account would not carry the Metadata. This command sets up a new folder named my-spl-token with essential files. 0 does not have the Token class. Whether we want to mint a Fungible, Semi-Fungible or Non-Fungible asset, the overall process is the same: Upload off-chain data. This proposal contains a spec for a simple token-metadata state and instruction interface for SPL token mints. Token-Metadata Interface. tk oh um so cs hy vy ty zo lo

1