You don't have to store a lot of information on the blockchain itself to provide certain evidence. (that something existed at a certain time or was signed by someone, or that something was not tampered with).
Usually, it is enough to store for example a link to something and a hash or a signature. (i.e. onchain should be stored only the data that are ...
At the moment maxTxSize = 16384 bytes (including metadata).
If we talk about the max number of characters in a 16 KB text file with UTF-8 encoding (8-bit), then this is 16384 characters, since each character weighs exactly 1 byte. This is more than enough, to describe transaction's body and add a reach metadata to it.
Here is an important note regarding Tx ...
Looks like you are using the CLI correctly, and the question was really about the NFT metadata standard. The usage of "721" as the top level key is to be compatible with Etherium token metadata and 3rd party sites that showcase ETH NFTs.
Alessandro of BERRY/SpaceBudz is the one who proposed this as a CIP on the Cardano forums and it seems to have ...
I found that it is possible in the following way:
Use the Wallet API to find a minting transaction from a list of all of your wallet's transactions https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listTransactions. You can find here also metadata but for a better format, you can proceed to the below step.
Use blockfrost.io API to get ...
The uniqueness of an NFT comes from its minting policy, not the metadata. If you create a script that can only mint one token, then you know any token with that address as its currency symbol is unique, and thus non-fungible.
One possible solution to your problem is a smart contract that holds the proof-of-ownership NFT for you. When the watch maker ...
There is a metadata standard. You can check it here: CIP-0025
"image": <uri | array>,
Yes there is NFT metadata stored on-chain and yes they are stored initially on the mint tx although you can update it later (basically overriding it in a new tx). If the NFT metadata follow the CIP25 you'll see it "properly" rendered on several sites such as pool.pm.
The process is the same but you need to specify in your cardano-cli transaction build command, all your assets to mint. For example:
cardano-cli transaction build-raw \
--fee 197797 \
--tx-in 6af4fea10fe3fd7120ab7e3f5361ae15d898f4fa6ebddcf585a80865010722dd#0 \
--tx-out $(cat key1/payment.addr)+15850022+"1 $(cat policy.id).nft1"+"1 $(cat ...
Does Cardano allow for appending metadata like an arbitrary hash string to a transaction?
I believe you can do this without needing any tokens/NFTs by just making a transaction that has the metadata attached:
This can be done using the --metadata-json-file switch when building the transaction:
If the value of NFTs (their purchase price or last traded value) were to be added to staking then both the ADA used to purchase them and the NFT would counted. This would make it possible to double your staking rewards by selling an NFT to yourself or a collaborator.
It would also affect the Cardano monetary policy.
Stake pool operation is a serious ...
I still do not know the meaning of the values given to top-level integer keys, but I was able to get cardano-cli transaction build-raw to work by putting my original JSON as a value of a top-level integer key of 721. On cardanoscan.io, I noticed that the metadata has a 'label', which explorer.cardano.org lacks. I surmised that the label is the top-level ...
The metadata in your mint transaction looks good, it follows the standard correctly.
The only thing that kind of violates that standard is the size of your image (see chapter "Structure"):
The image and name property are marked as required. image should be an URI pointing to a resource with mime type image/* used as thumbnail or as actual link if ...
I'm sure there is more than one way to do this. Tokens can include metadata and depending on what behavior you want you could structure it different ways.
A couple of options come to mind:
Use the Cardano CLI to add hash string to the metadata of a token
Write a smart contract that owns an NFT with the hash string as data
I would first look at the Cardano ...
@Mitchell Turner is right.
I want to add this. In Cardano you can mint NFTs using:
Native scripts: using this option you're the owner of the policy keys (files) to mint a NFT with that policy Id. Unless your keys are stolen, then nobody else could use them to mint a NFT using the same policy Id. That means, nobody can update the metadata of your NFTs.
Currently, transactions on Cardano are limited to a maximum of 16k so you probably wouldn't want to store the document directly onto the blockchain. That said, you might want to consider storing the document onto something like an IPFS and then referencing the signed document from the metadata.
As for waiting for Hydra, while Hydra may change the fees and ...
Yes, it's possible. You can mint multiple NFTs using different metadata, all this in the same transaction. Here is an example of how you should structure your metadata
Take a look on this: How to mint multiple NFT assets in the same transaction?
But you have the restriction of the max transaction size, you can't go over that limit. Depending of your metadata,...
You would never include the actual mp3/mp4 in your smart contract. That's a lot of space (probably more than could ever fit on the chain) and unnecessary.
Instead, you could create a hash of the clip and attach that hash as metadata of an NFT--thus showing unique ownership. That's how NFTs for images/pictures work typically.
How you store the mp3/mp4 is up ...
Values change, so this is safe for the current parameters:
$ cardano-cli query protocol-parameters --mainnet | jq .maxTxSize
But these are in flux, so you can try to be mindful of upcoming changes. Metadata is so versatile that if it didn't get larger there would probably be a way to deal with this, but it's in as much flux as many of the other ...
I'm not sure if you will query blockfrost each time someone lands on the website or once per day?
In case you start running into quota you could also run your own cardano-graphql instance to query metadata for asset (token) or you can use already hosted solution by gimbalabs https://gimbalabs.com/dandelion/graphql-api
I surely hope there's a better answer than mine, but, as a workaround, I believe one option would be to use the NFT TokenName as a metadata. For example, you could have a minting policy that would verify the conditions you provided and, if they met, use the user's PubKeyHash as the token name.
In the script validator (which will accept or reject the NFT) you ...
Looking at the minting transaction, there seems to be a mismatch between the policy ID in the minting transaction and the metadata policy ID field:
Minting policy ID: 77a6f71a13e82794409d06c7486a59bb7a6af38e223b646c07e3262e
Metadata policy ID: ...
The metadata of a native token must be included in the minting transaction.
The token itself only has a Policy Id, an Asset Name and a Fingerprint.
Here's an example of a token, there you can see under the tab "mint transactions" the Tx and the metadata of the NFT: https://cardanoscan.io/token/59fdb627c01bd87326bef5f4df179bcccb2a2f43
When I hear the word "traceability" with respect to Plutus, a StateMachine comes to mind.
With a StateMachine, one address is maintained all through the lifetime of one instance of the state machine.
Each State can contain an arbitrary amount/type of elements as state data; and you can make use of the transition function to perform operations in ...