0

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

在交易收据中,我们有 events > transfer > returnValues。我想读取一个特定的返回值并存储它,以便我可以在另一个函数中使用这个值。

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

我如何通过收据解析以保存特定的对象数据,例如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();
      });
  };

4

1 回答 1

0

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

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

于 2022-02-08T15:59:13.247 回答