docker images查询了下hyperledger/fabric-couchdb版本都是latest....具体使用docker inspect hyperledger/fabric-couchdb 才查询到实际版本为 ".base.version": "amd64-0.4.14", 这个是当前最新的版本,查看...couchdb: container_name: couchdb image: hyperledger/fabric-couchdb:0.4.10 使用docker-compose -f...实际上hyperledger fabric-couchdb 0.4.14镜像使用的couchdb版本为2.2.0比较新了。...而hyperledger fabric-coudb 0.4.13镜像使用的couchdb为2.1.1。应该是版本变化有些大。
Fabric 1.3中的新增的idemixer(Identity Mixer)以前不大懂zero-knowledge proof(零知识证明),原本觉得PKI基础的MSP是比较常用和稳健的方式,新加个验证方式是不是有点增加复杂性...- 数据隐私保护和身份验证,如Alice和Bob的例子所示, - 减少计算和扩容,同样的多次计算可以使用零知识证明压缩和减少,最新的以太坊可是大力推崇 2....如果使用Fabric的idemixer 2.1 测试开发环境使用idemixgen命令行 具体参看https://hyperledger-fabric.readthedocs.io/en/latest/.../pkg/cid" "github.com/hyperledger/fabric-chaincode-go/shim" pb "github.com/hyperledger/fabric-protos-go...But got: %v", args[0])) } 2.3 idemixer的限制 还不大完善,基本现阶段还是推荐用传统的MSP方式,具体参考https://hyperledger-fabric.readthedocs.io
我们也可以参考例子fabric-samples/fabcar, 它会重用fabric-samples/basic-network中的start.sh, stop.sh允许停止和重启。...: couchdb image: hyperledger/fabric-couchdb # Populate the COUCHDB_USER and COUCHDB_PASSWORD...: couchdb0 image: hyperledger/fabric-couchdb # Populate the COUCHDB_USER and COUCHDB_PASSWORD...peer主要设置连接的couchdb地址和账号, couchdb主要是配置对应端口号,couchDB还支持一些字段的索引,在学习链码的时候我们再深入。...everyOther; } Fabric-SDK在设计的时候,无论是查询,更新,大多操作都是基于org.hyperledger.fabric.sdk.Channel作为入口, 例如
回顾一下我之前的一篇博客,在Fabric 1.0中,我们存在3种类型的数据存储,一种是基于文件系统的区块链数据,这个跟比特币很像,比特币也是文件形式存储的。...Fabric1.0中的区块链存储了Transaction订单读写集。而读写集到底是读什么?写什么?...其实就是我们的State Database,也叫做World State,里面以键值对的方式存储了我们在ChainCode中操作的业务数据。另外还有就是对历史数据和区块链索引的数据库。...区块链是文件系统,这个目前不支持更改,历史数据和区块链的索引是LevelDB,这个也不能更改。...HyperLedger在Docker Hub上也发布了CouchDB的镜像,为了能够深入研究CouchDB和Fabric的集成,我们就采用官方发布的CouchDB来做。
网上的绝大多数安装例子中,均采用 docker 部署方案,但无一例外的是,全部安装在一个物理机上。如果是生产环境,我们必须分开不是,首先要做的工作是化整为零,拆解应用,搞明白每个容器的功能和作用。...CouchDB 节点 整个 Hyperledger Fabric 技术栈中只有这个 CouchDB 是个外来户,看到 CouchDB 我就非常兴奋,这是一个NoSQL数据库(它与MongoDB十分类似...但实际我们看到 Hyperledger Fabric 使用的镜像是 hyperledger/fabric-couchdb 不清楚是否有修改过 CouchDB 数据库。...3' networks: basic: services: couchdb: container_name: couchdb image: hyperledger/fabric-couchdb.../fabric-ca environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server - FABRIC_CA_SERVER_CA_NAME
[bintray--apache-couchdb-rpm]name=bintray--apache-couchdb-rpmbaseurl=http://apache.bintray.com/couchdb-rpm...确保替换文件中的版本号el7或el6。...CouchDB软件包。...配置Apache CouchDB 默认情况下,CouchDB在端口5984上运行,只能在服务器本身[localhost]内访问,如果您想从Web访问它,则需要修改文件/opt/couchdb/etc...在Couchdb中创建数据库 有关如何创建数据库和管理其设置的更多信息,请访问这里,或继续关注我们关于CouchDB的下一系列文章。
启动 fabric-tools 容器 4. CouchDB 节点 4.1. 安装 CouchDB 4.2. 启动 CouchDB 4.3. 备份与恢复 CouchDB 5....CouchDB 节点 整个 Hyperledger Fabric 技术栈中只有这个 CouchDB 是个外来户,看到 CouchDB 我就非常兴奋,这是一个NoSQL数据库(它与MongoDB十分类似...但实际我们看到 Hyperledger Fabric 使用的镜像是 hyperledger/fabric-couchdb 不清楚是否有修改过 CouchDB 数据库。...: '3' networks: basic: services: couchdb: container_name: couchdb image: hyperledger/fabric-couchdb.../fabric-ca environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server - FABRIC_CA_SERVER_CA_NAME
[可选] Hyperledger Fabric中有两个数据库选项用于保存超级账本的world state:LevelDB和CouchDB,在本教程中,为了简单起见,我将使用LevelDB。...[可选]在我的负载测试和一些关于Hyperledger Fabric性能的论文中,LevelDB的性能优于CouchDB。...在Name字段中输入org.hyperledger.fabric.chaincode.AccountBasedChaincode: ? 然后,应该看到以下内容: ?...如特性部分所述,在Java Chaincode中,我们将实现: 1.用户钱包创建 2.用户钱包查询 3.钱包代币转账(即从一个钱包向另一个钱包汇款) 从上面这个简单的要求,我们需要有以下类: 1.钱包类...第5步——在BYFN中运行Chaincode 5.1 安装相关项目 我们在本教程中使用Hyperledger Fabric v1.4。
Fabric chaincode lifecycle Fabric 2.0 Alpha介绍了分布式治理链码的特性,包括在你的节点上安装链码以及在一个通道中启动链码的新流程。...新的模型在之前的生命周期上进行了改进: 多个组织必须同意链码的参数:在Fabric 1.x版本中,一个组织能够为所有其他通道成员设置链码参数(例如背书策略)。...Endorsement policies:了解使用新的链码生命周期如何使用通道配置中的策略作为背书策略。 限制 Fabric v2.0 Alpha版本中链码生命周期尚未完成。...具体来说,请注意Alpha版本中的以下限制: 尚不支持CouchDB索引 使用新生命周期定义的链码还不能通过服务发现来发现 这些限制在后期将被解决。...使用FabToken:这个操作指南提供了有关如何在Fabric网络上使用token的详细概述。该指南还包含有如何使用tokenCLI创建和传输token的示例。
下载fabric镜像 docker pull hyperledger/fabric-orderer:x86_64-1.0.2 docker pull hyperledger/fabric-peer:x86..._64-1.0.2 docker pull hyperledger/fabric-zookeeper:x86_64-1.0.2 docker pull hyperledger/fabric-couchdb.../fabric-peer:latest docker tag hyperledger/fabric-zookeeper:x86_64-1.0.2 hyperledger/fabric-zookeeper...:latest docker tag hyperledger/fabric-couchdb:x86_64-1.0.2 hyperledger/fabric-couchdb:latest docker tag...hyperledger/fabric-kafka:x86_64-1.0.2 hyperledger/fabric-kafka:latest docker tag hyperledger/fabric-ca
fabric中使用正则查询 一,链码中使用GetQueryResult函数 在Hyperledger Fabric的GetStateByRange函数中,键(Key)不支持直接使用正则表达式进行匹配。...以下是使用GetQueryResult函数进行键的正则匹配的示例: // 导入所需的包 import ( "github.com/hyperledger/fabric/core/chaincode.../shim" "github.com/hyperledger/fabric/protos/peer" ) // 定义链码结构体 type MyChaincode struct { } //...二,启动test-network要指定CouchDB而不是LevelDB 在Hyperledger Fabric的test-network网络中,默认情况下是不支持CouchDB的。...以下是在test-network中启用CouchDB的步骤: 进入test-network目录: cd fabric-samples/test-network 打开docker/docker-compose-couch.yaml
Hyperledger Fabric Node.js开发中如何使用日志?本教程就来演示下如何使用hyperledgefabric node.js客户端日志记录功能。...概述 hyperledger fabric node.js客户端日志记录使用node.js winston 开发包。当node.js应用程序首次加载hyperledger结构包时,日志记录被初始化。...const Client = require('fabric-client'); // the logging is now set 有四个级别的日志记录: info,信息。 warn,警告。...export HFC_LOGGING='{"debug":"/temp/debug.log","info":"console"}' 使用应用程序中的日志记录 当需要记录应用程序代码中的条目以及HyperledgeFabric...这里是Hyperledger Fabric Node.js开发中如何使用日志
5 --retry-delay 3 https://github.com/hyperledger/fabric-ca/releases/download/v1.4.6/hyperledger-fabric-ca-linux-amd64...-1.4.6.tar.gz | tar xz mkdir -p /srv/hyperledger/fabric mv bin config /srv/hyperledger/fabric PATH=$...PATH:/srv/hyperledger/fabric/bin 24.4.3....安装 Fabric 2.0.0 IMAGES=(ca peer orderer couchdb ccenv kafka zookeeper tools javaenv) FABRIC_TAG=latest...28a93b376dbe 12 days ago 270MB hyperledger/fabric-couchdb latest 03ac1654afc5
/fabric-ccenv:1.4 .PHONY: docker-thirdparty-couchdb docker-thirdparty-couchdb: docker pull couchdb.../fabric VOLUME /etc/hyperledger/fabric VOLUME /var/hyperledger COPY --from=orderer /go/src/github.com.../hyperledger/fabric/build/bin /usr/local/bin COPY --from=orderer /go/src/github.com/hyperledger/fabric.../fabric VOLUME /etc/hyperledger/fabric VOLUME /var/hyperledger COPY --from=peer /go/src/github.com/hyperledger.../etc/hyperledger/fabric VOLUME /etc/hyperledger/fabric COPY --from=tools /go/src/github.com/hyperledger
fabric中使用CouchDB 一,修改fabric-samples/config/core.yaml 将stateDatabase 从 goleveldb改成CouchDB 并配置账号密码 二,创建索引到合约的...META-INF/statedb/couchdb/indexes文件夹下 { "index":{ "fields":["airline"] // Names of the fields..."type":"json" } 三,编辑使用select语句的智能合约 package main import ( "encoding/json" "fmt" "github.com/hyperledger...= nil { fmt.Printf("Error starting MyContract chaincode: %s", err.Error()) } } 四,在fabric-samples/.../network.sh up createChannel -s couchdb 五,在通道上发布智能合约 .
参考 https://hyperledger-fabric.readthedocs.io/en/release-1.2/ledger/ledger.html Ledger记账本是Hyperdger Fabric...现实中,World state常用数据库实现,数据库对于读取和存储状态都提供了高效的实现,是不是和no-sql中的couchdb, mongodb有点像 :-) 交易保存了World state的变化,...World State数据库的选择 Hyperledger Fabric当前支持Level DB和CouchDB. Level DB适合于简单的key-value键值对,嵌入网络的peer节点进程。...重要的是,Hyperledger Fabric作为state DB实现的level DB或couchDB都是可插拔的设计, 完全可能用其它的关系型数据库或非关系型数据库实现。...基础完结, 后面我们会通过Hyperledger Fabric的入门例子, 实际操作和配置, 使用Go和Nodejs编写联链码。
Hyperledger Fabric v2.0 Alpha引入两大新功能,新的Fabric链码生命周期和FabToken....使用新的链码生命周期 官方提供了新的操作手册和例子: Chaincode for operator https://hyperledger-fabric.readthedocs.io/en/latest.../build_network.html Using private data in fabric https://hyperledger-fabric.readthedocs.io/en/latest/...private_data_tutorial.html Endorsement policies https://hyperledger-fabric.readthedocs.io/en/latest/...endorsement-policies.html 限制和局限 (1) couchdb的索引暂不支持 (2) 链码使用新周期暂不支持服务发现 这些限制后面会得到解决 FabToken 2.0提供了让用户在通道使用令牌环呈现资源的能力
2.1 couchdb集群搭建 Fabric用到的couchdb镜像是自己打包的, 1.4对应的是hyperledger/fabric-couchdb:0.4.14, 不过很悲催, 笔者测试官方这个版本是有不少问题的...笔者已将把问题提交到官方JIRA https://jira.hyperledger.org/browse/FABB-118 不知道会有人跟进不。...#image: hyperledger/fabric-couchdb:0.4.14 image: couchdb:2.2.0 # Populate the COUCHDB_USER and...fabric-couchdb:0.4.14用的是2.2版本的couchdb, 2.3.0已测试过, 无法启动。...couchdb貌似是提倡前置一个均衡负载HAPROXY或NGINX。 执行step2-start-fabric.sh就可以启动了。
什么是Hyperledger Fabric 为了满足现代业务需求,IBM与其他公司合作,共同开发了一个开放源代码,可立即投入生产的业务区块链框架,称为Hyperledger Fabric™,这是由LinuxFoundation...为了说明这一点,让我们看一下Hyperledger Fabric v1.0中的事务流,如下图所示。 ? image 从图的左侧开始: 1)交易建议由应用程序提交给背书的peer节点。...在Hyperledger Fabric v1.X中,可以动态和以编程方式添加peer,而不是像v0.6中那样以静态方式添加。例如,假设一家管理外汇汇率的公司有一家新银行要添加到网络中。...使用Hyperledger Fabric v1.X,他们可以以编程方式执行此操作。...如果您还需要复杂的丰富查询,则可以使用CouchDB,它支持LevelDB的基本功能,并添加完整的数据复杂查询。
领取专属 10元无门槛券
手把手带您无忧上云