Transactions

發送無氣體交易的簡單方法

  • March 21, 2021

我想知道使用者是否有辦法為另一個使用者支付交易費用,這意味著使用者 A 簽署交易,使用者 B 將其發送到網路並支付 gas 費用。

我在這裡找到了一個解決方案: https : //docs.openzeppelin.com/learn/sending-gasless-Transactions 但它非常複雜且技術性很強,我只需要一種簡單的方法來為其他使用者支付費用。

我只需要一種簡單的方式來為其他使用者支付費用。

我想你可能會失望。該技術涉及設置相當多的先決條件,包括更改使用者將使用的契約。此類更改通常不適用於已發布的合約,因為大多數合約是不可變的。對於想要在一開始就在他們的 dapp 中“安裝”這種功能的開發人員來說,這是一個技術過程,而不是微不足道的。

我可以畫一個可能會有所幫助的脆弱類比。這就像把一輛普通的汽車變成一輛自動駕駛汽車。所涉及的步驟並不適合所有人。

這並不是說將來不可能。未來版本的 EVM 正在討論交易費用“抽象”的想法。延伸類比,如果汽車本身的設計有助於使其成為消費者級的自己動手的過程,其中零件很容易裝入預製的標準化插座 - 更少的定制和製造,更多的插頭,也許升級會更簡單和玩。

更新:你支付汽油

另一種可能性是,您將為所有使用者支付所有費用。要麼這是可以接受的成本(通常不是這種情況),要麼你會找到另一種補償方式。這就是上面提到的“契約變更”通常處理的內容。從任何可用資金中扣除交易費用並發送到轉發“原始交易”的“中繼器”,這些“原始交易”由使用者簽名並發送到中繼器而不是鏈。

使用者簽署交易,將其發送到中繼器(鏈外,例如 https),中繼器支付氣體以將其發送到乙太坊。

希望能幫助到你。

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