Solidity

在 bsc 測試網上重新部署智能合約

  • October 18, 2021

是否可以覆蓋用於在測試網上部署 bep20 代幣的智能合約?我已經對已經部署的智能合約進行了更改,並希望重寫已經存在的智能合約,或者一旦我這樣做,它會創建一個新地址

不可以。除非您為這種情況仔細計劃和準備,否則無法覆蓋或升級已部署的智能合約。

是的,如果你寫的契約是可升級的。這將需要創建一個代理合約,將所有呼叫轉發到實現合約。這聽起來比實際更難,您可以使用 Openzeppelin 的外掛來處理所有後端工作,而您所要做的就是以特定的方式編寫合約。

  • (在他們的指南中解釋:https ://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable )

要回答您在另一個答案中提出的評論,是和否。您可以創建一個具有自毀功能的合約,然後在部署後呼叫該函式以刪除合約並將任何剩餘的代幣發送到指定的錢包地址。區塊鏈本質上是不可變的,因此無需特意編寫合約來實現這種不變性,您部署的合約將始終位於區塊鏈上。

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