Remix

如何在 Remix 上將值輸入到沒有參數的函式中?

  • January 10, 2022

我讀到的功能deposit()如下,沒有任何參數。我們應該發送一個值,但是你如何在 Remix 中做到這一點,因為我在Deployed Contracts部分下msg.value找不到一個文本欄位。我只知道JS如何。這是一個鏡頭deposit

/// @return The balance of the user after the deposit is made
function deposit() public payable returns (uint) {
   // Use 'require' to test user inputs, 'assert' for internal invariants
   // Here we are making sure that there isn't an overflow issue
   require((balances[msg.sender] + msg.value) >= balances[msg.sender]);

   balances[msg.sender] += msg.value;
   // no "this." or "self." required with state variable
   // all values set to data type's initial value by default

   LogDepositMade(msg.sender, msg.value); // fire event

   return balances[msg.sender];
}

在以下範例中,您會看到Value欄位,它是 remix 中的欄位,您可以在部署合約或合約方法時將 ETH 金額傳遞給合約。如您所見,您可以通過不同的轉換(Wei、Gwei、ETH 等)傳遞值。

PS 我從來不知道他們為什麼在混音上留下了這個令人困惑的 UX,每個合約方法都應該有自己的Value欄位,但不幸的是它不是這樣的。

在此處輸入圖像描述

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