bitcoin全节点部署

服务器配置:

操作系统:   ubuntu 16.04
CPU:        4U
内存:     16G     #一般来说4G就够,但如果要查历史记录,需要加载完整的交易索引表-tindex,这导致需要8G+的内存
硬盘:     500G    #比特币从08年开始运行,已经积累了大量数据,区块链内容大小达210G。
带宽:     10MB+

安装部署:

下载地址:https://bitcoincore.org/en/download/

root@wallet-test1:/data# tar xf bitcoin-0.17.1-x86_64-linux-gnu.tar.gz 
root@wallet-test1:/data# ln -s bitcoin-0.17.1 bitcoin           #用软链接的方式在升级程序时,可不用重新设置环境变量
root@wallet-test1:/data# mkdir -p coin/btccoin/                 #数据存储目录
root@wallet-test1:/data# vim /etc/profile.d/bitcoin.sh          #添加环境变量
export PATH=/data/bitcoin/bin:$PATH
root@wallet-test1:/data# source /etc/profile.d/bitcoin.sh       #加载环境变量

配置文件:

-conf=<file>                #指定配置文件,默认~/.bitcoin/bitcoin.conf
-port=<port>                #监听端口,默认8332或testnet 18332
-bind=<addr>                #监听地址,使用[host]:port标识ipv6地址
-datadir=<dir>              #数据保存目录,建议500G以上
-daemon                     #运行为守护进程
-dbcache=<n>                #设置数据缓存大小,单位百万字节,默认450
-debuglogfile=<file>        #指定debug级别日志保存的位置。
-includeconf=<file>         #指定额外配置文件路径。只能用于配置文件,不能用于命令行。
-loadblock=<file>           #启动时从外部的名为blk000??.dat加载数据块
-reindex                    #从磁盘上的blk*.dat文件重建链状态和块索引
-reindex-chainstate         #从当前索引的块重建链状态
-version                    #查看当前程序版本并退出
-txindex                    #默认情况下,比特币核心只创建与使用者钱包相关的交易索引,如果需要维护全部交易的索引,需要设置该选项。
-maxmempool=<n>             #将事务内存保持在<n> mb以下(default: 300)
-maxorphantx=<n>            #在内存中最多保存<n>不可连接事务(default: 100)
-mempoolexpiry=<n>          #在内存池中保存事务的时间不要超过<n>小时(default:336)
-server                     #接受命令行和JSON-RPC命令
-rpcuser=<user>             #JSON-RPC连接时使用的用户名
-rpcpassword=<pw>           #JSON-RPC连接时使用的密码
-rpcport=<port>             #JSON-RPC连接监听的端口,默认8332或testnet 18332
-rpcallowip=<ip>            #允许JSON-RPC连接从外部连接。可以是一个单独IP(e.g. 1.2.3.4)、网络地址/掩码(e.g.1.2.3.4/255.255.255.0)或网络地址/掩码长度(e.g. 1.2.3.4/24)。该选项可指定多次。
-rpcbind=<addr>[:port]      #JSON-RPC连接的服务监听地址和端口。不指定-rpcallowip参数时,该参数无效。端口参数可选,若指定,则覆盖-rpcport选项。使用[host]:port标识ipv6地址。地址格式与-rpcallowip相同。

钱包选项

-addresstype                #使用什么类型的地址("legacy", "p2sh-segwit", or "bech32",default: "p2sh-segwit")
-disablewallet              #不加载钱包并禁用钱包RPC调用
-discardfee=<amt>           #费率(以BTC/kB表示)
-fallbackfee=<amt>          #收费比率(以BTC/kB为单位),当收费估计数据不足时,会使用该比率(默认值:0.0002)
-keypool=<n>                #将密钥池大小设置为<n>
-mintxfee=<amt>             #如果费用(以BTC/kB为单位)小于此值,则认为创建事务的费用为零(默认值为0.00001)。
-paytxfee=<amt>             #向您发送的交易中添加的费用(以BTC/kB为单位)(默认值:0.00)
-rescan                     #重新扫描在启动时丢失的钱包事务的块链
-salvagewallet              #尝试在启动时从损坏的钱包中恢复私钥
-wallet=<path>              #指定钱包数据库路径,可以指定多次加载多个钱包。如果路径不是绝对的,则相对于<walletdir>;如果路径不存在,则创建路径(作为包含wallet.dat文件和日志文件的目录)。为了向后兼容,它还将接受<walletdir>中现有数据文件的名称。)
-walletdir=<dir>            #指定保存钱包的目录(默认:<datadir>/wallets,如该目录不存在,则使用<datadir>)
-walletnotify=<cmd>         #当钱包事务发生更改时执行的命令

服务管理:

运行

bitcoind -conf=/data/bitcoin/bitcoin.conf -daemon

停止

bitcoin-cli stop

其它常用命令:

bitcoin-cli getnetworkinfo              #查看网络状态

bitcoin-cli getpeerinfo                 #查看网络节点

bitcoin-cli getblockchaininfo           #查看区块链信息:如同步进度

bitcoin-cli help                        #查看所有命令

bitcoin-cli命令使用:

命令格式:

bitcoin-cli [options] <command> [params]
bitcoin-cli [options] -named <command> [name=value]...
bitcoin-cli [options] help                      #获取命令帮助
bitcoin-cli [options] help <command>            #获取command的命令帮助

选项:

-conf=<file>                #指定配置文件路径。相对路径将以datadir位置作为前缀。默认文件名:bitcoin.conf
-datadir=<dir>              #指定数据存储位置
-getinfo                    #从远程服务器获取一般信息。与服务器端RPC调用不同,-getinfo的结果是多个非原子请求的结果。结果中的一些条目可能表示来自不同状态的结果(例如,钱包余额可能来自报告的链状态的不同块)
-named                      #传递指定的参数而不是位置参数
-rpcclienttimeout=<n>       #HTTP请求超时(以秒为单位),0表示没有超时。默认900
-rpcconnect=<ip>            #向指定IP的节点发送命令,默认127.0.0.1
-rpccookiefile=<loc>        #认证cookie的路径,相对路径以datadir地址为前缀。默认:data dir
-rpcpassword=<pw>           #JSON-RPC连接的密码
-rpcport=<port>             #JSON-RPC连接的端口
-rpcuser=<user>             #JSON-RPC连接时使用的用户名
-rpcwait                    #等待RPC服务器启动
-rpcwallet=<walletname>     #向非默认RPC服务器发起RPC连接。需要精确匹配传递给bitcoin-cli的参数
-stdin                      #从标准输入读取额外的参数,每行一个,直到EOF/Ctrl-D结束(推荐用于敏感信息,如密码)。当与-stdinrpcpass结合使用时,使用标准输入的第一行作为RPC密码。
-stdinrpcpass               #读取标准输入第一行作为RPC密码。当与-stdin结合使用时,标准输入第一行作为RPC密码。

猜你喜欢

转载自blog.51cto.com/11975865/2384841