首页
Cooli7wa 空间
取消

Kafka介绍

最近一直在看 fabric, fabric 目前使用的共识算法是 kafka + zookeeper,最近查了些资料,先大概了解下这个算法。这是第一篇,主要介绍 kafka。 来源及设计目标 Kafka 是一种分布式的,基于发布/订阅的消息系统,原本开发自 LinkedIn,它以可水平扩展和高吞吐率等特点被广泛使用。 Kafka 主要设计目标如下: 以时间负责度为 O(1) ...

PBFT和RAFT相关

区块链也是一种分布式系统,很多传统分布式系统上的共识机制在区块链上也有使用,比如 paxos、raft、pbft 等,一般应用在联盟链和私链上。而公链的算法主要是 PoW、PoS、DPoS、RPCA 等。这里有张图,不是很全,有个直观的印象: 这篇文章主要是想总结下 PBFT、RAFT 相关的知识。其实这几个算法之前就看过了,但是一直没有来总结,主要是觉得涉及的东西很多,自己并不算充分...

Fabric_tutorials_chaincode

这篇学习下链码,原文在这里,写的很好,这里就不做详细描述了,但会做一些扩展,并会进行下总结。 基础概念 Fabric 的智能合约称为链码(chaincode),分为系统链码和用户链码: 系统链码用来实现系统层面的功能,包括系统的配置,用户链码的部署、升级,用户交易的签名和验证策略等。 用户链码用于实现用户的应用功能。开发者编写链码应用程序并将其部署到网络上。终端用户通过与网络...

Fabric_tutorials_private_data

这篇文章,学习操作下 private data,教程的示例很清晰,没什么需要多说的,所以这篇会很短。 private data 用 collection 表示的,collection definition 文件描述了有权限使用、保存和传播私有数据的节点,以及私有数据应该被保存多久。 collection definition 只有 5 个参数: name,名字 policy,...

Fabric_tutorials_add_org

这篇学习下如何在 fabric 内添加一个组织和对应的节点,官方文档在 这里,总结下整个流程和注意事项。 自动操作 与之前一样,官方提供了自动操作的脚本 ./eyfn.sh up 手动操作 创建 org3 的证书和 json 配置文件 # 创建证书 cd org3-artifacts ../../bin/cryptogen generate --conf...

Fabric_tutorials_write_app

这篇简单介绍下 Writing Your First Application 中的一些注意点。 官方这篇教程很简单,但是有一些需要注意的地方,希望可以帮助到大家。 一些注意点 npm install 这个命令是安装 package.json 中指定的安装包,里面主要是这三个,fabric-ca-client、fabric-client 和 grpc fabri...

Fabric_tutorials_build_network

之前看过了 fabric 整体的架构和一些关键概念,对 fabric 有了整体的了解,这篇终于可以上手了 :),这次学习下网络的构建过程。 在构建之前,需要做一些准备,比如需要安装好 docker 环境,下载 fabric sample 和 docker 镜像,这些就不详述了,可以参考官方文档。 这些准备好了之后,我们就可以开始构建网络。 先进入 first-network 目录: ...

Fabric_KeyConcepts_PrivateData

从之前学习的内容知道,fabric 不止提供了 channel 间的隐私保护,还提供了 channel 内的隐私保护,叫做 private data collection,可以在 channel 内创建私密通道,只有私密通道的成员才能修改和查看具体的私密数据,可以说是进一步扩展了 fabric 的使用场景。 What is a private data collection? 包含下面两...

Fabric_KeyConcepts_Peers

前面学习了 MSPs,这篇来详细看下 Peers 相关的知识。 原文 在这里,这篇文章的前半部分详细介绍了一些 Peer 、Ledger、Application、Chaincode、channel 之间的关系,这里前面的学习中都有所了解,在这里就不详细介绍了,这里主要看下 query 和 update 的详细流程。 这张图介绍了 query 和 update 的梗概,1-3 是 quer...

Fabric_KeyConcepts_Ledger

这篇看下 Key concepts 的最后一篇文章,账本。 A Blockchain Ledger 在账本里包含两个部分,世界状态和区块链。 世界状态记录的是键值对,键值对的值来源于区块链,区块链记录了所有的交易日志,像上节说的,这些交易包含有效和无效的,有效的交易会影响到世界状态,而无效的只是一份记录而已,为了以后的查账,区块链本身不能更改。 World State 每条叫做...