Solidity
為什麼在轉移 eth 的同時轉移 gas?
我在看這個影片:https ://www.youtube.com/watch?v=mlPc3EW-nNA&list=PLO5VPQH6OWdVQwpQfw9rZ67O6Pjfo6q-p&index=39&t=59s
它顯示了 3 種轉移 eth 的方法。我想知道為什麼氣體被轉移到接收器?天然氣不應該支付給交易礦工嗎?
我可能對這裡的 2-3 個概念感到困惑並將它們混合在一起。有人可以幫我理解嗎?
當使用 call() 將乙太幣發送到另一個合約時,gas 被轉移到接收者合約以執行回退功能。
例如:
contract ReceiverContract{ receive() external payable { //When receive ethers, update state .... } }
(bool success, bytes memory data) = receiverContract.call{value: 100}("");
將所有的gasleft轉發給receiverContract.receive()函式。在這種情況下,它將使用該氣體來支付交易礦工執行接收()函式的費用。