Remix

如何在 Remix 中測試額外的參數?

  • May 22, 2022

我嘗試使用Remix來測試智能合約:

/********************************************************************
* Make bids with ETH or an ERC20 Token specified by the NFT seller.*
* Additionally, a buyer can pay the asking price to conclude a sale*
* of an NFT.                                                      *
********************************************************************/

function makeBid(
   address _nftContractAddress,
   uint256 _tokenId,
   address _erc20Token,
   uint128 _tokenAmount
)
   external
   payable
   auctionOngoing(_nftContractAddress, _tokenId)
   onlyApplicableBuyer(_nftContractAddress, _tokenId)
{
   _makeBid(_nftContractAddress, _tokenId, _erc20Token, _tokenAmount);
}

這是我的 JavaScript 測試:

await nftAuction
   .connect(user2)
   .makeBid(erc721.address, tokenId, zeroAddress, zeroERC20Tokens, {
       value: minPrice,
   });

這些是我的函式參數makeBid

"0xD4Fc541236927...",1,"0x0000000000000000000000000000000000000000",0, {value:100,}

混音

最後一個是一個額外的參數,因為這個函式是 Payable 並且接受 Ether 轉賬,它在 Hardhat 測試中執行良好,所以我嘗試在 Remix 中輸入與上面相同的這一行並從 console 得到這個錯誤"code=INVALID_ARGUMENT"

在Remix上嘗試這個的正確語法是什麼?

如果您想在 remix IDE 中呼叫支付功能並使用交易發送乙太幣,那麼您需要使用這兩個提供的輸入欄位。給定的金額與gas費用無關。您的合約必須使用 msg.value 檢查發送的乙太幣數量

發送乙太

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