在我的 BEP20 Token 代码中使用 import 语句会影响我将来吗?

问题描述

我最近在 remix etherium 上创建了一个 BEP20 代币。但是我没有编写整个代码,而是使用了 import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol"添加了一些我自己的 5-6 行。

  1. 如果 GitHub 存储库以任何方式被删除或转移,它会影响我的令牌吗?它会停止工作还是会丢失硬币?如果是,我该如何预防?

  2. 此外,在 bscscan.com 上批准我的合同时,我是否应该将合同代码import 声明一起放置?因为那样就只有 10 行了。还是我应该粘贴 openZeppelin.git 中的代码 + 额外添加的行?

解决方法

如果 GitHub 存储库以任何方式被删除或转移,会影响我的代币吗?

在您编译和部署合约后,远程源的更改不会影响您的合约字节码。

另外,在 bscscan.com 上批准我的合同时,我应该将合同代码与导入声明一起放置吗?

是的,您可以使用使用 import 的“单个文件”验证(假设您的 10 行仅在一个文件中)。它将下载当前的远程文件并将其包含在内以进行验证。

请注意,在 BscScan 上的编译和验证之间,远程文件发生更改的可能性很小。在这种情况下,验证将失败,因为发送到验证的整个源代码(以及由此生成的字节码)与部署的源代码不同。您可以通过不指向分支名称(在您的情况下为 master)而是指向特定提交(假设 repo 维护者不更改其 GIT 历史记录)来降低这种(已经很小)风险。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...