Skip to content

Commit 375b090

Browse files
committed
add logs for cli tools
1 parent 24c0f95 commit 375b090

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed

node/src/bin/README.md

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# node/src/bin 工具使用文档
2+
3+
本目录包含若干 CLI 工具(见 node/Cargo.toml 的 [[bin]])。所有工具默认支持 .env(dotenv)。
4+
5+
通用运行方式:
6+
7+
- 查看帮助:
8+
- `cargo run -p bitvm2-noded --bin <bin> -- --help`
9+
- 直接运行:
10+
- `cargo run -p bitvm2-noded --bin <bin> -- <args>`
11+
12+
二进制名称与用途:
13+
14+
- update-db:向本地 DB 注入消息(db_inject.rs)
15+
- challenge:广播挑战交易(send_challenge.rs)
16+
- pegin-request:Pegin 请求/确认/取消(send_pegin_request.rs)
17+
- pegout:Operator 触发提现(send_pegout.rs)
18+
- send-rbf:RBF 替换交易(send_rbf.rs)
19+
- sequencer-set-publish:发布 Sequencer Set(sequencer-set-publish.rs)
20+
21+
---
22+
23+
## update-db(db_inject.rs)
24+
25+
用途:向本地 DB 插入一条 GOATMessageContent 供节点处理。
26+
27+
关键参数:
28+
29+
- --db-path:本地 SQLite 路径(如 sqlite:/tmp/bitvm2-node.db)
30+
- --actor:Committee | Operator | Challenger | Watchtower | All
31+
- --message-json 或 --message-file(二选一)
32+
- --business-id(可选,未传将尝试从消息内容推断)
33+
34+
示例:
35+
36+
- `cargo run -p bitvm2-noded --bin update-db -- --db-path sqlite:/tmp/bitvm2-node.db --actor Operator --message-file ./message.json`
37+
38+
---
39+
40+
## challenge(send_challenge.rs)
41+
42+
用途:从本地 DB 读取 graph,构建并广播 Challenge 交易。
43+
44+
env:
45+
46+
- BITVM_SECRET: 节点 BTC 私钥(hex)
47+
- GOAT_PRIVATE_KEY 或 GOAT_ADDRESS: OP_RETURN 中的 EVM 身份,用于在二层接收挑战奖励
48+
- BITCOIN_NETWORK: bitcoin | testnet | testnet4(默认 testnet4)
49+
- GOAT_CHAIN_URL: GoatNetwork的rpc url
50+
- GOAT_GATEWAY_CONTRACT_ADDRESS:Gateway合约地址
51+
52+
53+
args:
54+
55+
- --db-path:本地 SQLite 路径
56+
- --instance-id / --graph-id:目标 graph
57+
- --esplora-url:可覆盖 Esplora 地址
58+
59+
示例:
60+
61+
- `cargo run -p bitvm2-noded --bin challenge -- --db-path sqlite:/tmp/bitvm2-node.db --instance-id <uuid> --graph-id <uuid>`
62+
63+
---
64+
65+
## pegin-request(send_pegin_request.rs)
66+
67+
用途:Pegin 请求、准备(广播存款交易)、取消(广播退款交易)。
68+
69+
子命令:
70+
71+
- request:向 GoatChain 发起 pegin 请求
72+
- prepare:构建并广播 Bitcoin 存款交易
73+
- request-prepare:request后等待约 12 分钟再执行 prepare
74+
- cancel:构建并广播退款交易
75+
76+
env:
77+
78+
- BITVM_SECRET: 节点 BTC 私钥(hex)
79+
- GOAT_PRIVATE_KEY: 节点的 Goated 私钥
80+
- BITCOIN_NETWORK: bitcoin | testnet | testnet4(默认 testnet4)
81+
- GOAT_CHAIN_URL: GoatNetwork的rpc url
82+
- GOAT_GATEWAY_CONTRACT_ADDRESS:Gateway合约地址
83+
84+
args基本都是可选,运行help查看帮助
85+
86+
示例:
87+
88+
- `cargo run -p bitvm2-noded --bin pegin-request -- request-prepare`
89+
90+
---
91+
92+
## pegout(send_pegout.rs)
93+
94+
用途:Operator 发起 pegout(调用 Gateway.initWithdraw)。
95+
96+
env:
97+
98+
- BITVM_SECRET: 节点 BTC 私钥(hex)用于生成节点公钥,也可在--operator-pubkey中设置
99+
- GOAT_PRIVATE_KEY: 节点的 GoatNetwork 私钥
100+
- BITCOIN_NETWORK: bitcoin | testnet | testnet4(默认 testnet4)
101+
- GOAT_CHAIN_URL: GoatNetwork的rpc url
102+
- GOAT_GATEWAY_CONTRACT_ADDRESS:Gateway合约地址
103+
104+
args:
105+
106+
- --db-path:本地 SQLite 路径
107+
- --operator-pubkey:可选,覆盖默认 operator BTC pubkey
108+
- once / batch:单次或批量
109+
110+
示例:
111+
112+
- `cargo run -p bitvm2-noded --bin pegout -- once --db-path sqlite:/tmp/bitvm2-node.db --operator-pubkey 03484db4a2950d63da8455a1b705b39715e4075dd33511d0c7e3ce308c93449deb`
113+
114+
---
115+
116+
## send-rbf(send_rbf.rs)
117+
118+
用途:使用相同输入重建并广播替换交易(RBF)。
119+
120+
必需环境变量:
121+
122+
- BITVM_SECRET:节点 BTC 私钥
123+
- BITCOIN_NETWORK(可选)
124+
125+
关键参数:
126+
127+
- --vin <txid:vout>(可重复)
128+
- --fee-amount <sats>
129+
- --to-address(可选)
130+
131+
示例:
132+
133+
- `cargo run -p bitvm2-noded --bin send-rbf -- --vin <txid>:0 --fee-amount 10000 --to-address <addr>`
134+
135+
---
136+
137+
## sequencer-set-publish(sequencer-set-publish.rs)
138+

0 commit comments

Comments
 (0)