Verification of submitted transaction.
Closed this issue · 6 comments
Hi,
To send just-minted NFTs to other wallet, it's essential to check if the submitted transaction for minting the tokens is verified.
Is there any way to find it?
Could you elaborate on what you mean by "verified" please?
Let me explain what I'm actually doing:
(first of all, imagine there are 10,000,000 lovelace in my wallet)
- Mint NFTs (for my wallet)
- After minting, send that NFTs to other wallet.
I've written 2 methods(mintNFTs
, sendNFTs
) for each feature above.
Then, calling sendNFTs
right after mintNFTs
will build a transaction, and that transaction includes --tx-out=${mywalletaddress}+10000000
causes the ValueNotConservedUTXO
error. The reason is because lovelace
of wallet is not actually 10000000 after that minting. Makes sense?
So I have to wait until the transaction for mint
is verified, and after that I call the sendNFTs
.
For a solution, I will make a method verifyTransaction
like this:
const verifyTransaction = (txHash: string) => {
return new Promise((res) => {
console.log(`Verifying minted transaction for ${txHash}...`);
while (true) {
var transInfo = cardano.queryUtxoByTransactionHash(txHash, 0);
if (transInfo && transInfo.length) {
console.log(`Transaction for ${txHash} has verified!`);
res('Verified');
break;
}
}
});
};
And use it between mintNFTs
and sendNFTs
.
Promise.resolve(mintNFTs) // returns the hash of the minting transaction
.then(verifyTransaction) // check that transaction is verified
.then(sendNFTs); // after verified, then send!
I'm not good at Cardano, and not sure this is a good approach. I really want your opinions.
To tell you the truth, I came up this logic because I couldn't find the way to mint NFTs directly to other wallet. Is it impossible to mint tokens directly?
I think I got your point. You want to listen to the network to check when the transaction is submitted to create the next one right?
This library does not offer such a feature out of the box since it is just a wrapper around cardano-cli
, but you can build your methods using the library as you did.
I think you are looking for this
Perfect! BTW, I think it's essential and will be necessary to implement such a new feature to make this library more powerful and adoptable.
Thanks for sending the url which was a great help, but there's no tech solution to check the status of the transaction.
Do you have any idea on this?
Do you have any idea on this?
I am not sure since I don't usually work with NFTs, but it is highly probable that some see already solved that problem.