前文我们说到 bitcoin-core
已经安装完毕,使用默认配置风险极大,需要自己来定制配置。
在开始介绍配置之前,建议小伙伴们务必回顾一下前文,因为里面有大体的对区块链概念的介绍。
有了概念,我们动起手来才能得心应手,理解飞快。
好,下面我们就来看看怎么配置 bitcoin-core
。
给它一个配置,让它按我们的意思行事
官方提供了一个原始的模板文件,我们可以按照它的样子给它装扮装扮。
https://github.com/bitcoin/bitcoin/blob/master/share/examples/bitcoin.conf
Windows
下配置文件应该在如下位置,第一行中使用了环境变量与第二行是等价的。
%APPDATA%\bitcoin\bitcoin.conf
C:\Users\sysadm\AppData\Roaming\bitcoin\bitcoin.conf
诚然,你可以将这个文件整个拿过来用,不过你完全可以按我说的这样做,直接在空白文件中放上想要的参数即可,这样你就不会因为注释满天飞而眼花缭乱了。
需要特别注意的是,不同分类的参数应该放在相应分类名称的子区段中,比如本例有些参数应该放在 [regtest]
区段中。
# 告知 Bitcoin-QT 接受 JSON-RPC 命令
server=1
# 开启回归测试模式
regtest=1
[regtest]
# 开启交易记录索引
txindex=1
# 开启挖矿
gen=1
设定好配置文件后,当你双击 bitcoin-qt.exe
时,它会启动并读取这个配置。
界面左下角显示它正在连接其他节点,这说明它已经开始工作了。
同时在 %APPDATA%\bitcoin
目录下自动生成了一个 regtest
的文件夹。
另外使用 netstat
命令也可以看到 18443
和 18444
两个端口已经开启。
(不同网络模式端口不同:default: 8333
, testnet: 18333
, signet: 38333
, regtest: 18444
)
这个时候,如果你还有一台安装了 Bitcoin Core
的电脑,那么你就可以拿来连接这个节点了。
只要输入带有以下参数的命令,或是直接在配置文件中添加相应的参数即可连接。
# 连接IP地址 x.x.x.x 的节点
bitcoin-cli -regtest -connect=x.x.x.x
配置文件则可以这样写。
# 开启回归测试模式
regtest=1
[regtest]
# 连接IP地址 x.x.x.x 的节点
connect=x.x.x.x
不过此时即便连接好了,也是正在同步的状态,看样子接下来还要做点什么......
介绍几个命令程序
在 Bitcoin
安装目录下的 daemon
子目录中会有四个用于终端执行的命令行程序文件。
// 命令行客户端(也可做 rpc 客户端)
bitcoin-cli.exe
// 服务节点守护进程
bitcoind.exe
// 比特币交易处理程序
bitcoin-tx.exe
// 钱包入口
bitcoin-wallet.exe
实际上第一个 bitcoin-cli
程序也可以用图形程序 bitcoin-qt
来代替,所以说,bitcoin-qt
也可以在命令行中通过在其后面追加参数来使用,效果是一样的。
当你要以后台服务形式运行 bitcoin
时,可以像下面这样,这时你就不必纠结于图形界面了。
bitcoind --daemon
RPC
服务的连接方法
这个我一开始也没搞懂,后来才慢慢了解到,这个 RPC
服务其实可以理解为远程服务端。
什么意思呢?
就是说,当有一个远程的 bitcoin-core
在运行,而我不在远程那台机器上,所以我就想用自己手头的电脑去连接那个远程的机器,进而管理远程的 bitcoin-core
。
远程的 bitcoin-core
可以是正在运行的 bitcoin-cli
,也可以是 bitcoin-qt
的图形界面,也可以是以后台守护进程运行的 bitcoind
。
说白了就是当我连接到远端的时候,我在本地电脑上操作的 bitcoin-core
和在远程操作 bitcoin-core
是同一个东西,只是为了管理方便把操作终端放到了本地上。
就好像你用 VNC
远程到服务器上操作,和你直接到服务器上操作效果一样是一个道理,本质上这个 bitcoin-core
并没有多出来,还是那一个节点而已。
比如我现在手上的笔记本电脑,因为是公司的电脑不能乱安装东西,所以只放了一个客户端。
而在远程电脑上我安装并跑着一个 bitcoin-core
,那么我应该如何用笔记本上的客户端去连接并管理远程电脑上的 bitcoin-core
呢?
分两步走,第一步先在远程端的配置文件中加入如下的参数描述。
...
[regtest]
# 绑定并侦听在所有IP上
rpcbind=0.0.0.0
# 用户名
rpcuser=rpcuser
# 密码
rpcpassword=12345678
# 允许连接的IP范围
rpcallowip=0.0.0.0/0
# RPC侦听端口
rpcport=18443
第二步在本地笔记本电脑上修改配置参数,对应远程端的参数。
# 远程端 RPC 服务地址
rpcconnect=192.168.1.1
rpcuser=rpcuser
rpcpassword=12345678
rpcport=18443
就这样就可以了,当你启动 bitcoin-qt
后,它通过读取配置其实两端获取的信息是一模一样,等于你可以在本地操作远端的 bitcoin-core
了。
如果你要用 bitcoin-cli
,那么只要把前面说的参数一一加到命令的后面就可以了。
不过需要小心的是,远程端的 RPC
端口可以不用特意指定,但务必要确认访问的网络类型,因为不同的网络类型其默认端口号是不同的,本例是在 regtest
网络中,具体可以查看前面介绍的内容。
接下来
有了配置,我们又知道了命令以及连接后台进程的方法,那么接下来我们就应该进入一些实际的操作了。
在之后的篇章中,我们就来点实际的需要动手打命令的内容,这也有助于我们更进一步理解比特币使用的套路。
扫码关注@网管小贾,阅读更多
网管小贾的博客 / www.sysadm.cc