7个版本
0.3.1 | 2022年5月1日 |
---|---|
0.3.0 | 2022年5月1日 |
0.2.2 | 2022年4月22日 |
0.1.1 | 2022年4月21日 |
#5 in #bsc
20KB
234 行
tracpls
Cli工具,用于获取基于EVM链的智能合约代码及其ABI,以便在终端中进行管道传输和查看(例如,使用vim或其他工具)。
它支持BSC、Ethereum和Polygon。
安装
cargo install tracpls
用法
用户需要根据提供离链服务的API平台定义以下环境变量
TRACPLS_BSCSCAN_APIKEY
- 来自bscscan.com的API密钥TRACPLS_ETHERSCAN_APIKEY
- 来自etherscan.io的API密钥TRACPLS_POLYGONSCAN_APIKEY
- 来自polygonscan.com的API密钥
运行时,程序将根据标志--chain
(或-c
)选择适当的选项,然后抓取API密钥,并按此使用。
以下选项可用
$ tracpls --help
tracpls
Wasin Thonkaew ([email protected])
cli tool to get smart contract code and its ABI for ease of viewing on terminal
USAGE:
tracpls [OPTIONS] --address <ADDRESS> --chain <CHAIN>
OPTIONS:
-a, --address <ADDRESS> Target contract address to get its smart contract code or ABI
from
--abi-only Get only contract ABI
-c, --chain <CHAIN> Which chain to work with. Possible values are 'bsc', 'ethereum',
and 'polygon'
-h, --help Print help information
--no-abi-pretty-print Pretty print output for contract ABI. It can only be used if
--abi-only exists
--no-clean-crlf Make sure to clean CR/LF character codes to make it suitable to
view the content on the platform running the application
--out-dir <OUT_DIR_PATH> Output directory path to write content of files to. In case of
--abi-only, it will output into fixed filename of "abi.json" but
at the supplied output directory. For JSON-based code, it will
use the contract name of each file as the filename to write its
content to
-s, --silence Whether or not to print meta information during execution
示例
始终使用--chain(或-c)来指定链类型,可能的值是
bsc
、ethereum
或polygon
。
- 获取智能合约并将其直接管道传输到vim
$ tracpls -a 0x0000000000000000000000000000000000001004 -c bsc | vim -c "set syntax=solidity" -
如果您已经配置了您的~/.vimrc
以支持solidity语法高亮显示,则可能不需要-c "set syntax=solidity"
。
- 获取合约的ABI并将其保存到文件
$ tracpls -a 0x0000000000000000000000000000000000001004 --chain bsc --abi-only > abi.json
- 与2相同,但没有美化打印
$ tracpls -a 0x0000000000000000000000000000000000001004 --chain bsc --abi-only --no-abi-pretty-print > abi.json
- 将所有智能合约文件写入目标目录下的文件
$ tracpls -a 0x1befe6f3f0e8edd2d4d15cae97baee01e51ea4a4 --chain bsc --out-dir /tmp/0x1bef
/tmp/0x1bef/contracts/LpMigration.sol
/tmp/0x1bef/@openzeppelin/contracts/access/Ownable.sol
/tmp/0x1bef/@openzeppelin/contracts/utils/Context.sol
/tmp/0x1bef/@openzeppelin/contracts/utils/math/SafeMath.sol
/tmp/0x1bef/@openzeppelin/contracts/security/ReentrancyGuard.sol
/tmp/0x1bef/@openzeppelin/contracts/token/ERC20/IERC20.sol
- 与4相同,但静默元信息
$ tracpls -a 0x1befe6f3f0e8edd2d4d15cae97baee01e51ea4a4 --chain bsc --out-dir /tmp/0x1bef -s
注意
错误信息始终输出到stderr
。因此,正常正确的输出不会干扰错误信息。但是,您可以将它们合并为一个。
许可证
MIT,Wasin Thonkaew
依赖项
~16–26MB
~432K SLoC