Erc-721
如何查看 Ganache 中的合約餘額?
在使用 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;
返還餘額;