构建第一个fabric网络

本文档详细介绍了如何使用Hyperledger Fabric官方sample建立一个简单的网络,并在不同终端上部署、实例化、调用及查询chaincode。在实际开发中,chaincode仅由peer节点运行。首先确保环境配置好,包括Go、Node.js和Docker等。通过在三个终端上分别执行不同的命令,如下载源码、启动网络、编译和运行chaincode、安装及实例化链码。这是一个适合调试和开发环节的环境配置教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本例中使用的官方提供的fabric-sample案例,在该网络中,cli客户端能够直接调用chaincode,在实际开发环境中,cli不允许直接调用chaincode,只有peer结点才能运行chaincode,该环境适用于调试开发环节。
在配置过程中遇到的问题可以参考另一篇博客,总结了我遇到的部分问题和解决方法
https://blog.youkuaiyun.com/tianlongtc/article/details/80861804

在运行之前,请确保系统环境已经配置好。包括go, nodejs, docker等等配置。

打开三个终端,分别为终端1,终端2, 终端3

终端1

1、下载hyperledger fabric sample源码

git clone https://github.com/hyperledger/fabric-samples.git

2、进入fabric-sample目录

cd fabric-samples

3、下载二进制文件

curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0

4、进入devmode目录

cd chaincode-docker-devmode

5、修改配置文件

vim docker-compose-simple.yaml

将 cli 和 chaincode 的 tty 注释掉

cli:
container_name: cli
image: hyperledger/fabric-tools
# tty: true
environment:
- GOPATH=/opt/gopath
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=cli
- CORE_PEER_ADDRESS=peer:7051
- CORE_PEER_LOCALMSPID=DEFAULT
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp
working_dir: /opt/gopath/src/chaincodedev
command: /bin/bash -c ‘./script.sh’
volumes:
- /var/run/:/host/var/run/
- ./msp:/etc/hyperledger/msp
- ./../chaincode:/opt/gopath/src/chaincodedev/chaincode
- ./:/opt/gopath/src/chaincodedev/
depends_on:
- orderer
- peer

chaincode:
container_name: chaincode
image: hyperledger/fabric-ccenv
# tty: true
environment:
- GOPATH=/opt/gopath
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=example02
- CORE_PEER_ADDRESS=peer:7051
- CORE_PEER_LOCALMSPID=DEFAULT
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp
working_dir: /opt/gopath/src/chaincode

6、启动网络

docker-compose -f docker-compose-simple.yaml up

终端2

1、进入fabric-sample目录
2、启动chaincode

docker exec -it chaincode bash

3、编译链码

cd sacc
go build

4、运行链码

CORE_PEER_ADDRESS=peer:7052 CORE_CHAINCODE_ID_NAME=mycc:0 ./sacc

终端3

1、启动 cli

docker exec -it cli bash

2、安装链码并实例化链码

peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0
peer chaincode instantiate -n mycc -v 0 -c ‘{“Args”:[“a”,”10”]}’ -C myc

3、调用链码,设置a的值为20

peer chaincode invoke -n mycc -c ‘{“Args”:[“set”, “a”, “20”]}’ -C myc

4、调用链码,查询a的值

peer chaincode query -n mycc -c ‘{“Args”:[“query”,”a”]}’ -C myc

转载自hyperledger官方文档,并做了部分修改,原文存在一些小问题:
http://hyperledger-fabric.readthedocs.io/en/release-1.1/chaincode4ade.html?spm=5176.11409106.555.1.29472487VAEz9Z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值