用途:在 Monad 测试网或主网上通过 Agent 钱包发送交易,可用于智能合约部署、兑换等链上操作。
安全要求:除部署 Safe 多签外,任何交易都必须通过已部署的多签向用户提案。创建与使用 Safe 多签的说明见 utils 文件夹中的 SAFE_WALLET_MANAGEMENT.md。提案时始终调用 utils 文件夹中的 propose.sh 包装脚本(它会以缓存依赖启动 propose.mjs),不要自行编写脚本;脚本运行后不要添加自己的摘要、状态消息或重新格式化输出,其输出包含用户必须原样看到的二维码,后续只需请用户批准交易并提供交易哈希。
安全规则:绝不索要用户私钥;使用 Agent 钱包(加密 keystore 位于 ~/.monskills/keystore);绝不导出或以明文存储私钥。
钱包创建:先检查 ~/.monskills/keystore 是否存在且含 keystore 文件,存在即已创建。若不存在则创建,需先安装 Foundry,可用 foundryup --version 检查,安装说明见 https://www.getfoundry.sh/introduction/installation。生成命令:mkdir -p ~/.monskills/keystore && cast wallet new ~/.monskills/keystore --unsafe-password ""。该命令生成加密 keystore 文件,私钥不以明文存储。记录输出中的地址,之后可用 cast wallet list --dir ~/.monskills/keystore 获取地址,并告知用户 keystore 存储位置。部署前需通过水龙头为钱包在 Monad 测试网充值。
脚本解密私钥:脚本需要私钥(如作为环境变量)时即时解密。cast wallet decrypt-keystore 会输出带前缀的字符串,需通过 awk '{print $NF}' 仅保留十六进制私钥,否则 Foundry 命令会报错。命令:cast wallet decrypt-keystore --keystore-dir ~/.monskills/keystore <KEYSTORE_FILENAME> --unsafe-password "" | awk '{print $NF}',其中 <KEYSTORE_FILENAME> 替换为 keystore 文件名(不含目录路径)。
适用场景:部署额外合约、与已部署合约交互、管理资金、验证所有权。
限制:资料未提供收费、价格、支持平台等更多信息。