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()

私の質問は次のとおりです。関数がどのように構築されているかを考えると、ローカルのガナッシュ ブロックチェーンで別のアカウントを使用して、関数とやり取りし、そのアカウントにトークンを作成するにはどうすればよいですか?

ありがとうございました。

4

0 に答える 0