作成中の 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()
私の質問は次のとおりです。関数がどのように構築されているかを考えると、ローカルのガナッシュ ブロックチェーンで別のアカウントを使用して、関数とやり取りし、そのアカウントにトークンを作成するにはどうすればよいですか?
ありがとうございました。