Solidity
在函式中請求交易金額
我試圖讓一個函式生成一個請求,以便它彈出一個 Metamask 請求。
我知道我能做到:require(msg.value == amount); 要求函式呼叫具有一定的價值。
但這需要交易發送者手動輸入交易值,這很容易出錯,或者他們可能不知道要發送的值。我希望合約請求一定的金額,這樣使用者只需要在 Metamask 中接受交易即可。
在虛擬碼中,類似於“從 msg.sender 請求 X ETH”
謝謝。
合約不能提示使用者輸入任何內容。它必須是要求使用者輸入的前端程式碼。
因此,在您的前端,您需要讓使用者輸入要發送的乙太幣數量,然後您可以在該
value
欄位中使用該數量進行交易。範例可以在這裡看到:https ://web3js.readthedocs.io/en/v1.2.11/web3-eth.html#id86