小编Oma*_*mar的帖子

如何获取ERC-721 tokenID?

我创建了一个部署在 ropston 网络上的 ERC-721 合约。使用合约我正在创建 NFT,它完全运行良好。

现在,对于转账部分,我需要获取任何 NFT 的 tokenID 并将其转账到其他地址,但每当我从 etherscan 或使用 web3 获取交易详细信息时,我都无法获取 tokenID。

我想将 tokenID 存储在数据库中,以便在转移到其他地址时可以使用它。

在此输入图像描述

我已经圈出了上图中所需的确切 tokenID。

我正在使用以下代码:

window.ethereum
    .request({
        method: 'eth_sendTransaction',
        params: [
            {
                from: fromAddress,
                to: contractAddress,
                gas: '50000',
                data: nftContract.methods.transferFrom(fromAddress, toAddress, tokenNumber).encodeABI()
            },
        ],
    })
Run Code Online (Sandbox Code Playgroud)

我只想在NFT创建时获取tokenID并将其存储到数据库中以供参考并执行业务逻辑。

function mintNFT(address recipient, string memory tokenURI)
        public onlyOwner
        returns (uint256)
    {
        _tokenIds.increment();

        uint256 newItemId = _tokenIds.current();
        _mint(recipient, newItemId);
        _setTokenURI(newItemId, tokenURI);

        return newItemId;
    }
Run Code Online (Sandbox Code Playgroud)

以上是负责创建 NFT 的 Solidity 函数。

javascript ethereum solidity web3js

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

ethereum ×1

javascript ×1

solidity ×1

web3js ×1