Algorand Standard Asset (ASA)
The Algorand Standard Asset (ASA) is a standardized, Layer-1 mechanism to represent any type of asset on the Algorand blockchain. ASAs can include fungible assets (such as currencies, stablecoins, utility tokens, etc), non-fungible assets (unique assets such as tickets, etc.), restricted fungible assets (such as securities), and restricted non-fungible assets (such as licenses, certifications). Asset issuers, or specified delegates, can optionally have the ability to freeze an accountâs ability to transact with their asset and clawback their asset when required.
Reply to this thread with questions and feedback related to this new functionality!
I had a few questions regarding asset creation and its transfer.
goal asset create command is used to create the assets. For fungible tokens, I can specify the number of assets needed as they should work fine with all the steps mentioned.
However, I have a query regarding the Non-fungible tokens. The assetmetadatab64 field is used to attach more details like deeds, certificate or similar. Also, unitname flag can be used to give the name of the asset.
As each token is unique in case of NFTs, do I need to create one token every time mentioning total flag as 1, unlike the Fungible Token can, where we suggest total token needed?
Or I can create the total flag to mention the total number of token needed and at the time of minting, I can use assetmetadatab64 and notes filed to attach more information for each token?
Lastly, on the transfer of the non-fungible token from one address to another, how can I assign more information about the transfer, maybe the change of ownership details.
These are general queries; I might be wrong in a lot of concepts, please consider this as a thread for creating NFTs and transferring them from one to another, like in case of tickets, maintaining the transparency of the supply chain.
For NFTs, your first bullet point is correct. You want to create one single token representing that asset.
For the third bullet point, the change of ownership will be officially represented already in the âfromâ and âtoâ fields of the transaction and the balance on the ledger. But if you want to add more information about it, you could use the note field on the asset transfer transaction.
In the case where you are creating a lot of NFTs, like for ticket sales or supply chain use cases, you just need to adhere to the Algorand account maximum of 1,000 assets per account. This is just to ensure that account state for any single account does not become too large. How you decide to divvy up new assets across Algorand accounts is up to you.
What are the best practices for working with ASA asset precision? I do not find a field to define precision when issuing an ASA. BTC defines a precision of 8 and ETH 18.
This is query in continuation with my previous question about NFTs and FTs.
As one account is limited to 1,000 assets, also there is a need for opt-in for each of them as well.
If we use FTs along with note field to use group of FT assets as NFTs (adding the unique note field). This is possible. However, if I need to transfer each asset from one account to another, is it possible to transfer and how?
letsâs say Alice has 100 Assets (Fungible Token FT) with asset-id 123. She adds a note field to two different single assets (Note 1, Note 2) and transfer to Bob. Can later Bob transfer the asset with Note field Note 1 to Catherine? Is this kind of asset transfer possible and how?
The note field will not be stored as part of the asset, so you would have to establish some off-chain semantics for your use case. Something like âthe details of the individual asset are encoded in the note field of the first transfer of that assetâ. Iâm not sure this is really what youâre looking for though. Also because if those are pooled into another account at any point, you will immediately lose track of that asset.
Would you be willing to share more specifically what you are looking to do? I would be happy to share with more of the team here and see if we can help figure out a more optimal solution. Feel free to DM me if you prefer.
Someone is testing assets out in TestNet and has created dozens of a coin. This isnât wrong, but if you use the query @visybl posted, it will only get the ten most recently created coins - all of which would be this test coin.
There isnât a query to get all assets back from the ledger, the best you can do is grab 100 at a time, and use the Index ID of the last asset as input as an argument to a second query.
do i need Algos in my account before I can create ASAs?
trying to create on the testnet but the dispenser isnât sending Algos.
getting
âCouldnât broadcast tx with algod: HTTP 400 Bad Request: TransactionPool.Remember: transaction xxx : overspend: (account xxx, dataâŚâ
Following @akshaykant 's line of thought, if Iâm creating say a collectible card game using NFA, do I need to create an individual ASA for each card? Wouldnât it make more sense to create one single ASA which holds all of the cards? Maybe using some sort of sub-asset to create individual cards with distinct attributes?
You need to create one ASA for each type of cards. Suppose you want to have 10 52-card decks, and it does not matter from which deck a given card is.
Then, you would create 52 ASA: