阿里云搭建BTC全节点铸造铭文:避坑指南

熊猫撸白.nft
2023-03-08 10:44
发布于 Mirror

目前在各种媒体上看到的全节点搭建教程大多是基于windows操作系统,对于没有技术基础的用户来说,我也推荐使用windows系统来搭建,优点是图形界面操作更加便捷,一次搭建永久使用,无需续费。

本篇指南是为了弥补市面上对于云服务器搭建全节点的内容空缺,同时记录一下在搭建过程中碰到的种种问题以及我解决问题的思路。本文适用于有一定技术积累、追求效率和后续想在此基础上开发工具的用户群体。

以下为铸造铭文的步骤:

  • 购买云服务器

  • 同步全节点数据

  • 安装ord钱包

  • 创建钱包

  • 索引区块

  • 铸造铭文

购买云服务器

这一步是比较关键的,选择合适配置的云服务器可以避免后面我碰到的大部分问题,特别是硬盘大小,比特币全节点数据记录着从2009年1月3日开始至今的所有数据,总大小大约在500G左右,并且每个月增长的速率为5-10G,所以这里我推荐使用最少1TB的固态硬盘,以下是我的服务器配置:

其中云盘一共有两块,一块是系统盘,另一块是我挂载的1TB数据盘,这块盘就是用于存放Bitcoin全节点数据的地方。

接下来就是我要说的第一点:当你购买的云盘大小已经存放不下最新的数据的时候该如何去做?

有两种解决方案:1.直接扩容,无需迁移数据  2.挂载一块更大的云盘,将数据迁移。根据测算扩容的租赁成本稍比挂载多一点点。关于如何操作,可以参考阿里云的官方教程,我认为已经写的非常清楚,按照步骤操作即可:


扩容: https://help.aliyun.com/document_detail/35095.html?spm=a2c4g.11186623.0.0.7b745e32003W3M
挂载: https://help.aliyun.com/document_detail/25446.html

同步全节点数据

首先如果你和我一样按照官方文档挂载了另外一块云盘,那么它的挂载目录默认是/mnt目录,这个可以类比成windows系统上的E:\ 。

接着输入以下指令:

cd /mnt   //进入mnt目录
mkdir btc //创建btc目录
cd btc    //进入btc目录
mkdir btc-data //创建保存btc数据的目录,以上目录均可自定义

下载bitcoin-24.0.1版本:

wget https://bitcoincore.org/bin/bitcoin-24.0.1-x86_64-linux-gnu.tar.gz

下载完成后,可以解压压缩包,并将其安装到`/usr/local/bin`目录下,可以让系统直接访问到:

tar -xzf bitcoin-24.0.1-x86_64-linux-gnu.tar.gz   //解压文件
sudo mv bitcoin-24.0.1/bin/* /usr/local/bin/      //拷贝文件

如果不放到系统目录下,也可以按照如下方法添加环境变量:

vim  ~/.bashrc  //编辑环境变量文件

在文件末尾添加bitcoincore文件目录

export BTCPATH=/mnt/btc/bitcoin-24.0.1/bin   //根据自己文件目录修改
export PATH=$BTCPATH:$PATH

使环境变量生效

source ~/.bashrc

在btc-data下添加bitcoind的配置文件bitcoin.conf,并输入如下内容,addnode可以用来添加一个节点,可以加快下载速度,这些节点的ip可以从以下的网站获得:https://bitnodes.io/,优先使用国内的节点。

server=1
daemon=1
txindex=1   //txindex必须要加,因为ord钱包需要bitcoin的索引数据         
addnode=81.68.102.34:8333
addnode=60.205.205.119:8333
addnode=223.167.74.199:8333
addnode=47.104.221.103:8333
addnode=112.19.172.217:8333
addnode=47.109.21.215:8333
addnode=120.244.105.164:8333
addnode=47.108.165.145:8333

输入以下指令开始同步:

bitcoind -datadir=/mnt/btc/btc-data -txindex    //datadir后替换为你自己的目录

Bitcoin数据同步过程已经经过很多年的验证,一般来说不会出现问题,不过你也有可能由于网络原因碰到我下面这个问题,解决方式就是多次尝试,直到同步成功为止。

当同步完成之后,输入如下指令得到最新的区块数,然后和mempool 浏览器

<https://mempool.space/zh/ >

中的最新区块进行对比,如果一致,则代表同步成功。

安装ord钱包

你可以使用下面的脚本去安装ord钱包

curl --proto '=https' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s

或者去官方的github直接下载安装包,最新的版本是0.5.1

https://github.com/casey/ord/releases

然后解压到自定义目录,最后记得把ord执行文件的目录按照前面提到的方法加入环境变量文件中。

创建钱包

首先使用以下指令创建一个钱包,使用 --wallet 可以指定钱包的名称,如果不使用则默认名称为“ord”。如果你修改了bitcoin core数据安装目录,则必须使用参数 --bitcoin-data-dir 指定目录,才可以创建钱包,创建钱包成功后,会生成12个助记词,保存好。

ord --wallet example  --bitcoin-data-dir /mnt/btc/btc-data  wallet create

索引区块

输入如下查看钱包账户的指令,说一下第一个参数 --cookie-file 指定了RPC调用验证的cookie文件路径,第三个参数--data-dir,这个参数是用于保存ord钱包索引区块的数据,当索引开始时,在该目录下会生成一个index.redb文件,这是用rust编写的轻量级的数据库。

ord --wallet example  --cookie-file /mnt/btc/btc-data/.cookie --bitcoin-data-dir /mnt/btc/btc-data --data-dir /mnt/btc/ord_data  wallet balance

开始索引后,就会出现如下的进度条,有的时候也许会报错,卡顿很久,耐心等待或者多次尝试即可,整个过程耗时也比较长,差不多需要1至2天,不过现在随着解决方案越来越成熟,很多人已经打包好了区块数据和index.redb文件,下载下来直接用即可,我会在文末放上github链接

铸造铭文

当索引完成后,最后就是享受胜利果实的时候,铸造铭文的指令如下,inscrible后添加你要铸造的文件即可,记得加上 --fee-rate,这个参数可以用于设置费率,你给的越多铸造的越快,当然成本也会更高,15的费率只能算是中上等,前两天在疯狂内卷的时候,费率经常飙到30,费率可以通过mempool查看,进行动态调整。

ord --wallet example --cookie-file /mnt/btc/btc-data/.cookie  --bitcoin-data-dir /mnt/btc/btc-data --data-dir /mnt/btc/ord_data  wallet inscribe panda.txt --fee-rate 15

其他指令

还有一些其他常用的指令,我已经整理在下图,如果是没有安装在默认位置,记得添加上面所讲的参数.

总结:

以上是用linux服务器搭建全节点铸造nft的过程,希望能帮到你,不过我相信在你自己操作的过程,一定会碰到各种各样的问题,欢迎添加下方微信,备注“BTC全节点”,进入免费交流群。最后,附上全节点和index.redb数据的github链接:

<https://github.com/CryptoCellLabs/Ordinals-Index-Data >

 

https://github.com/CryptoCellLabs/Bitcoin_FullNode_Data

1
粉丝
1
获赞
37
精选
相关文章
数据来源区块链,不构成投资建议!
网站只展示作者的精选文章
2022 Tagge. With ❤️ from Lambda