# CAT Protocol 铸造教程

By [3P-Labs](https://paragraph.com/@3p-labs) · 2024-09-11

---

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

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

[https://mirror.xyz/0x6e5f54B4c182baFDA14426235F24B80e638E109a/aN73xiebhmCABVeoQ11sfHomgyjpKkO0kIvtptamSj0](https://mirror.xyz/0x6e5f54B4c182baFDA14426235F24B80e638E109a/aN73xiebhmCABVeoQ11sfHomgyjpKkO0kIvtptamSj0)

环境配置
====

首先安装 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
    

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

![钱包创建](https://storage.googleapis.com/papyrus_images/a3e523d3f7e05b7a63d04beadc2fb617c08ab7fc8a60301b362773a7fb156cea.png)

钱包创建

运行下面的指令进行 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 了，如果需要后台执行的可以查一下 `nohup` 和`screen` 指令

---

*Originally published on [3P-Labs](https://paragraph.com/@3p-labs/cat-protocol)*
