CAT Protocol 铸造教程

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

如果不担心安全问题的也可以参考一键部署教程:

环境配置

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

sudo apt-get update
sudo apt-get install docker.io -y

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

sudo apt-get install npm -y
sudo npm install n -g
sudo n stable
sudo npm i -g yarn

拉取 Git 和编译

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

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

运行 docker 容器

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

运行 Fractal 节点:

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

同时,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

创建钱包

在完成 Docker 的运行后,可以创建本地的钱包,首先要创建 package/cli 目录下的 config.json文件,到达这一步你应该在 /cat-token-box 目录下,逐步运行以下指令

cd packages/cli
vim config.json

然后复制下面的配置信息,在服务器上按一下 i 键(下面 username和password需要和 tracker/.env 的一致,可以根据需要修改),复制之后按 esc 键,然后输入 :wq 再回车保存

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

至此,所有的配置项目都完成了,执行下面的指令创建新钱包

sudo yarn cli wallet create

如果显示类似下面的信息,那么就是创建完成了(这里码住了助记词)

钱包创建
钱包创建

运行下面的指令进行 mint

sudo yarn cli mint -i 45ee725c2c5993b3e4d308842d87e973bf1951f5f7a804b21e4dd964ecd12d6b_0 5

重复铸造

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

#!/bin/bash

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

while true; do
    $command

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

    sleep 1
done

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

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

Subscribe to 3P-Labs
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.