您好,登录后才能下订单哦!
# Hyperledger Fabric快速开发工具箱Wiz怎么用
## 一、Wiz工具箱概述
Hyperledger Fabric Wiz是由社区开发者构建的快速开发工具集,旨在简化Fabric区块链网络的搭建、部署和测试流程。该工具箱整合了常用脚本、模板和自动化工具,可帮助开发者将环境准备时间从数小时缩短至分钟级。
### 核心功能
- **一键网络部署**:自动化创建Fabric测试网络
- **智能合约脚手架**:快速生成链码项目结构
- **CA集成工具**:简化证书管理流程
- **REST API网关**:为链码提供即时HTTP接口
- **可视化监控**:内置Prometheus+Grafana监控面板
## 二、环境准备
### 系统要求
- Linux/macOS系统(Windows需WSL2)
- Docker 20.10+
- Docker Compose 2.0+
- Go 1.18+(如需修改链码)
### 安装步骤
```bash
# 下载最新版本
wget https://github.com/hyperledger-labs/fabric-wiz/releases/latest/download/wiz-cli.tar.gz
# 解压并安装
tar -zxvf wiz-cli.tar.gz
cd wiz-cli && sudo ./install.sh
# 验证安装
wiz --version
# 启动基础网络(2个组织+1个通道)
wiz network create --orgs 2 --peers 2 --orderers 1
# 查看运行状态
wiz network ps
输出示例:
NAME STATUS PORTS
peer0.org1.example.com Up 7051/tcp
peer0.org2.example.com Up 9051/tcp
orderer.example.com Up 7050/tcp
# 创建Java链码项目
wiz chaincode new --lang java --name mycc
# 打包并安装
wiz chaincode install --path ./mycc --channel mychannel
通过内置REST网关发送请求:
curl -X POST http://localhost:8080/invoke \
-H "Content-Type: application/json" \
-d '{
"channel": "mychannel",
"chaincode": "mycc",
"function": "createCar",
"args": ["CAR1", "Tesla", "Model3", "blue"]
}'
通过YAML文件定义复杂拓扑:
# network-config.yaml
orgs:
- name: manufacturer
peers: 3
anchor: true
- name: dealer
peers: 2
- name: regulator
peers: 1
isObserver: true
执行部署:
wiz network create --config network-config.yaml
# 导出组织管理员证书
wiz ca export --org Org1 --user admin --dest ./crypto-config
# 注册新用户
wiz ca register --org Org1 --id user1 --secret Passw0rd --type client
启动内置监控组件:
wiz monitor start
访问Grafana仪表板:
http://localhost:3000
默认账号:admin/fabricwiz
初始化网络:
wiz network create --orgs 3 --peers 2 --channel autochain
部署智能合约:
wiz chaincode install --path ./supplychain_cc --channel autochain
测试数据交互: “`bash
curl -X POST http://localhost:8080/invoke -d ‘{ “channel”: “autochain”, “chaincode”: “supplychain”, “function”: “registerVehicle”, “args”: [“VIN1001”, “manufacturerA”] }’
# 查询历史记录 curl http://localhost:8080/query?channel=autochain&chaincode=supplychain&function=getHistory&args=[“VIN1001”]
## 六、常见问题解决
### 1. 端口冲突问题
错误现象:
Error: Port 7050 already in use
解决方案:
```bash
# 查看占用进程
sudo lsof -i :7050
# 或指定备用端口
wiz network create --ports 7050:7150,7051:7151
检查步骤:
# 查看容器日志
wiz logs peer0.org1.example.com
# 重新打包安装
wiz chaincode upgrade --sequence 2 --init-required false
在链码项目中创建META-INF/statedb/couchdb/indexes
目录,添加索引文件:
// ownerIndex.json
{
"index": {
"fields": ["docType", "owner"]
},
"name": "owner_index",
"type": "json"
}
网络规划:
资源分配:
# 限制容器资源
wiz network create --resources peer0.cpu=2 --resources peer0.memory=4g
CI/CD集成: “`yaml
”`
官方文档:
示例项目:
# 克隆示例仓库
wiz example clone supply-chain
社区支持:
提示:使用
wiz --help
查看完整命令列表,所有子命令均支持-h
参数获取详细帮助信息。 “`
该工具箱持续更新,建议通过wiz update
定期获取最新版本。遇到问题时,可使用wiz diagnostic
命令生成调试报告提交给社区开发者。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。