# 如何使用 Sophon Messager
messager 是用于管理本地消息的组件,目的是保存地址消息,管理消息状态以及控制推送消息的频率。
# 开始
# 克隆代码到你的机器
git clone https://github.com/ipfs-force-community/sophon-messager.git
# 安装依赖及构建
make
# 启动messager
./sophon-messager run [command options]
options:
--auth-url auth服务的URL
--auth-token auth服务的token
--node-url lotus/venus 节点的URL
--node-token auth服务的URL
--db-type 使用的数据库类型,sqlite 或者 mysql
--mysql-dsn mysql dsn,eg. user:password@(127.0.0.1:3306)/messager?parseTime=true&loc=Local
--gateway-url gateway的URL
--gateway-token gateway的token
--rate-limit-redis 限流使用的redis
# 命令行
# 消息
- 查询消息
./sophon-messager msg search --id=<message id> or --cid=<message cid>
- 列出消息
./sophon-messager msg list
# 列出相同地址的消息
./sophon-messager msg list --from <address>
- 更新一个已上链消息(但数据库的状态未更新)的状态
./sophon-messager msg update_filled_msg --id=<message id>
- 更新所有已上链消息(但数据库的状态未更新)的状态
./sophon-messager msg update_all_filled_msg
- 等待消息的结果
./sophon-messager msg wait <message id>
- 通过ID重新发布消息
./sophon-messager msg republish <message id>
- 替换消息
./sophon-messager msg replace --gas-feecap=[gas-feecap] --gas-premium=[gas-premium] --gas-limit=[gas-limit] --auto=[auto] --max-fee=[max-fee] <message-id>
# or
./sophon-messager msg replace --gas-feecap=[gas-feecap] --gas-premium=[gas-premium] --gas-limit=[gas-limit] --auto=[auto] --max-fee=[max-fee] <from> <nonce>
- 列出失败的消息,可能是消息签名失败或gas估算失败
./sophon-messager msg list-fail
- 列出一段时间未链接的消息
./sophon-messager msg list-blocked
- 手动标记异常的消息
./sophon-messager msg mark-bad <message id>
# 地址
- 查询地址
./sophon-messager address search <address>
- 列出地址
./sophon-messager address list
- 重置地址
把地址的nonce设置为链上的nonce,并且全部未上链消息都被标记为
错误消息
./sophon-messager reset <address>
- 冻结地址,不再接收推送的消息
./sophon-messager address forbidden <address>
- 激活冻结的地址
./sophon-messager address active <address>
- 设置地址一轮推送选择消息的最大数量
./sophon-messager address set-sel-msg-num --num=5 <address>
- 设置地址fee相关参数
sophon-messager address set-fee-params [command options] address
# options
# --gas-overestimation 估算gas的系数 (default: 0)
# --gas-feecap 单个消息愿意付出的费用 (包括燃烧和支付给矿工, attoFIL/GasUnit)
# --max-fee 单个消息最多花费 X attoFIL
# --gas-over-premium gas premium的系数 (default: 0)
./sophon-messager address set-fee-params <address>
# 共享参数
- 获取共享的参数
./sophon-messager share-params get
- 设置共享的参数
sophon-messager share-params set [command options] [arguments...]
./sophon-messager share-params set --gas-over-estimation=1.25 --gas-feecap="0" --max-fee="7000000000000000" --sel-msg-num=20 --gas-over-premium 1
- 从数据库手动刷新共享参数
./sophon-messager share-params refresh
# 节点
- 按名称搜索节点信息
./sophon-messager node search <name>
- 添加节点信息
./sophon-messager node add --name=<node-name> --url=<node-url> --token=<node-token>
- 节点信息列表
./sophon-messager node list
- 根据名称删除节点信息
./sophon-messager node del <name>
# 日志
- 设置日志级别
# 支持的级别:trace,debug,info,warn|warning,error,fatal,panic
./sophon-messager log set-level
# send 命令
发送消息 sophon-messager send [command options] [targetAddress] [amount]
options:
--from value optionally specify the address to send
--gas-premium value specify gas price to use in AttoFIL (default: "0")
--gas-feecap value specify gas fee cap to use in AttoFIL (default: "0")
--gas-limit value specify gas limit (default: 0)
--method value specify method to invoke (default: 0)
--params-json value specify invocation parameters in json
--params-hex value specify invocation parameters in hex