0xAA

发布于 2022-05-26到 Mirror 阅读

Solidity极简入门: 18. Import

我最近在重新学solidity,巩固一下细节,也写一个“Solidity极简入门”,供小白们使用(编程大佬可以另找教程),每周更新1-3讲。

欢迎关注我的推特:@0xAA_Science

WTF技术社群discord,内有加微信群方法:链接

所有代码和教程开源在github(1024个star发课程认证,2048个star发社群NFT): github.com/AmazingAng/WTFSolidity


solidity支持利用import关键字导入其他源代码中的合约,让开发更加模块化。

import用法

  • 通过源文件相对位置导入,例子:
文件结构
├── Import.sol
└── Yeye.sol

// 通过文件相对位置import
import './Yeye.sol';
  • 通过源文件网址导入网上的合约
// 通过网址引用
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Address.sol';
  • 通过npm的目录导入
import '@openzeppelin/contracts/access/Ownable.sol';
  • 通过全局符号导入特定的合约
import {Yeye} from './Yeye.sol';

测试导入结果

我们可以用下面这段代码测试是否成功导入了外部源代码:

contract Import {
    // 成功导入Address库
    using Address for address;
    // 声明yeye变量
    Yeye yeye = new Yeye();

    // 测试是否能调用yeye的函数
    function test() external{
        yeye.hip();
    }
}

总结

这一讲,我们介绍了利用import关键字导入外部源代码的方法。import可以让我们直接导入别人写好的代码,非常方便。