Solidity

在函式中請求交易金額

  • October 14, 2020

我試圖讓一個函式生成一個請求,以便它彈出一個 Metamask 請求。

我知道我能做到:require(msg.value == amount); 要求函式呼叫具有一定的價值。

但這需要交易發送者手動輸入交易值,這很容易出錯,或者他們可能不知道要發送的值。我希望合約請求一定的金額,這樣使用者只需要在 Metamask 中接受交易即可。

在虛擬碼中,類似於“從 msg.sender 請求 X ETH”

謝謝。

合約不能提示使用者輸入任何內容。它必須是要求使用者輸入的前端程式碼。

因此,在您的前端,您需要讓使用者輸入要發送的乙太幣數量,然後您可以在該value欄位中使用該數量進行交易。範例可以在這裡看到:https ://web3js.readthedocs.io/en/v1.2.11/web3-eth.html#id86

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