搭建btc全节点和runes同步索引教程

一、下载btc和ord二进制程序

mkdir -p /data/ && cd /data/ 
wget https://bitcoincore.org/bin/bitcoin-core-26.1/bitcoin-26.1-x86_64-linux-gnu.tar.gz  && tar xvf bitcoin-26.1-x86_64-linux-gnu.tar.gz
wget https://github.com/ordinals/ord/releases/download/0.18.2/ord-0.18.2-x86_64-unknown-linux-gnu.tar.gz && tar xvf ord-0.18.2-x86_64-unknown-linux-gnu.tar.gz
mv bitcoin-26.1 bitcoin
ln -s /data/bitcoin/bin/* /usr/local/bin/
ln -s /data/ord-0.18.2/ord /usr/local/bin/

二、启动btc全节点

启动前建议使用 screen -S 窗口名 命令开一个虚拟窗口,这样即使远程中断,程序依然在后台运行,可使用screen -r 恢复

screen -S bitcoin_mainnet    # 如果远程中断,可用 screen -r bitcoin_mainnet  恢复
mkdir -p /data/bitcoin/btc-data/  
bitcoind -datadir=/data/bitcoin/btc-data/ -txindex=1 -rest

新开一个shell窗口,执行

ss -lntp|grep 8332
可以看到RPC端口 8332 已经在监听了:

查看同步进度:

bitcoin-cli -datadir=/data/bitcoin/btc-data/ getblockchaininfo

可以对比btc区块浏览器上的最新区块高度:

https://mempool.space/zh/testnet

等待本机高度追赶上区块浏览器显示的最新高度。

启用测试网全节点
如果需要启用测试网全节点,则再开一个shell窗口,执行:

screen -S bitcoin_testnet
mkdir -p /data/bitcoin/testnet-data/
bitcoind --testnet -datadir=/data/bitcoin/testnet-data/ -txindex=1 -rest

新开一个shell窗口,执行

ss -lntp|grep 18332
可以看到测试网的RPC端口 18332 正在监听。

查看测试网同步进度:

bitcoin-cli -testnet -rpccookiefile=/data/bitcoin/testnet-data/testnet3/.cookie getblockchaininfo

可以对比btc测试网区块浏览器上的最新区块高度:

https://mempool.space/zh/testnet

三、同步runes索引

screen -S runes_mainnet
ord  --cookie-file  /data/bitcoin/btc-data/.cookie  --bitcoin-rpc-url  127.0.0.1:8332  --bitcoin-data-dir /data/bitcoin/btc-data/  --minify --index-runes  server --http-port 8080

待同步完成后,在浏览器访问:

http://你的服务器IP:8080/

可以看到runes代币列表

启用runes测试网索引
如果需要启用测试网: (新开一个shell窗口)

screen -S runes_testnet
ord  --cookie-file /data/bitcoin/testnet-data/testnet3/.cookie --bitcoin-rpc-url  127.0.0.1:18332  --bitcoin-data-dir /data/bitcoin/testnet-data/  --minify --index-runes   --chain testnet server --http-port 18080

同步完成后访问

http://你的服务器IP:18080/

即可看到测试网的runes代币列表。

四、创建钱包
创建主网钱包:

ord --chain mainnet --cookie-file /data/bitcoin/btc-data/.cookie   wallet create

# 如果需要创建多个钱包,需使用 --name  参数指定不同的钱包名,比如创建wallet1钱包:

ord --chain mainnet --cookie-file /data/bitcoin/btc-data/.cookie   wallet --name wallet1 create
从助记词恢复钱包:

ord --chain mainnet --cookie-file /data/bitcoin/btc-data/.cookie wallet  restore --from mnemonic
查看钱包地址:

ord --chain mainnet --cookie-file /data/bitcoin/btc-data/.cookie   wallet --server-url="http://127.0.0.1:8080"  receive
查看钱包余额:

ord --chain mainnet --cookie-file /data/bitcoin/btc-data/.cookie   wallet --server-url="http://127.0.0.1:8080"  balance

测试网钱包操作同上,把cookie文件和server端口换一下即可。

BTC测试币可以在这俩水龙头领取:

https://coinfaucet.eu/en/btc-testnet/

https://bitcoinfaucet.uo1.net/send.php

五、在测试网测试mint

ord --chain testnet --cookie-file /data/bitcoin/testnet-data/testnet3/.cookie   --bitcoin-data-dir /data/bitcoin/testnet-data/  wallet --server-url="http://127.0.0.1:18080" mint --fee-rate 1 --rune I•NEED•TEST•RUNES

注意: mint时可以添加 — destination 参数指定要将符文发送的地址,否则就发到随机地址了

服务器技术交流群请加微信 YJZyjz