实践 › 运行自己的节点

门罗币软件包里有什么

官方压缩包中的 monerod、monero-wallet-cli、monero-wallet-rpc 及其他工具

简而言之

官方 CLI 压缩包包含节点(monerod)、命令行钱包(monero-wallet-cli)、提供 JSON-RPC 的钱包服务器(monero-wallet-rpc)以及一组区块链数据库工具。GUI 压缩包包含 monero-wallet-gui 和同样的 monerod。

主要程序

monerod——节点

这个守护进程负责连接其他节点、下载并验证区块、存储数据库(LMDB)、把交易接收进交易池(mempool)并转发。它提供 daemon RPC(端口 18081):高度、区块、交易、提交交易。它能挖矿(start_mining),但认真挖矿要用 P2Pool + XMRig。配置方法见运行自己的节点页面。

./monerod status
./monerod print_height
./monerod sync_info

monero-wallet-cli——命令行钱包

参考钱包:创建/恢复、转账、子地址、支付证明、多重签名、冷签名。它使用钱包文件工作,并连接到一个节点。

./monero-wallet-cli --generate-new-wallet mywallet
./monero-wallet-cli --restore-deterministic-wallet          # 从 25 个单词恢复
./monero-wallet-cli --generate-from-view-key watchonly      # 只读钱包
./monero-wallet-cli --wallet-file mywallet --daemon-address 127.0.0.1:18081

钱包内的常用命令:balance、address new、account new、transfer <address> <amount>、show_transfers、get_tx_key、check_tx_key、get_tx_proof、export_key_images、seed、help。

monero-wallet-rpc——给程序用的钱包

同一个钱包,通过 JSON-RPC 控制。商店、交易所、机器人和支付网关(BTCPay Server、MoneroPay 等)都在使用它。

./monero-wallet-rpc --wallet-file shop --password-file pw.txt \
  --daemon-address 127.0.0.1:18081 --rpc-bind-port 18088 \
  --rpc-login user:secret
curl -u user:secret --digest http://127.0.0.1:18088/json_rpc \
  -d '{"jsonrpc":"2.0","id":"0","method":"create_address","params":{"account_index":0}}'

主要方法:get_balance、create_address、get_transfers、transfer、incoming_transfers、make_integrated_address。对商店来说,只读钱包就足够了:它能看到发往新子地址的收款,而且里面没有任何东西可偷。

RPC 安全

不要把 monero-wallet-rpc 的端口暴露到互联网上。始终使用 --rpc-login,并把持有花费私钥的钱包放在一台单独的隔离机器上运行。

区块链数据库工具

程序功能
monero-blockchain-prune把完整数据库转换为修剪过的数据库(通过复制到新数据库)
monero-blockchain-export把区块链导出到 blockchain.raw 文件
monero-blockchain-import从 blockchain.raw 导入——用 U 盘快速初始化节点的方法(默认会进行验证)
monero-blockchain-stats区块统计:每天的交易数、大小、输入/输出数
monero-blockchain-usage输出在环中被使用的频率(诱饵研究)
monero-blockchain-ancestry通过环构建一个输出的“祖先”——可追踪性研究工具
monero-blockchain-depth交易历史通过环追溯的深度
monero-blockchain-mark-spent-outputs标记已知被花费的输出(例如来自分叉链的),使钱包不会把它们用作诱饵
monero-blockchain-prune-known-spent-data删除已知被花费的输出(旧的非 RingCT 输出)的数据,节省空间

其他

程序 / 文件说明
monero-gen-trusted-multisig在一台可信机器上生成一组多重签名钱包(用于测试或简单场景)
monero-gen-ssl-cert为 RPC 创建 SSL 证书
ANONYMITY_NETWORKS.md指南:为 monerod 使用 Tor 和 I2P
monero-wallet-gui(GUI 压缩包)图形界面钱包;可以自行启动 monerod

生态系统中的其他实用工具

  • P2Pool——运行在你的节点之上的去中心化矿池;XMRig——RandomX 挖矿软件。
  • onion-monero-blockchain-explorer——在自己节点上运行的区块链浏览器。
  • monero-lws——自己的轻钱包服务器:查看私钥由你自己保管,而不是交给第三方服务。