核心用法
chainai 是一款非交互式 Node.js CLI 工具,专为 Ethereum 及 EVM 兼容链(目前支持 Ethereum 主网和 BNB Smart Chain)设计。它通过私钥签名实现完整的链上操作闭环:
钱包管理:gen-wallet 生成新钱包,who-am-i 验证私钥对应的地址;
签名能力:支持 EIP-191 消息签名(sign-message)、原始哈希签名(sign,带严格安全警告)、EIP-712 结构化数据签名(sign-typed-data)以及交易签名(sign-transaction);
资产操作:get-balance 查询原生币及 ERC-20 余额,send 构建并签名转账交易(支持自动获取 nonce 和 gas),broadcast 将已签名交易广播上链;
交易追踪:tx-status 查询交易确认状态及收据;
代币兑换:集成 1inch Fusion API,swap 获取报价并提交限价单,swap-order-status 追踪订单执行状态。
所有命令通过 -k 参数或 CHAINAI_PRIVATE_KEY 环境变量认证,强烈建议优先使用环境变量以避免私钥泄露到 shell 历史记录。
显著优点
1. 全功能覆盖:从钱包生成、消息签名到复杂的 1inch Fusion 兑换,满足 DeFi 自动化需求;
2. 非交互设计:纯参数化调用,适合脚本化和 Agent 集成,无需人工确认(swap -y 可跳过二次确认);
3. 多网络支持:内置 Ethereum 和 BSC 配置,通过 -n 灵活切换;
4. 标准化输出:成功返回 CHAINAI_OK + JSON,错误返回结构化 CHAINAI_ERR 代码,便于程序解析;
5. 安全设计:强制 ERC-55 校验地址格式,对原始哈希签名施加显式警告,文档强调私钥保护最佳实践。
潜在缺点与局限性
1. 私钥管理风险:虽然推荐环境变量,但工具本身不提供硬件钱包或密钥分片支持,私钥一旦泄露资金即受威胁;
2. 网络覆盖有限:仅支持 Ethereum 和 BSC,Polygon、Arbitrum 等热门 L2 暂未内置;
3. 依赖外部节点:交易广播和余额查询依赖 1inch 及公共 RPC,存在服务可用性和数据延迟风险;
4. Gas 策略简单:send 自动获取网络 gas 数据,但不支持自定义 EIP-1559 优先级或离线签名场景的高级覆盖;
5. 无模拟执行:交易提交前无本地 EVM 模拟(eth_call),可能因合约逻辑失败消耗 gas。
适合人群
- 需要自动化链上操作的开发者与量化交易员
- 构建多链资产管理 Agent 的系统架构师
- 熟悉 Ethereum 交易机制、能接受私钥环境变量管理的进阶用户
常规风险
- 私钥泄露:环境变量被进程转储、日志记录或容器镜像残留;
- 地址错误:手动输入地址时未使用校验和格式,导致资金发送至错误地址;
- 合约风险:代币合约或 1inch 路由合约存在漏洞或被攻击;
- 网络钓鱼:恶意伪造的 token 合约地址导致兑换到无价值代币;
- Gas 波动:高峰期交易因 gas 设置不足 pending 过久或被丢弃。