方案一:离线下载常用的开源包
技术:使用solc的 Remapping功能
https://docs.soliditylang.org/en/latest/path-resolution.html#import-remapping
要求:在编译环境中提前下载常用的合约类库包,然后编译时构建solc的相关命令。
方案二:要求客户使用指定的合约开发框架
技术:使用nodejs以及solcjs
分类:
l Hardhat
进入项目目录后, 编译流程如下:
#项目安装依赖包
npm install
#编译合约文件
npx hardhat compile
#解析abi和bin
在artifacts->contracts目录下找到指定的xxx.json文件,然后读取里面的"abi"和"bytecode"属性对应的值。
编译后的目录结构如下:
l Truffle
进入项目目录后, 编译流程如下:
#项目安装依赖包
npm install
#编译合约文件
Truffle compile
#解析abi和bin
在build->contracts目录下找到指定的xxx.json文件,然后读取里面的"abi"和"bytecode"属性对应的值。
编译后的目录结构如下:
注意:执行权限问题
要求:编译环境安装node,以及能连到npm包管理站点(npmjs.com)