小编Ahs*_*san的帖子

如何接收Solidity智能合约交易函数返回的值?

我正在编写一个NFT 智能合约,我将通过Hardhat对其进行测试并部署在RSK上。

//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";

contract MyNFT is ERC721URIStorage {
    uint private _counter;
    address private _owner;

    constructor() ERC721("My NFT", "MNFT") {
      _owner = msg.sender;
    }

    function owner() public view returns (address) {
      return _owner;
    }

    function mintNFT(address recipient, string memory tokenURI)
        public returns (uint256)
    {
        require(msg.sender == owner(), "Only owner is allowed to mint");
        uint newItemId = ++_counter;
        ERC721._mint(recipient, newItemId);
        ERC721URIStorage._setTokenURI(newItemId, tokenURI);

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

这里我有两个公共函数:owner并且mintNFT都返回一些值。在我的测试中,我想读取来自这两个函数的返回值。这些是我在 …

solidity rsk ethers.js hardhat

11
推荐指数
2
解决办法
8240
查看次数

标签 统计

ethers.js ×1

hardhat ×1

rsk ×1

solidity ×1