首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Hyperledger Fabric和Composer实现区块链应用程序

其他方法更多用于在有限的环境中实施特殊情况。 Hyperledger Fabric ——灵活的区块链应用平台 使用Fabric作为平台,可以开发完全独立的分布式分类帐解决方案。...这可用于实现Go,Java或Node.js等语言中的规则,这些规则定义读取权限或资产修改。执行链代码功能可以读取和返回资产和/或创建和修改资产并将它们存储在本地分类帐数据库中。...每个参与者为他们所属的每个通道保留一份分类帐副本。这为网络中的每个现有信道创建了区块链数据结构。与区块链一样,交易存储在块中,这些块在单个连接列表中成为加密链。...但是,为了向客户端应用程序提供分类帐数据的单独视图,甚至可以执行针对网络的复杂读取请求。由于使用了像CouchDB这样的面向文档的数据库,这是可能的。...可以在Composer Query Language中定义对分类帐中数据的常用查询,这是一种类似SQL的语言。 然后,必须将所有必需文件打包到.bna文件中的BND(业务网络定义)。

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    「文档数据库之争」MongoDB和CouchDB的比较

    MongoDB和CouchDB都是基于文档的NoSQL数据库类型。文档数据库又称mdocument store,通常用于存储半结构化数据的文档格式及其详细描述。...在MongoDB中,业务主题可以存储在最少数量的文档中,这些文档可以主要或次要地建立索引,而不会将它们分割成多个关系文档。...因此,CouchDB与任何支持JSON格式的应用程序或软件兼容。...单节点数据库使用仅追加的抗崩溃数据结构,而多模式或集群数据库可以冗余地保存数据,以便在用户需要时提供数据。CouchDB可以根据大集群(如全球集群)扩展到小集群(如移动设备)。...CouchDB能够在任何Android或iOS设备上运行,这使得它在其他数据库中脱颖而出。 CouchDB体系结构是分布式的,支持双向同步。由于使用唯一id,它不需要任何模式。

    6.9K10

    95道MongoDB面试题(含答案),1万字详细解析!

    (2)你可以在 MongoDB 记录中设置任何属性的索引 (如: FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。...(4)如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。 (5)Mongo 支持丰富的查询表达式。...MongoDB和CouchDB都是面向文档的数据库。MongoDB和CouchDB都是开源NoSQL数据库的最典型代表。 除了都以文档形式存储外它 们没有其他的共同点。...74、在MongoDB中如何在集合中插入一个文档 要想将数据插入 MongoDB 集合中,需要使用 insert() 或 save() 方法。...ID"数据类型 "ObjectID"数据类型用于存储文档id 85、如何在集合中插入一个文档 要想将数据插入 MongoDB 集合中,需要使用insert()或save()方法。

    8.1K30

    Hyperledger Fabric基础之账本

    现实中,World state常用数据库实现,数据库对于读取和存储状态都提供了高效的实现,是不是和no-sql中的couchdb, mongodb有点像 :-) 交易保存了World state的变化,...区块链 我们学习下区块链的大体结构。 区块链是交易日志,内部连接的区块,每个区块包含一系列的交易,每个交易代表一个查询或更新world state的操作。...World State数据库的选择 Hyperledger Fabric当前支持Level DB和CouchDB. Level DB适合于简单的key-value键值对,嵌入网络的peer节点进程。...CouchDB适合于复杂些的world state状态要用JSON文档表示的场景,提供了更多的富查询特性,与peer节点进程隔离开。...重要的是,Hyperledger Fabric作为state DB实现的level DB或couchDB都是可插拔的设计, 完全可能用其它的关系型数据库或非关系型数据库实现。

    95100

    hyperledger v1.0.5 区块链运维入门(一)

    区块链实际上就是数据库,一个只能插入和查询的数据库,数据不能被修改和删除,并且这个数据库没有DBA管理员角色。这么一说你应该明白了把,实际上运维区块链就是在维护一个分布式数据库。...依赖关系 需要注意的是于其他传统系统一样,Hyperledger Fabric 的启动也是有顺序的,这是因为他们之间存在着依赖关系。 2.2. ...CouchDB 节点 整个 Hyperledger Fabric 技术栈中只有这个 CouchDB 是个外来户,看到 CouchDB 我就非常兴奋,这是一个NoSQL数据库(它与MongoDB十分类似...但实际我们看到 Hyperledger Fabric 使用的镜像是 hyperledger/fabric-couchdb 不清楚是否有修改过 CouchDB 数据库。...备份与恢复 CouchDB 既然是运维区块链,对于运维工作我们最关心的就是如何备份数据,在出现故障的时候恢复数据。

    2.2K110

    hyperledger v1.0.5 区块链运维入门

    区块链实际上就是数据库,一个只能插入和查询的数据库,数据不能被修改和删除,并且这个数据库没有DBA管理员角色。这么一说你应该明白了把,实际上运维区块链就是在维护一个分布式数据库。...依赖关系 需要注意的是于其他传统系统一样,Hyperledger Fabric 的启动也是有顺序的,这是因为他们之间存在着依赖关系。 2.2....CouchDB 节点 整个 Hyperledger Fabric 技术栈中只有这个 CouchDB 是个外来户,看到 CouchDB 我就非常兴奋,这是一个NoSQL数据库(它与MongoDB十分类似...但实际我们看到 Hyperledger Fabric 使用的镜像是 hyperledger/fabric-couchdb 不清楚是否有修改过 CouchDB 数据库。...备份与恢复 CouchDB 既然是运维区块链,对于运维工作我们最关心的就是如何备份数据,在出现故障的时候恢复数据。

    2.6K80

    一文读懂NoSQL数据库

    使用NoSQL,数据可以以无模式或自由格式存储,任何数据都可以存储在任何记录中。...在NoSQL数据库中,你将找到四个用于存储数据的常用模型,这将导致4种常见的NoSQL系统: 文档数据库(如CouchDB,MongoDB),插入的数据以自由格式的JSON结构或“文档”形式存储,其中数据可以是任何从整数到字符串到自由格式文本的内容...列存储(如HBase,Cassandra),数据存储在列中,而不是传统的SQL系统中的行。可以根据需要对任意数量的列(以及不同类型的数据)进行分组或聚合,以进行查询或数据视图。...相比之下,每个NoSQL数据库都有自己的查询和管理数据的语法。例如,CouchDB使用JSON形式的请求,通过HTTP发送,从其数据库创建或检索文档。...查询速度快,因为它们可以从最接近或最方便的节点返回。 无共享架构的另一个好处是,弹性和扩展。扩展集群就像在集群中添加新节点并等待它们与其他节点同步一样容易。

    1.7K100

    全网最全95道MongoDB面试题1万字详细解析

    (2)你可以在 MongoDB 记录中设置任何属性的索引 (如: FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。...(4)如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。 (5)Mongo 支持丰富的查询表达式。...MongoDB和CouchDB都是面向文档的数据库。MongoDB和CouchDB都是开源NoSQL数据库的最典型代表。 除了都以文档形式存储外它 们没有其他的共同点。...74、在MongoDB中如何在集合中插入一个文档 要想将数据插入 MongoDB 集合中,需要使用 insert() 或 save() 方法。...ID"数据类型 "ObjectID"数据类型用于存储文档id 85、如何在集合中插入一个文档 要想将数据插入 MongoDB 集合中,需要使用insert()或save()方法。

    13.5K00

    将 Python 用于云和大数据分析

    Python 是可与流媒体直播服务器通信的杰出和高效的编程语言之一。您可以使用它将所提取的数据存储在数据库或文件系统中以进行分析和预测。...一旦我们将实时数据存储到文件中,就可以使用 SciLab,WEKA,R,TANAGRA 或任何其他数据挖掘工具使用数据挖掘算法轻松分析这些数据。...在这里,NoSQL 数据库的概念开始发挥作用,因为 NoSQL数据库可以使任何类型的文件格式都能够在 Web 应用程序中处理和集成。...NoSQL(不仅仅是SQL)数据库提供了用于存储和检索数据的系统,而不是模拟关系数据库中使用的表格关系方法。NoSQL 数据库中的数据结构与传统 RDBMS 中的数据结构完全不同。...像大多数其他 NoSQL 数据库一样,CouchDB 使用 JSON(JavaScript Object Notation)格式来存储数据。

    3.3K90

    非关系型数据库NoSQL的崛起

    在这两家互联网巨头发布研究论文来描述其各自的数据存储平台以后,其他 许多公司也都寻求进行复制。...“如 果你看看市场上所有的NoSQL解决方案,那么就会发现每一种解决方案都能追溯至亚马逊Dynamo论文或谷歌BigTable论文。”云计算公司 Joyent首席技术官贾森?...正 如其他NoSQL后继者一样,Lotus Notes也同样来自于关系数据库的“领地”。关系数据库是建立在关系数据库模型基础上的传统数据库,借助于集合代数等概念和方法来处理数据库中的数据。...“NoSQL” 其实该算是用词不当,因为NoSQL数据库并不是为了摒弃SQL(Structured Query Language,结构化查询语言,这是一种数据库查询和程序设计语言,用于存取数据以及查询、...1974 年:IBM着手开发System R,将科德的关系型数据库模型变成了现实,首次使用了SQL(结构化查询语言),随后这个系统演变成了商业化产品IBM DB2。

    1.3K40

    NoSQL教程:了解NoSQL的功能,类型,含义,优势

    非关系 NoSQL数据库从不遵循关系模型 切勿为tables 提供固定的固定列记录 使用自包含的聚合或BLOB 不需要对象关系映射和数据规范化 没有复杂的功能,例如查询语言,查询计划者, 参照完整性联接...,ACID 动态架构 NoSQL数据库是无模式的或具有宽松模式的数据库 不需要对数据架构进行任何形式的定义 提供同一域中的异构数据结构 ?...面向文档: 面向文档的NoSQL DB将数据存储和检索为键值对,但值部分存储为文档。该文档以JSON或XML格式存储。DB可以理解该值,并且可以查询该值。 ?...6 NoSQL的查询机制工具 最常见的数据检索机制是基于REST 的值检索,该值基于其key/ID,获取数据。 文档存储数据库提供了更困难的查询,因为他们了解键值对中的值。...因此,必须将在一台计算机上对任何数据项所做的更改复制到其他副本。 数据复制可能不是瞬时的,因为某些副本将在适当的时间范围内立即更新,而另一些副本将在一段时间内更新。

    4K10

    区块链超级记帐本架构概览

    如下所述,其中的一些方面将被包含在Hyperledger Fabric v1中,而其他方面则被推迟到Post-v1版本的Hyperledger Fabric。...本文档还没有描述:a)查询(只读)交易的优化(包含在v1中),b)支持交链代码交易(post-v1功能)。 1.2。块链数据结构 1.2.1。...状态被持久存储,并且状态的更新被记录。注意,版本化KVS被采用为状态模型,实现可能使用实际的KVS,也可以使用RDBMS或任何其他解决方案。...KVS中的密钥可以从其名称中识别为属于特定的链码,因为只有特定链码的事务可以修改属于该链码的密钥。原则上,任何链码都可以读取属于其他链码的密钥。...先前示例条件中的股份的分配可以是静态的(固定在链码的元数据中)或动态的(例如,取决于链码的状态并且在执行期间被修改)。

    1.4K40

    CouchDB安装

    回顾一下我之前的一篇博客,在Fabric 1.0中,我们存在3种类型的数据存储,一种是基于文件系统的区块链数据,这个跟比特币很像,比特币也是文件形式存储的。...Fabric1.0中的区块链存储了Transaction订单读写集。而读写集到底是读什么?写什么?...其实就是我们的State Database,也叫做World State,里面以键值对的方式存储了我们在ChainCode中操作的业务数据。另外还有就是对历史数据和区块链索引的数据库。...CouchDB安装 下面我们来说一说这个CouchDB。 CouchDB是一个完全局域RESTful API的键值数据库,也就是说我们不需要任何客户端,只需要通过HTTP请求就可以操作数据库了。...虽然区块链是一个只能插入和查询的数据库,但是我们的业务数据是存放在State Database中的,如果我们直接修改了CouchDB的数据,那么接下来的查询和事务是直接基于修改后的CouchDB的,并不会去检查区块链中的记录

    75910

    面试之MongoDB「建议收藏」

    说一说 NoSQL 数据库的几个优点? NoSQL 是非关系型数据库,NoSQL = Not Only SQL。 关系型数据库采用的结构化的数据,NoSQL 采用的是键值对的方式存储数据。...MongoDB 和 CouchDB 都是面向文档的数据库。MongoDB 和 CouchDB 都是开源 NoSQL 数据库的最典型代表。 除了都以文档形式存储外它们没有其他的共同点。...MongoDB 中包括了一个可以显示数据库中每个操作性能特点的数据库分析器。通过这个分析器你可以找到比预期慢的查询(或写操作);利用这一信息,比如,可以确定是否需要添加索引。...如果一个分片(Shard)停止或很慢的时候,发起一个查询会怎样? 如果一个分片停止了,除非查询设置了“Partial”选项,否则查询会返回一个错误。...MongoDB 支持存储过程,它是 javascript 写的,保存在 db.system.js 表中。

    1.3K10

    Java Chaincode学习交易系统中Hyperledger Fabric帐户钱包模型

    [可选] Hyperledger Fabric中有两个数据库选项用于保存超级账本的world state:LevelDB和CouchDB,在本教程中,为了简单起见,我将使用LevelDB。...此外,世界状态存储在数据库中以表示超级账本,使得这些节点不需要总是搜索超级账本以进行数据检索,并且可以更快地从数据库中检索数据(状态)。...但与LevelDB中的简单键值查询相比,CouchDB可以支持可用于构建更复杂查询的丰富查询。 IDE——Java Chaincode开发工具 我们使用IntelliJ IDEA。此外,你需要JDK。...如特性部分所述,在Java Chaincode中,我们将实现: 1.用户钱包创建 2.用户钱包查询 3.钱包代币转账(即从一个钱包向另一个钱包汇款) 从上面这个简单的要求,我们需要有以下类: 1.钱包类...Init函数必须在Chaincode中实现,并且每当我们实例化或升级Chaincode时都会自动调用。通常,它用于初始化区块链中的一些数据。

    2.1K20

    Hyperledger Fabric:一种分布式操作系统-基于准入控制的区块链

    分类帐块存储持久化交易块,并实现为一组仅附加文件。由于块是不可变的并且以有限的顺序到达,因此仅附加结构可以提供最大的性能。此外,块存储维护一些索引,用于随机访问块或块中的交易。...PTM在版本化的键值存储中维护最新状态。它为由任何链代码存储的每个唯一条目key存储形式(key,val,ver)的一个元组,包含其最近存储的值val及其最新版本ver。...PTM使用本地键值存储来实现版本化键值存储,由Go中实现的LevelDB键值数据库实现(https:// github.com / syndtr / goleveldb)或Apache CouchDB(...这将检查交易是否与任何先前的交易(在块内或更早的交易中)冲突。...比特币[28]引入的数据模型已被称为“未使用的交易输出”或UTXO,并且还被许多其他加密货币和分布式应用程序使用。UTXO表示数据对象演变中的每个步骤,作为分类帐上的单独原子状态。

    1.5K30

    不懂NOSQL这些知识, 怎么吹牛B

    Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。...这些列是由列家族来安排的。如:Cassandra, HBase。 文档型(Document)数据库 文档型数据库的灵感是来自于Lotus Notes办公软件的,而且它同第一种键值存储相类似。...如:CouchDB, MongoDB。 图形(Graph)数据库 图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。...NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。 如:OrientDB, Neo4J, Titan等。...列数据库的存储方式与行数据库也有显著不同:行式存储中,主键是rowid,由它关联到索引数据;列式存储中,主键是数据本身,关联回rowid,即“数据即索引”。

    90320
    领券