Atomicals-JS部署及私有节点搭建

2023年12月24日

(首次看教程的请从部署Atomicals-JS-Master钱包开始)

Atomicals-JS-Master工具更新

官方更新了多线程挖矿代码,挖矿速度更快,更新方法如下:

1.在Atomicals官方Github下载最新版本CLI工具文件。

下载新文件
下载新文件

2.解压缩后把所有文件替换原来的文件。

3.在文件夹内打开CMD命令提示符窗口,并以此运行下列命令:

npm install -g yarn

yarn install

yarn run build

4.运行上述命令后,更新完成。另外,如果你是使用自己电脑的私有节点,需要打开.env文件,将URL修改为本地节点。

修改env文件
修改env文件

注意:如果之前没有更新过12月4日的官方版本,那么还需要在Atomicals-JS工具文件夹里新建一个wallets文件夹,并把wallet.json文件移动到wallets文件夹,以便使用原来的钱包。如果是新建钱包,则无需此步。

注意:新版本--satsbyte参数设置的FeeRate不再有倍率,与实际上链FeeRate几乎是1:1(仍然有微小差别,实际上链FeeRate会略高)

Docker服务器更新v1.3.6

1.在Atomicals官方Github下载最新版本文件。

下载新文件
下载新文件

2.解压缩,替换原来atomicals-electrumx-docker文件夹内的文件。 (先停止docker运行)

3.修改docker-compose.yml文件,把userpass替换为本地Bitcoin Core的对应用户名和密码,把${IP:?}替换为本地IP地址。

4.重启docker,在文件夹内打开CMD命令提示符窗口,运行下列命令:

docker-compose pull && docker-compose up -d

5.运行上述命令后,更新完成。

**********************************************************************************

教程有更新内容,已经全部操作完前面步骤的朋友可以拉到最后看更新部分。

第一次看教程的可以从第一步开始操作,到私有节点搭建部分时,结合着更新内容一起做,把更新部分做完后,再一起运行docker。

部署Atomicals-JS-Master钱包

1.安装Node.js

在Node.js官网下载最新版本安装文件,按照安装向导进行安装。

安装最新版即可
安装最新版即可

安装完成后,可以在 Powershell 或 cmd 命令提示符窗口输入: node -v 验证安装是否成功。返回值如果正确显示版本号,即代表安装成功。(教程中我的版本由于安装的较早,所以跟官网最新版本不一样,我没做升级,大家直接下载最新版即可)

使用node -v命令验证安装结果
使用node -v命令验证安装结果

2.下载&配置Atomicals-JS-Master

在Atomicals官方Github主页,点击Code,在弹出的窗口中选择 Download ZIP

下载程序
下载程序

解压缩程序到目录,然后切换到该目录,并在资源管理器地址栏输入cmd,回车,打开命令提示符窗口

在Atomicals-JS-Master文件夹内打开cmd
在Atomicals-JS-Master文件夹内打开cmd

依次运行下面命令:

npm install -g typescript

npm install -g typescript
npm install -g typescript

npm run build

npm run build
npm run build

npm install -g yarn

npm install -g yarn
npm install -g yarn

yarn install

yarn install
yarn install

yarn cli wallet-init

yarn cli wallet-init
yarn cli wallet-init

最后一步是创建钱包,命令运行后,会在文件夹内生成一个wallet.json的文件,这里保存着助记词和私钥。

说明:创建钱包后,会自动生成2个地址,Primary AddressFunding Address,其中Primary是用于接收Atomicals生态资产的,比如ARC20代币、图片NFT等,Funding是用于铸造(挖矿)过程的中转钱包,通常是往Funding地址中存入相应数量的BTC,用于铸造。

至此,部署已经完成,下面是常用的命令:

铸造FT币命令:

yarn cli mint-dft dmint --satsbyte 30

**********************************************************************************

#注意这里设置的gas,与实际上链的gas是1.8~2倍的关系,比如这里设置30,实际上链gas是54~60sats/vB。

最新版的atomicals-js工具已经更新了代码,目前--satsbyte设置的gas与实际上链的gas一至,不再有倍率。(但需要注意:设置gas会略低与实际gas)

更新后.env文件里wallet.json位置修改为wallets文件夹,如果要使用原来的钱包,需要在atomicals-js-master文件夹内新建一个wallets文件夹,把wallet.json文件放进去即可(使用wallet-init新建钱包的,无需操作此步骤)。

**********************************************************************************

铸造Realm命令:

yarn cli mint-realm "btc" --satsbyte 30 --satsoutput 1000 --bitworkc 3165

铸造图片NFT命令:

yarn cli mint-nft "E:\Crypto\NFT\CryptoPunks\punk0000.png" --satsbyte 30 --satsoutput 1000 --bitworkc 3165

查询余额命令:

npm run cli balances

搭建私有Atomicals节点(需要本地BTC全节点支持)

1.安装Docker

在Docker官网下载最新版本安装文件,按照安装向导进行安装。

点击下载,并安装
点击下载,并安装

根据安装向导进行安装,选择Use WSL 2 instead of Hyper-V(recommended)

选择WSL2
选择WSL2
等待安装
等待安装
点击Close and log out注销并重新登录
点击Close and log out注销并重新登录

完成安装后需要注销,并重新登录Windows。

重新登陆后,在弹出的窗口,点击 Accept 接受协议。

注册并登录Docker(可以使用Google、Github登录)。

2.下载&配置Atomicals-Electrumx-Docker

Next-DAO的Github页面,下载压缩包,并解压缩到文件夹*(步骤和方法与安装Atomicals-JS-Master类似,参考上面步骤即可)*

Bitcoin的Github页面,下载rpcauth.py代码,可以放在刚才atomicals-electrumx-docker的文件夹里。

下载代码
下载代码

在文件夹内打开cmd,运行:

python rpcauth.py 用户名 密码

其中,用户名密码位置自行修改,运行把返回参数记录下来,等下会用到。

此步骤需要安装Python,这里不再赘述。

记录返回值
记录返回值

打开Bitcoin Core的conf配置文件,添加如下参数:

server=1

txindex=1

daemon=1

rpcuser=用户名 #设置一个用户名

rpcpassword=密码 #设置一个密码

rpcauth=electrumx:c7ed296134ebe0035d9ff786dfa102b5$9d40e8e36 #这里是上一步生成记录的返回值

**************************2023.11.30调整-修改部分*******************************

rpcbind=127.0.0.1

rpcbind=192.168.31.188 #这里需要自行查看本机的IP地址,可以通过ipconfig命令查看

rpcallowip=127.0.0.1

rpcallowip=192.168.31.188 #这里需要自行查看本机的IP地址,可通过ipconfig命令查看

2023.11.30,调整一下这部分内容,因为发现很多人重启电脑后,本机IP会变化(因为大多数人使用了DHCP自动获取IP,每次会开关机后有可能会自动分配不同IP),所以还要再次修改conf文件,现在改为下面的内容后,可以避免这种情况,如果你已经在成功运行,并且没有报错,电脑也不经常关机,那么可以不做修改。

rpcallowip=127.0.0.1

rpcallowip=172.0.0.0/8

rpcallowip=192.168.0.0/16

rpcbind=0.0.0.0

改完后就涵盖了192.168号段的所有IP。

**************************2023.11.30调整-修改部分*******************************

我的配置如图(2023.11.30修改前内容)
我的配置如图(2023.11.30修改前内容)
2023.11.30修改后内容样例
2023.11.30修改后内容样例

新建一个.env文件,并在文件内写入:

DAEMON_URL=用户名:密码@192.168.31.188:8332

这里的用户名密码就是上一步Bitcoin Core的conf里设置的用户名密码

**********************************************************************************

/*第一次看教程的朋友,从这里往下可以不做,直接去看后面更新部分。

在Atomicals-Electrumx-Docker文件夹里打开cmd,并运行:

docker-compose pull && docker-compose up -d

配置中。。。
配置中。。。
开启服务器
开启服务器

运行命令后,可以关闭cmd窗口了。Docker开始同步节点信息,完全同步至最新区块高度,大约需要90G磁盘空间,需要1天半时间。可以打开Docker APP 来查看同步进度。

在Docker查看
在Docker查看

第一次看教程的朋友,从这里往上到 /*可以不做,直接去看后面更新部分。

*/

**********************************************************************************

全部同步完成后, 打开atomicals-js-master文件夹里的.env文件,替换原有节点URL为:

ELECTRUMX_PROXY_BASE_URL=http://localhost:8080/proxy

替换节点URL
替换节点URL

至此,私有节点就已经搭建完成。

Docker其他相关命令,在cmd中运行下列命令实现对应功能:

检查electrumx是否准备就绪

docker-compose ps

使用cmd查看进度

docker-compose logs -f

关闭服务器

docker-compose down

2023.11.15晚9点-更新内容

更新内容是:本地索引服务支持。由于Next-DAO的Github把两个模式的docker-compose配置文件放在不同的页面,所以上一节教程中没有本节内容,需要操作本节内容才能正确开始本地节点服务。不影响之前的同步数据和进度。

1.首先停止已经在运行的Docker,并删除旧的Container。

删除旧的Container
删除旧的Container

2.在Next-DAO的GitHub页面,下载docker-compose.yml文件,并替换文件夹内现有的同名文件:

下载docker-compose.yml
下载docker-compose.yml
下载新的docker-compose.yml并替换现有同名文件
下载新的docker-compose.yml并替换现有同名文件

docker-compose.yml文件中,需要填写全节点的rpcuser及rpcpassword,${IP:?}部分为本机IP,如果之前的步骤正确创建并配置了.ENV文件,这里可以不改,如果没有配置.ENV,则${IP:?}改为本机IP即可。

3.把 data 文件夹 重命名为: electrumx-data

把 data 文件夹 重命名为:electrumx-data
把 data 文件夹 重命名为:electrumx-data

上面3步操作完成后重启电脑

4.然后在文件夹内打开cmd命令提示符窗口,并运行:

docker-compose pull && docker-compose up -d

如果报错:&&不是有效语句分隔符,就分开运行这两段代码即可。

atomicals-js-master文件夹里的.env文件配置与上一节教程一样,无需改动。

5.1检查docker同步状态:在浏览器地址栏输入 http://192.168.31.188:8080 ,如果返回 “success”:true 则表示节点运行正常,docker会继续同步数据并检索本地atom协议的交易,此过程也要持续数小时。

5.2检查节点状态:在浏览器地址栏输入 http://192.168.31.188:8080/proxy/health ,如果返回 “success”:true , “health”:true则表示节点已经准备就绪,此时就可以用atomicals-js工具连接私有节点正常使用了。

说明:由于Windows系统上docker的效率本身就低,再加上网络等各种不可控原因,docker下的私有节点并不稳定,及时电脑不关机持续运行,也会导致节点莫名其妙丢失状态(双false状态),此时不用管它,docker会自动继续同步,直到再次准备就绪。(如果期间docker卡死,就需要手动去重启docker)。

(注意这里的IP地址要替换为你得本机IP地址)

返回 “success”:true 则表示docker运行正常
返回 “success”:true 则表示docker运行正常
返回 “success”:true,“health”:true 则表示节准备就绪
返回 “success”:true,“health”:true 则表示节准备就绪

我的推特:

Subscribe to E
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.