Erc-721

如何查看 Ganache 中的合約餘額?

  • October 27, 2021

在使用 Ganache 進行本地測試時,我如何查看發送到我的 ERC721 合約的 ETH 餘額作為應付功能(鑄幣)的一部分?

我有簡單的薄荷功能

   function userMint(uint256 numberOfTokens) public payable{
   require(numberOfTokens <= MAX_MINTS_PER_TXN, "Exceeded max tokens in a txn");
   require(msg.value == (numberOfTokens * mintPrice), "Incorrect amount of ETH sent");
   //TODO validate tokens are still available (havent sold them all)
   for (uint256 i = 1; i <= numberOfTokens; i++) {
       _safeMint(msg.sender, _tokenIdCounter.current());
       _tokenIdCounter.increment();
       //EMIT EVENTS
   }
}

當我通過 truffle 控制台呼叫它時,我可以看到 eth 已支付,但我沒有在 ganache 的任何地方的契約中看到它“收到”。

這是一個例子;

請注意,ETH 不是合約,因此不需要呼叫 balanceOf() 方法。

這就是它的完成方式。

uint balance = address(this).balance;

address(this)是你的合約地址。

這是在您的合約內部完成的,因此餘額將在您的合約中可用。

您也可以從 cli 中獲取它

看看這些方法。

https://docs.nethereum.com/en/latest/ethereum-and-clients/test-rpc/#implemented-methods

你可以簡單地試試這個

uint256 balance = 地址(這個).balance;

返還餘額;

引用自:https://ethereum.stackexchange.com/questions/112293