小白福利:五分钟一键脚本完成服务器部署BTC全节点 保姆级教程

前言:

目前BTC生态非常火,包括闪电网络的L2 Taproot Assets协议、BRC20、以及即将发展起来的RGB协议等等,开发速度也由于各种新的生态造富效应而快了起来,不过推特上很多的Bitcoin全节点搭建教程大多是基于windows操作系统,一般是自己的家用电脑主机24小时不停的跑,是有一些不方便的,而使用云服务器 (小白服务器知识看这里) 就能一直跑着节点维持运行。

对于没有技术基础的用户来说,windows系统来搭建节点很方便,优点也是图形界面操作更加易懂,而服务器上的Linux系统的话对于小白来说很陌生,此教程应运而生,只需要参照本指南跑一个写好的脚本即可运行BTC全节点。

说一下为什么要运行一个自己的BTC全节点?(大多数人不明白为何要维护一个BTC节点)

先从概念简单说一下,比特币是一种点对点的电子现金系统,更直接地说是节点对节点,每笔交易由发起方向周围的节点进行广播,节点收到之后再广播给自己周围的节点,最终扩散至全网。每一个比特币钱包都是一个节点,其中拥有完整区块链账本的节点叫做全节点。

btc全节点好处
btc全节点好处

那么对于撸毛和普通用户来说,最重要的是最后一点,提高查询和交易速度,同时还能降低铸造成本减少Gas费。比如现在很火的brc20铭文赛道,很多人配合btc全节点来打铭文(比如很多代打平台有自己的全节点服务器组),因此为了应对以后BTC生态上突然出现的爆火项目,如果部署了BTC节点就能够立即抓住机会Mint或者铸造,同时抢先一步。

教程说明:

任务工具:一台服务器

Bitcoin Core 全节点有一定的要求。如果您尝试在较弱的硬件上运行节点,它可能会起作用,但您可能会花费更多时间来处理问题。如果您能够满足以下要求,您将拥有一个易于使用的节点。

以下是运行 BTC 全节点的最低配置要求:(配置要求不算高,主要是磁盘)

  • CPU : 2 GHz | 2+ 核心

  • RAM:2 GB 内存

  • SSD: 50G

  • 磁盘:1TB以上

  • 系统:Ubuntu 22.04

  • 流量带宽:50M带宽及以上,全节点每月使用 200 GB以上

任务时间:5分钟;

任务成本:服务器成本

难易程度:中等偏简单

注意:当今许多操作系统(Windows、Mac 和 Linux)在屏幕保护程序激活后进入低功耗模式,从而减慢或停止网络流量。这通常是笔记本电脑以及所有 Mac OS X 笔记本电脑和台式机的默认设置。检查您的屏幕保护程序设置并禁用自动“睡眠”或“挂起”选项,以确保您的计算机在运行时支持网络。

教程开始:

先放一个Bitcoin core官方的全节点教程:

STEP1 准备工作

1.准备好对应配置的云服务器,教程点此进入(往下拉到服务器推荐那里查看搭建服务器步骤,小白可补充一些服务器知识)

2.选择使用xshell连接服务器控制台终端,Xshell教程点此进入(教程中xshell支持sz工具下载私钥文件到windows本地,用其他支持sz功能的ssh工具也可以)

3.按照1步骤生成好云服务器后,需要添加挂载磁盘(因为数据很大,需要的磁盘空间至少500G以上),步骤如下:

  • 点击添加磁盘
点击设置添加磁盘
点击设置添加磁盘
  • 选择磁盘大小,添加磁盘
添加磁盘
添加磁盘
  • 磁盘添加成功
磁盘
磁盘

STEP2 使用一键脚本开始搭建BTC全节点

此处使用一键脚本来简化大家的搭建,代码由推特用户@ouyoung11编写,欢迎关注。

代码完全开源,可在github处检查源代码,无任何后台漏洞及危险代码。

1.服务器登陆之后,依次执行以下命令:

cd ~ && wget -O /root/btcfullnode-oooooyoung.sh https://github.com/nopapername/shell-oooooyoung/releases/download/btcfullnode-oooooyoung-install_1.0.0/btcfullnode-oooooyoung.sh && chmod +x btcfullnode-oooooyoung.sh
安装脚本
安装脚本

2.输入下面的代码,进入一键搭建脚本的提示界面(依次输入数字执行步骤, 每一步结束后再跑下面这个命令会再次进入脚本界面)。

bash /root/btcfullnode-oooooyoung.sh

(1)执行之后出现下图所示的脚本界面,输入1并回车执行脚本步骤1,等待环境包安装完毕(中间如有打断直接回车跳过)

安装btc全节点
安装btc全节点

PS: 上面安装完成后这里日志里需要验证一下是不是你上面准备工作3中创建的挂载磁盘名字

安装完成
安装完成

(2) 再次输入bash /root/btcfullnode-oooooyoung.sh进入脚本界面,然后输入数字2执行btc全节点 (如果报错bitcoind问题,请输入 source ~/.bashrc 并重新运行此步)

运行全节点
运行全节点

(3)输入 bash /root/btcfullnode-oooooyoung.sh 进入脚本界面,输入数字3可查看当前同步区块信息

查看同步区块高度
查看同步区块高度
正常区块信息
正常区块信息

然后和headers字段或者 mempool 浏览器https://mempool.space/zh/ )中的最新区块进行对比,如果一致,则代表同步成功。

mempool信息
mempool信息

(4)可输入 bash /root/btcfullnode-oooooyoung.sh 进入脚本界面输入数字4可查看BTC节点运行日志

节点日志
节点日志

(5)输入 top 还可以验证一下全节点进程是否运行:

bitcoin core进程
bitcoin core进程

(6)10.等待同步完成,可以在生态项目钱包中用全节点做mint铸造操作(比如ord钱包),具体btc生态的mint请查看各项目的教程指南,后续可以关注 @ouyoung11 也会写btc生态上项目的mint教程。

STEP3 搭建BTC全节点 (参考用)

(搭建流程存档,小白可跳过此步骤直接看 STEP2 使用一键脚本搭建,后面附录bitcoin core命令列表)

1.输入df -h查看挂载的磁盘路径(比如我刚刚添加的磁盘名字是btc-storage,路径为 /mnt/btc_storage ):

磁盘路径
磁盘路径

2.输入cd /mnt/btc_storage进入此磁盘:

已进入/mnt/btc_storage目录
已进入/mnt/btc_storage目录

3.去此处查看当前bitcoin core程序版本,并复制下载链接:

复制bitcoin core下载地址
复制bitcoin core下载地址

4.在/mnt/btc_storage目录输入下面的命令下载并解压bitcoin core程序(里面的下载地址https://开头的改成4中复制的最新版本的地址,此教程时当前版本为25.1

wget -O bitcoin-core.tar.gz https://bitcoincore.org/bin/bitcoin-core-25.1/bitcoin-25.1-x86_64-linux-gnu.tar.gz && \
tar -xvf bitcoin-core.tar.gz && \
bitcoin_directory=$(tar -tf bitcoin-core.tar.gz | head -n 1 | cut -f1 -d'/') && \
mv "$bitcoin_directory" bitcoin-core && \
chmod +x bitcoin-core
下载bitcoin core程序
下载bitcoin core程序

5.编辑linux的环境变量文件,在文件末尾添加bitcoin-core目录路径

  • cd bitcoin-core/bin 进入目录后输入pwd可查看当前路径
查看路径
查看路径
  • 输入 nano ~/.bashrc  进入编辑环境变量文件,将下面的内容复制到文件中,并按 ctrl + x 后输入y回车 保存文件

    #bitcoin env
    export BTCPATH=/mnt/btc_storage/bitcoin-core/bin    #根据自己文件目录修改 
    export PATH=$BTCPATH:$PATH
    
修改.bashrc配置文件
修改.bashrc配置文件

6.输入 source ~/.bashrc 使修改的环境配置生效

source
source

7.输入mkdir /mnt/btc_storage/btc-data创建需要保存btc数据的文件夹(创建后可输入ls查看磁盘下是否存在此目录)

创建BTC节点数据文件夹
创建BTC节点数据文件夹

8.输入 nano /mnt/btc_storage/btc-data/bitcoin.conf 在btc-data目录下添加bitcoind的配置文件bitcoin.conf, 并输入如下内容后按ctrl + x 后输入y回车保存:

server=1
daemon=1
txindex=1
rpcuser=mybtc
rpcpassword=mybtc123
addnode=101.43.124.195:8333
addnode=27.152.157.149:8333
addnode=101.43.95.152:8333
addnode=222.186.20.60:8333
addnode=175.27.247.104:8333
addnode=110.40.210.253:8333
addnode=202.108.211.135:8333
addnode=180.108.105.174:8333

其中addnode可以用来添加一个节点,加快下载速度,节点ip从 此网站 获得:https://bitnodes.io/,推荐优先使用国内节点。

创建bitcoin.conf配置文件
创建bitcoin.conf配置文件

8. 输入 sudo ufw allow 8333 打开8333端口防火墙

打开8333端口
打开8333端口

9.输入以下指令开始同步(-datadir后跟第7步中创建的存放data的文件夹路径,我这里是btc-data):

bitcoind -datadir=/mnt/btc_storage/btc-data -txindex

Bitcoin数据同步过程一般来说不会出现问题,不过也有可能由于网络原因碰到同步问题,解决方式就是多次尝试,直到同步成功为止。

10.等待同步完成,可以在生态项目钱包中用全节点做mint铸造操作(比如ord钱包),具体btc生态的mint请查看各项目的教程指南,后续可以关注 @ouyoung11 也会写btc生态上项目的mint教程。

查看是否同步完成:

当同步完成之后,输入 bitcoin-cli -rpcuser=mybtc -rpcpassword=mybtc123 getblockchaininfo 得到同步的区块信息。

同步区块信息
同步区块信息

然后和headers字段或者 mempool 浏览器https://mempool.space/zh/ )中的最新区块进行对比,如果一致,则代表同步成功。

一些常见的 Bitcoin Core 命令:

  1. 启动 Bitcoin Core

    bitcoind
    

    这会启动比特币全节点。

  2. 获取节点信息

    bitcoin-cli getinfo
    

    这个命令提供关于比特币节点的信息,例如区块链高度、难度等。

  3. 获取钱包信息

    bitcoin-cli getwalletinfo
    

    这个命令提供有关比特币钱包的信息,例如余额、未确认余额等。

  4. 获取最新区块的哈希

    bitcoin-cli getbestblockhash
    

    这个命令返回当前链上最新区块的哈希。

  5. 获取指定区块的详细信息

    bitcoin-cli getblock <blockhash>
    

    替换 <blockhash> 为区块的哈希值。

  6. 获取交易详细信息

    bitcoin-cli gettransaction <txid>
    

    替换 <txid> 为交易的哈希值。

  7. 生成新地址

    bitcoin-cli getnewaddress
    

    这个命令用于生成新的比特币地址。

  8. 发送比特币

    bitcoin-cli sendtoaddress <address> <amount>
    

    替换 <address> 为接收地址,<amount> 为发送的比特币数量。

  9. 备份钱包

    bitcoin-cli backupwallet <filename>
    

    这个命令用于备份比特币钱包。

  10. 导入私钥

    bitcoin-cli importprivkey <privatekey>
    

    替换 <privatekey> 为要导入的私钥。

  11. 查询未花费的输出 (UTXOs)

    bitcoin-cli listunspent
    

    这个命令返回未花费的输出列表。

  12. 查看挖矿信息

    bitcoin-cli getmininginfo
    

    这个命令提供有关挖矿的信息,例如区块的难度、挖矿设备信息等。

这只是 Bitcoin Core 命令的一小部分,有很多其他命令和选项可用,可以通过查阅 Bitcoin Core 官方文档 来获取更详细的信息。

Subscribe to 0xoooooyoung
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.