返回
多节点Sawtooth环境 搭建利器 Ubuntu助你一臂之力
后端
2023-10-14 14:13:41
Docker 安装
- 安装 Docker CE
- 在 Ubuntu 18.04 上,运行以下命令:
sudo apt-get update sudo apt-get install docker.io
- 在 Ubuntu 20.04 上,运行以下命令:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
- 在 Ubuntu 18.04 上,运行以下命令:
- 启用 Docker 服务
sudo systemctl enable docker sudo systemctl start docker
Sawtooth 安装
- 克隆 Sawtooth 仓库
git clone https://github.com/hyperledger/sawtooth-core.git cd sawtooth-core
- 构建 Sawtooth 镜像
docker build -t sawtooth/sawtooth-core .
多节点 Sawtooth 网络搭建
-
创建 Sawtooth 网络
docker network create sawtooth-network
-
运行节点管理器
docker run -d --name sawtooth-node-manager -p 4004:4004 -v /var/run/docker.sock:/var/run/docker.sock sawtooth/sawtooth-core sawtooth-node-manager --bind network:tcp://0.0.0.0:4004
-
运行创世节点
docker run -d --name sawtooth-genesis -p 8008:8008 sawtooth/sawtooth-core sawtooth-validator --endpoint tcp://validator:4004 --bind network:tcp://0.0.0.0:8008 --key-dir /tmp/keys --data-dir /tmp/data
-
运行其他节点
for i in {1..3}; do docker run -d --name sawtooth-validator-$i -p 800$i:800$i sawtooth/sawtooth-core sawtooth-validator --endpoint tcp://validator:4004 --bind network:tcp://0.0.0.0:800$i --key-dir /tmp/keys --data-dir /tmp/data done
-
验证网络连接
docker exec sawtooth-genesis sawtooth peer list
输出结果应类似于:
tcp://validator:4004 tcp://172.17.0.2:8001 tcp://172.17.0.3:8002 tcp://172.17.0.4:8003
访问 Sawtooth REST API
- 运行 REST API 容器
docker run -d --name sawtooth-rest-api -p 8080:8080 sawtooth/sawtooth-core sawtooth-rest-api --bind network:tcp://0.0.0.0:8080
- 访问 REST API
输出结果应类似于:curl http://localhost:8080/blocks
[ { "block_num": 0, "batches": [], "header_signature": "x0JLu9ZqTkWMqfs2mBi9ghKg4/RAmf6/B9EgTP2CCn8=", "previous_block_id": "0000000000000000000000000000000000000000000000000000000000000000", "state_root_hash": null, "signer_public_key": "0218d470a92d4d83c3315d9d5f3a6063de995e0266963355b127a28e1d6567186e", "timestamp": 1559543710 } ]
总结
我们已经成功地在 Ubuntu 上搭建了多节点 Sawtooth 环境。您可以使用此环境来测试交易族功能、性能或搭建真正的生产环境。