解决方案-合约编译时如何处理外部依赖包

2023-08-07  本文已影响0人  95加不满

方案一:离线下载常用的开源包

技术:使用solc的 Remapping功能

https://docs.soliditylang.org/en/latest/path-resolution.html#import-remapping

image.png

要求:在编译环境中提前下载常用的合约类库包,然后编译时构建solc的相关命令。

方案二:要求客户使用指定的合约开发框架

技术:使用nodejs以及solcjs

分类

l Hardhat
进入项目目录后, 编译流程如下:

#项目安装依赖包
npm install
#编译合约文件
npx hardhat compile
#解析abi和bin
在artifacts->contracts目录下找到指定的xxx.json文件,然后读取里面的"abi"和"bytecode"属性对应的值。

编译后的目录结构如下:

image.png

l Truffle

进入项目目录后, 编译流程如下:

#项目安装依赖包
npm install
#编译合约文件
Truffle compile
#解析abi和bin
在build->contracts目录下找到指定的xxx.json文件,然后读取里面的"abi"和"bytecode"属性对应的值。

编译后的目录结构如下:

image.png

注意:执行权限问题

image.png image.png

要求:编译环境安装node,以及能连到npm包管理站点(npmjs.com)

上一篇 下一篇

猜你喜欢

热点阅读