Go-Ethereum

如何添加自定義預編譯合約?

  • November 26, 2020

我想在乙太坊中實現一些功能作為預編譯合約。我閱讀了一些文章和契約程式碼,但我仍然不知道該怎麼做。

有從零開始的教程嗎?

這是一個很好的參考,為乙太坊下一個名為的硬分叉做一個新的預編譯合約Istanbul

https://github.com/keep-network/go-ethereum/pull/4/files

基本上只需要實現預編譯合約介面的兩種方法

  1. requiredGas ():定義呼叫預編譯合約時使用者需要支付多少gas。
  2. run ():編寫你的程式碼來做你想讓預編譯合約做的事情。

順便說一句,我們的問題是官方的solidity編譯器可能不支持我們的預編譯函式,那麼使用者可以使用我們的預編譯函式的唯一方法是在solidity智能合約中使用內聯彙編程式碼。

希望這會給你一些開始的線索!

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