0

我正在尝试测试我正在构建的 ERC-721 合同的一些功能。
该合约已成功部署到我的本地 Ganache 区块链,并使用了一些可用的 OpenZeppelin 合约接口。

目前的 mint 函数如下所示:

    function mint() public payable {
        require(!hasExceededMaxTokenAmount, "All available tokens have already been minted!");
        require(balanceOf(msg.sender) == 0, "Only one token can be minted per account!");
        require(msg.value >= price, "Incorrect amount of ether sent. Minting a token requires 0.015 ether");

        _safeMint(msg.sender, totalSupply() + 1);
        if (totalSupply() == MAX_MINT_AMOUNT) {
            hasExceededMaxTokenAmount = true;
        }

    }

打开truffle console我检索了我的合同contract = await myContract.deployed(),现在我正在尝试测试该函数的mint功能。问题是这个函数是payable并且需要msg.sender有一个值,所以当我contract.mint()单独调用它时会抛出一些错误。

我的问题是:考虑到该功能是如何构建的,我如何使用本地 Ganache 区块链上的另一个帐户来与该功能交互并为该帐户铸造一个代币?

谢谢你。

4

0 回答 0