繁体   English   中英

react web3解析并存储来自returnValues的交易[收据值]

[英]react web3 parse and store a transaction [receipt value] from returnValues

我正在使用 Hashlips github repo 进行铸造 Dapp。 我已经使用 dapp 成功铸币,铸币交易完成后,我将交易收据发送到控制台日志。

在交易收据中,我们有 events > transfer > returnValues。 我想读取一个特定的返回值并将其存储,这样我就可以在另一个 function 中使用这个值。

基本上在returnValues中,我存储了一个tokenID:'xnumberhere' ,我需要使用它来组合我将上传到 IPFS 的图像。

如何通过收据解析以保存特定的 object 数据,例如TokenID甚至是blockNumber / blockHash等父级

当前功能- 见第 23/24 行记录收据

请参阅我要在其中检索 tokenID 的控制台日志的此图像

const claimNFTs = () => {
    let cost = CONFIG.WEI_COST;
    let gasLimit = CONFIG.GAS_LIMIT;
    let totalCostWei = String(cost * mintAmount);
    let totalGasLimit = String(gasLimit * mintAmount);
    console.log("Cost: ", totalCostWei);
    console.log("Gas limit: ", totalGasLimit);
    setFeedback(`Minting your ${CONFIG.NFT_NAME}...`);
    setClaimingNft(true);
    blockchain.smartContract.methods
      .mintNFT(mintAmount)
      .send({
        gasLimit: String(totalGasLimit),
        to: CONFIG.CONTRACT_ADDRESS,
        from: blockchain.account,
        value: totalCostWei,
      })
      .once("error", (err) => {
        console.log(err);
        setFeedback("Sorry, something went wrong please try again later.");
        setClaimingNft(false);
      })
      .then((receipt) => {
        console.log(receipt);
        setFeedback(
          `WOW, the ${CONFIG.NFT_NAME} is yours! go visit Opensea.io to view it.`
        );
        setClaimingNft(false);
        dispatch(fetchData(blockchain.account));
        getData();
      });
  };

为了检索我的 Mint 交易的事件响应,我使用了以下内容:

var tokenId = receipt.events.Transfer.returnValues.tokenId
        console.log("Your NFT ID is: " + receipt.events.Transfer.returnValues.tokenId); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM