Cover photo

分型网生态 CAT Protocol 铸造教程

晚上看到各个群里都在打cat,我也来凑凑热闹,感谢乐于奉献的大佬们提供教程,让我明白了如何部署,为了让更多小伙伴少走弯路,我就借花献佛也出份教程。(后面新增疑难杂症环节)

我已经准备了4台服务器,有需要代打的小伙伴可以联系我,代打费用比 三方网站便宜很多,只收取10%的费用,欢迎有需要的老板联系。另外自己部署环境有困难的也可以找我,帮你部署cat20环境。

联系方式wx: t52861700

1. 准备工作

因为分型链需要在21000区块后才做索引,我们先要铸造CAT,需要自己准备不少东西

  1. 服务器一台

    建议创建一个 ubuntu 服务器来跑,避免环境部署问题,可以选用腾讯云、contabo等云服务器。注意选择国外服务器避免拉取、安装问题,注意配置CPU 2 核、内存 4GB,并且使用按量付费。

    服务器用于部署 Fractal 全节点、索引器, 并运行 mint脚本

  2. FB代币

    分型连使用FB作为gas,需要准备足够的FB,目前链上gas被打到1800聪了,建议准备1FB起步吧,想大批量那就需要更多,另外大批量的最好进行utxo的拆分

  3. SSH远程工具

    比如FinalShell、xshell 等用来远程登录服务器进行操作

2. 服务器基本环境部署

首先安装 Docker、docker-compose和 node.js 环境

sudo apt-get update

# 安装docker
sudo apt-get install docker.io -y

# 安装 docker-compose
VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')
DESTINATION=/usr/local/bin/docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m) -o $DESTINATION
sudo chmod 755 $DESTINATION

# 安装npm及nodejs
sudo apt-get install npm -y
sudo npm install n -g
sudo n stable

# 安装yarn
sudo npm i -g yarn

拉取cat的代码并编译

拉取 github 的仓库,并且进行编译

git clone https://github.com/CATProtocol/cat-token-box
cd cat-token-box
sudo yarn install
sudo yarn build

3. Fractal 全节点部署

CAT 是在 Fractal 主网上的协议,所以需要在服务器上运行一个 Fractal 全节点,由于现在 Fractal 网络的区块不多,所以同步是特别快的,这个和网络速度有关系。

部署Fractal 节点命令如下

cd ./packages/tracker/
sudo chmod 777 docker/data
sudo chmod 777 docker/pgdata
sudo docker-compose up -d

运行完他会自动进行同步的,直接进行下一步就可以了

4. 索引器部署

CAT Protocol 需要运行一个本地的索引器,下面是编译和运行的命令

cd ../../
sudo docker build -t tracker:latest .
sudo 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

5. 创建配置文件及本地钱包

在完成全节点和索引器的运行后,接下来要创建配置文件。首先要在 cat-token-box/package/cli 目录下创建 config.json文件,命令如下:

cd ~/cat-token-box/packages/cli
vim config.json

然后复制下面的配置信息,在服务器上按一下 i 键,然后鼠标邮件进行粘贴,之后按 esc 键,然后输入 :wq 再回车保存。

注意 其中maxFeeRate为gas,这个要根据当前网络情况进行调整,可以在配置文件中调整也可以在后面的命令行中设置

{
  "network": "fractal-mainnet",
  "tracker": "http://127.0.0.1:3000",
  "dataDir": ".",
  "maxFeeRate": 1800,
  "rpc": {
      "url": "http://127.0.0.1:8332",
      "username": "bitcoin",
      "password": "opcatAwesome"
  }
}

6. 创建本地钱包并转入FB

执行下面的指令创建新钱包

sudo yarn cli wallet create

如果显示类似下面的信息,那么就是创建完成了(这里码住了助记词),注意自己要保管好助记词哦

post image

将助记词导入到自己的钱包中,就可以得到对应的地址了。也可以通过如下命令查看地址:

yarn cli wallet address

然后给这个地址转入足够的FB就可以了

7. 等待同步到位

在mint前需要等待区块同步到位,可以通过查看钱包余额的方式来检查是否同步完成

yarn cli wallet balances

如果没同步完,会显示如下内容,据说90%以上的比例就可以进行mint了,也有人说80%就行,但我80%试了不行

post image

8. mint cat

单次mint使用如何命令:

sudo yarn cli mint -i 45ee725c2c5993b3e4d308842d87e973bf1951f5f7a804b21e4dd964ecd12d6b_0 5 --fee-rate 1800

这里可以加后面 --fee-rate 1800 参数,也可以不加,不加的话自动取配置文件中设置的gas

每次的 mint 指令只能铸造一次,所以需要脚本来重复执行,在当前的 cli 目录下创建一个 script.sh 文件,内容复制下面的:

#!/bin/bash

command="sudo yarn cli mint -i 45ee725c2c5993b3e4d308842d87e973bf1951f5f7a804b21e4dd964ecd12d6b_0 5 --fee-rate 1800"

while true; do
    $command

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

    sleep 1
done

然后添加运行权限 chmod +x script.sh

最后运行这个脚本文件就可以重复 mint 了,如果需要后台执行的可以查一下 nohup 和screen 指令。

其他相关命令待补充

检查mint数量,在packages/cli目录下输入: yarn cli wallet balances

疑难杂症环节:

大家可能会遇到可能千奇百怪的问题,部分问题是钱包地址原因,还有部分问题是节点原因,解决办法有:

  1. 如果是钱包问题

    • 先看看区块同步进度是否正常

    • 然后就检查钱包余额,是否有交易卡住了,

    • 如果都没问题还提示余额不足,那就钱包进行几次自转,再不行就换个钱包

  2. 如果是服务器区块问题,就重启全节点和索引器

    # 重启全节点
    cd ~/cat-token-box/packages/tracker
    docker compose down
    docker compose up -d
    #查看节点日志
    docker compose logs -f
    
    # 重启索引器
    docker restart tracker
    
    # 查看索引器日志
    docker logs -f -n 100 tracker
    
  3. 另外就是区块同步很慢的问题,这个大家如果能找到现成的数据,可以通过hsql进行导入,免去漫长的索引过程。 如果找不到数据,又不想等的话,也可以联系我。