wallet-cli contract¶
调用、发送、部署、查看并管理智能合约。
真正起治理作用的是部署者那一侧:一次调用的能量由谁承担,以及该合约是否在链上保留 ABI。这些设置属于 TRON,归属部署该合约的账户,并在交易确认后立即生效。create2 与这些都无关——它只是对一个尚不存在的地址做的本地运算。
用法¶
wallet-cli contract COMMAND
子命令¶
| 命令 | 页面 | 说明 | 网络 |
|---|---|---|---|
contract call |
call.md | 只读调用 | TRON、EVM |
contract send |
send.md | 会改变状态的调用 | TRON、EVM |
contract deploy |
deploy.md | 部署智能合约 | TRON、EVM |
contract info |
info.md | 显示合约 ABI + 元数据 | 仅 TRON |
contract clear-abi |
clear-abi.md | 清除链上 ABI(不可逆) | 仅 TRON |
contract set-origin-energy-limit |
set-origin-energy-limit.md | 每次调用中由部署者承担的能量 | 仅 TRON |
contract set-user-resource-percent |
set-user-resource-percent.md | 一次调用的能量中由调用者承担的比例 | 仅 TRON |
contract create2 |
create2.md | 在本地计算 CREATE2 地址 | 仅 TRON |
call、send 和 deploy 在两个家族上都可运行;其余命令实现的是 TRON 独有的协议特性,EVM 上没有对应物,在那里会以 family_mismatch 失败。这三条通用命令共享的是家族,而不是参数:contract call 是只读的,接收调用入参;而 contract send 和 contract deploy 是写入交易,带有费用与签名相关的一整套词汇——TRON 上是 --fee-limit / --permission-id / --expiration,EVM 上是 --gas-limit / --max-fee / --priority-fee / --nonce,各自在另一个家族上都会以 invalid_option 被拒绝。