0

我正在使用从 @openzeppelin/contracts 包中导入的 ERC-721 标准编写带有松露的智能合约。

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

编译期间没有出现错误,但我注意到不仅编译了“Migrations.sol”和我的合同“Dyno.sol”,导入中引用的每个依赖项都是:

> Compiling @openzeppelin\contracts\token\ERC721\ERC721.sol
> Compiling @openzeppelin\contracts\token\ERC721\IERC721.sol
> Compiling @openzeppelin\contracts\token\ERC721\IERC721Receiver.sol
> Compiling @openzeppelin\contracts\token\ERC721\extensions\IERC721Metadata.sol
> Compiling @openzeppelin\contracts\utils\Address.sol
> Compiling @openzeppelin\contracts\utils\Context.sol
> Compiling @openzeppelin\contracts\utils\Strings.sol
> Compiling @openzeppelin\contracts\utils\introspection\ERC165.sol
> Compiling @openzeppelin\contracts\utils\introspection\IERC165.sol
> Compiling .\contracts\Dyno.sol
> Compiling .\contracts\Migrations.sol

由于我已将我的 truffle 项目连接到 Ganache 区块链环境,因此我可以在“合同”部分看到所有这些合同。

@openzeppelin 合约在 Ganache/Contracts 中可见

这是正常的吗?

教程显示只有我的合约和“迁移”应该出现在区块链网络的合约部分。另外,当我将合约连接到实际的以太坊网络时会发生什么?每次我在合同中导入的所有@openzeppelin 标准都必须迁移吗?

谢谢

4

0 回答 0