确权工具箱部署
为了方便小伙伴使用新致区块链进行确权,而不需要理解和使用专有的类库,这里准备了基于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 查看运行日志