solidity-flattener官方介绍:https://github.com/BlockCatIO/solidity-flattener
truffle-flattener官方介绍:https://github.com/nomiclabs/truffle-flattener
注:由于truffle-flattener一直未更新,基于solidity8版本代码执行多个sol文件合并时会编译出错【为此必须等待官方更新后,才能合并多个sol最新版本的文件】
truffle-flattener和solidity-flattener的用法命令都是一样的,但是本人使用truffle-flattener成功了,而使用solidity-flattener没有导出成功,不知道是不是和truffle框架有关系,本人开发solidity是基于truffle
要压缩Solidity文件的三种方式(注:输出路径默认当前目录下):
输出到控制台
truffle-flattener StandardToken.sol(要压缩的文件)
输出到新的文件
truffle-flattener StandardToken.sol(要压缩的文件) --output StandardTokenFlattened.sol(要输出的文件)
truffle-flattener --output StandardTokenFlattened.sol(要输出的文件) StandardToken.sol(要压缩的文件)
要提供导入路径重定向(本人还没使用过!!!)
truffle-flattener --solc-paths="my_solidity_path=my_actual_path" StandardToken.sol(要压缩的文件)