【笔记】FractalBitcoin的代币CATProtocol铸造

前言

在Ubuntu上进行FractalBitcoin的代币CATProtocol铸造

准备工作

  • git
1
apt install git
  • Docker和DockerCompose
1
curl -fsSL get.docker.com | sh
  • 最新版Nodejs、npm、yarn
1
2
3
4
apt install npm
npm install -g yarn
npm install -g n
n stable

下载项目

1
2
git clone https://github.com/CATProtocol/cat-token-box
cd cat-token-box

下载依赖

cat-token-box/
1
yarn install

编译项目

cat-token-box/
1
yarn build

Docker上运行Fractal全节点服务容器

cat-token-box/packages/tracker/
1
2
3
chmod 777 docker/data
chmod 777 docker/pgdata
docker compose up -d

运行Fractal全节点服务容器前修改默认RPC用户名密码(可选)

RPC_USER:定义RPC用户名
RPC_PASSWORD:定义RPC密码

.env
1
2
RPC_USER=bitcoin
RPC_PASSWORD=opcatAwesome

Docker上运行本地索引器Tracker

cat-token-box/
1
2
docker build -t tracker:latest .
docker run -d --name tracker --add-host="host.docker.internal:host-gateway" -e DATABASE_HOST="host.docker.internal" -e RPC_HOST="host.docker.internal" -p 3000:3000 tracker:latest

配置钱包

创建新钱包

cat-token-box/packages/cli/
1
yarn cli wallet create
  • 得到钱包助记词
1
2
3
4
Your wallet mnemonic is:  xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx
exporting address to the RPC node ...
successfully.
Done in 0s.
  • 默认创建的是UniSat WalletTaproot(P2TR)(m/86'/0'/0'/0/0)钱包

导入已有钱包

  • 创建wallet.json配置文件

xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx:已有钱包的助记词

cat-token-box/packages/cli/wallet.json
1
2
3
4
5
{
"accountPath": "m/86'/0'/0'/0/0",
"name": "wallet",
"mnemonic": "xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx"
}

查看钱包地址

cat-token-box/packages/cli/
1
yarn cli wallet address
  • 如果返回wallet file: /root/cat-token-box/packages/cli/wallet.json not exists!表示钱包地址不存在,配置有误
  • 如果返回Your address is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXX表示钱包地址存在,配置无误

修改铸造配置(可选)

  • 如果运行Fractal全节点服务容器前修改了默认RPC用户名密码,需要在创建钱包之前修改配置文件,将RPC用户名和密码与Fractal全节点服务保持一致

username:定义RPC用户名
password:定义RPC密码

cat-token-box/packages/cli/config.json
1
2
3
4
5
6
7
8
9
10
11
{
"network": "fractal-mainnet",
"tracker": "http://127.0.0.1:3000",
"dataDir": ".",
"maxFeeRate": 3,
"rpc": {
"url": "http://127.0.0.1:8332",
"username": "bitcoin",
"password": "opcatAwesome"
}
}

铸造

铸造一次

cat-token-box/packages/cli/
1
yarn cli mint -i 45ee725c2c5993b3e4d308842d87e973bf1951f5f7a804b21e4dd964ecd12d6b_0 5

无限循环铸造脚本

1
2
3
4
5
6
7
8
9
10
11
12
command="yarn cli mint -i 45ee725c2c5993b3e4d308842d87e973bf1951f5f7a804b21e4dd964ecd12d6b_0 5"

while true; do
$command

if [ $? -ne 0 ]; then
echo "命令执行失败,退出循环"
exit 1
fi

sleep 1
done

查看钱包余额

cat-token-box/packages/cli/
1
yarn cli wallet balances

完成

参考文献

3P-Labs的博客
X——加密狗