Contract-Deployment

部署新合約

  • January 13, 2022

我知道我的問題可能很有趣,但我需要更深入地了解部署工作流程。

由於很多人使用 OpenZeppelin,我也不例外。我將文件導入到我的契約中,在 Remix 中我看到了一些要部署的契約(見圖)。在本地,我總是只部署我的合約,它執行良好,但是實時開發呢?據我了解,我將連同我的一起部署所有 OpenZeppelin 合約,這需要額外的 gas。那是對的嗎?使用外部合約部署合約的最佳/合理方式是什麼? 在此處輸入圖像描述

謝謝,

合約使用繼承。所以它類似於 A > B > C,其中 C 繼承 B,B 繼承 A。

假設 A、B 和 C 是非抽象合約,您可以部署其中任何一個。如果您部署 A,則生成的合約具有 A 的功能。如果部署 B,它具有 A 和 B 的功能。C 具有 A、B 和 C 的功能。

通過繼承,合約在部署之前被展平。因此,如果您部署 B,A 的功能將包含/扁平化到同一個合約中,因此您只部署一個合約。

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