确权工具箱部署

为了方便小伙伴使用新致区块链进行确权,而不需要理解和使用专有的类库,这里准备了基于HTTP RESTFUL 的API接口,进行区块链交易的转发。本章节讲述如何 使用确权工具箱进行部署

部署前提

你需要准备如下内容:

  • 一台ubuntu/centos 系统主机。 推荐资源不规格小于4核8G, 硬盘不小于100G
  • 链账户seed

安装

docker 安装

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sh get-docker.sh --mirror=Aliyun

创建工作目录

本案例使用/opt/ttchain

$ mkdir -p /opt/ttchain
$ cd /opt/ttchain

安装fisco 版本为v2.9.1

配置swarm.key

cat << EOF >swarm.key
/key/swarm/psk/1.0.0/
/base16/
55158d9b6b7e5a8e41aa8b34dd057ff1880e38348613d27ae194ad7c5b9670d7
EOF

配置 docker-compose.yml

本案例使用的数据目录是 /mnt/chain, 需要较大的硬盘空间,推荐200G以上,用于存储确权的文件。具体大小应应用的需求而定义。

cat << EOF >docker-compose.yml
version: '3.2'
services:
  ipfs:
    image: 'ipfs/go-ipfs:v0.10.0'
    container_name: case_ipfs
    ports:
      - "37774:37774"
      - "5001:5001"
      - "4001:4001"
    restart: always
    volumes:
      - "/mnt/auth/toolkit/case/ipfs:/data/ipfs"
      - "./swarm.key:/data/ipfs/swarm.key"
    entrypoint: /sbin/tini --
    environment:
      IPFS_PROFILE: badgerds
    command: >-
      /bin/sh -c "/usr/local/bin/start_ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '[\"http://127.0.0.1:5001\",\"http://ipfs:5001\",\"http://localhost:5001\"]'
      && /usr/local/bin/start_ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '[\"PUT\", \"POST\"]'
      && /usr/local/bin/start_ipfs config Addresses.Gateway /ip4/127.0.0.1/tcp/37774
      && /usr/local/bin/start_ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001
      && /usr/local/bin/start_ipfs config Datastore.StorageMax 200GB
      && /usr/local/bin/start_ipfs bootstrap rm --all
      && /usr/local/bin/start_ipfs bootstrap add /ip4/172.16.0.2/tcp/4001/p2p/12D3KooWBJteUWKeuHWRaXMnaZn9yrEZvXu77n4MUeBY3gkvGyXN
      && /usr/local/bin/start_ipfs bootstrap add /ip4/172.16.0.4/tcp/4001/p2p/12D3KooWBxPghjdryU9JocUd2ceGX2ZxmFdnPgdcdkB9tkJD163y
      && /usr/local/bin/start_ipfs daemon --migrate=true"


  mysql:
    image: mysql:5.7
    container_name: case_mysql
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: toolkit
    volumes:
      - /mnt/chain/mysql:/var/lib/mysql
    ports:
      - "3316:3306"

  rabbitmq:
    image: rabbitmq:3.7.7-management-alpine
    container_name: case_rabbitmq
    restart: always
    ports:
      - "15672:15672"                     # web UI 管理接口
      - "5672:5672"                       # 生产者和消费者连接使用的接口
      - "4369:4369"
      - "5671:5671"
    volumes:
      - "/mnt/auth/toolkit/case/rabbitmq/data:/var/lib/rabbitmq"
      - "/mnt/auth/toolkit/case/rabbitmq/config:/etc/rabbitmq"
      - "/mnt/auth/toolkit/case/rabbitmq/logs:/var/log/rabbitmq"
    environment:
      TZ: "Asia/Shanghai"
      LANG: C.UTF-8
      RABBITMQ_DEFAULT_USER: "user"
      RABBITMQ_DEFAULT_PASS: "password"

  chain_toolkit:
    container_name: case_chain_toolkit
    image: "bingjian/chain-toolbox:20240108110043"
    restart: always
    environment:
      TZ: Asia/Shanghai
      DB_URL: "本机IP:3316"
      DB_DATABASE: "toolbox"
      DB_USER: "root"
      DB_PASSWORD: "123456"
      IPFS_URL: "http://本机IP:5001"
      FISCO_URL: "http://172.16.0.2:8545"
      FISCO_ROOT_SEED: ""
      FISCO_ROOT_ADDRESS: ""
      FISCO_ROOT_PUBLIC_KEY: ""
      CONTRACT_ADDRESS: "0xca2542d50e85f81341d884753f2586151c60fd88"
      TMP_DIR: "/tmp/ipfs/"
    ports:
      - "3000:3000"
    depends_on:
      - ipfs
      - mysql
      - rabbitmq
EOF

将相关信息填写

启动

$ docker compose up -d

您可以通过 docker compose ps 查看启动情况, 也可以通过 docker compose logs 查看运行日志

注意事项

results matching ""

    No results matching ""