Web3js

契約 ABI 可以更改嗎?

  • October 8, 2018

我正在開發一個使用該etherscan-api包的應用程序。

我用它來獲取契約 ABI。

問題是我每次呼叫函式時都通過 API 檢索它。

我的問題是:契約 ABI 可以隨時更改嗎?我可以將 ABI json 儲存在數據庫欄位中以減少處理時間嗎?

雖然開發人員可以將“合約可升級性”的概念建構到他們的智能合約邏輯中,但智能合約不能在該過程中更新他們的合約 ABI。

智能合約的暴露功能一旦創建就不可變,因此合約 ABI 也是不可變的。

契約 ABI 永遠不應該改變。您可以安全地使用從合約部署中提取的 ABI。

此外,如果您打算使用,請擴展 @shawn-tabrizi 所說的“契約可升級性”。借助“合約可升級性”,您可以將邏輯和數據分離到單獨的智能合約中。它本質上意味著,我們使用一個合約來實現邏輯,而另一個合約來儲存數據。

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