Gas
用儲存在 SC 中的乙太幣支付 gas 費用
讓我們假設一個實體部署了一個 SC 並想要執行分配(從計算上講,這具有很高的 gas 成本)。此傳遞的參與者(註冊人)必須是支付執行費用的人,因此,在註冊時,他們必須支付費用。乙太幣儲存在 SC 中。我的問題是:是否可以用儲存在 SC 本身中的乙太幣來支付 SC 的執行成本?
提前致謝。
我的問題是:是否可以用儲存在 SC 本身中的乙太幣來支付 SC 的執行成本?
是的。
然而,這並不是一件簡單的事情,並且需要以這樣一種方式編寫智能合約,即礦工可以直接獲得報酬,而不是通過燃料成本。
有更多建構此類交易經驗的人會更好地回答,但歸結為以下幾點:
- 交易以 0 的 gas 價格送出
- 正在執行的合約可以通過支付
block.coinbase
地址來獎勵礦工,地址是在出塊時設置的礦工地址。因此,從契約中向礦工付款。FlashBots項目提供的API 可以將此類交易送出給執行相關客戶端實現的礦工。
有關 MEV(礦工可提取價值)的更廣泛背景,請參閱之前的答案:
有關用代幣獎勵礦工的等效機制,請參閱 OpenZeppelin 的獎勵礦工。