区块链
兄弟连区块链 标签描述

  区块链教程Fabric1.0源代码分析Ledger(账本)二。 Fabric1.0源代码笔记之Ledger(账本) 补充PeerLedger接口嵌入的commonledger.Ledger接口定义如下: typeLedgerinterface{     GetBlockchainInfo()(common.BlockchainInfo,error)//获取blockchain基本信息     GetBlockByNumber(blockNumberuint64)(common.Block,error)//按给定...

  区块链教程Fabric1.0源代码分析流言算法Gossip服务端一,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 Fabric1.0源代码笔记之gossip(流言算法)GossipServer(Gossip服务端) 1、GossipServer概述 GossipServer相关代码,分布在protos/gossip、gossip/comm目录下。目录结构如下: protos/gossip目录:    message...

  区块链教程Fabric1.0源代码分析flogging(Fabric日志系统),2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 Fabric1.0源代码笔记之flogging(Fabric日志系统) 1、flogging概述 flogging,即fabriclogging,对第三方日志包go-logging做了封装,供全局使用。go-logging地址:https://github.com/op/go-logging。flogging代码集中在common/...

  区块链教程Fabric1.0源代码分析Ledger(账本)一,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 Fabric1.0源代码笔记之Ledger(账本) 1、Ledger概述 Ledger,即账本数据库。Fabric账本中有四种数据库,idStore(ledgerID数据库)、blkstorage(block文件存储)、statedb(状态数据库)、historydb(历史数据库)。其中idStore、historydb使用leveldb实现,sta...

  区块链教程之Fabric1.0源代码分析配置交易体系介绍,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 Fabric1.0源代码笔记之configtx(配置交易) 1、configtx概述 configtx代码分布在common/configtx目录,目录结构如下: api目录,核心接口定义,如Manager、Resources、Transactional、PolicyHandler、Proposer、Initializer。 initializer.g...

  区块链教程之Fabric1.0源代码分析cryptogen(生成组织关系和×××书),2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 Fabric1.0源代码笔记之cryptogen(生成组织关系和×××书) 1、cryptogen概述 cryptogen,用于生成组织关系和×××书。命令为:cryptogengenerate--config=./crypto-config.yaml--output./crypto-config 2、crypto-confi...

  区块链教程Fabric1.0源代码分析Peer,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 Fabric1.0源代码笔记之Peer 1、Peer概述 在Fabric中,Peer(节点)是指在网络中负责接收交易请求、维护一致账本的各个fabric-peer实例。节点之间彼此通过gRPC通信。按角色划分,Peer包括两种类型: Endorser(背书者):负责对来自客户端的交易提案进行检查和背书。 Committer(提交者):负责检查交易请求,执行交易并...

  区块链教程Fabric1.0源代码分析Ordererlocalconfig,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 Fabric1.0源代码笔记之Ordererlocalconfig(Orderer配置文件定义) 1、配置文件定义 General:通用配置 LedgerType:file账本类型,包括ram、json和file,其中ram保存在内存中,生产环境推荐使用file ListenAddress:127.0.0.1服务绑定的监听地址 List...

  区块链教程Fabric1.0源代码分析Orderermultichain,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 Fabric1.0源代码笔记之Orderermultichain(多链支持包) 1、multichain概述 multichain代码集中在orderer/multichain目录下,目录结构如下: manager.go,Manager接口定义及实现。 chainsupport.go,ChainSupport接口定义及实现。 syste...

  区块链教程Fabric1.0源代码分析OrdererBroadcastServer,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 Fabric1.0源代码笔记之OrdererBroadcastServer(Broadcast服务端) 1、BroadcastServer概述 BroadcastServer相关代码在protos/orderer、orderer目录下。 protos/orderer/ab.pb.go,AtomicBroadcastServer接...

  区块链教程Fabric1.0源代码分析Peerpeernodestart命令实现,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 Fabric1.0源代码笔记之Peerpeernodestart命令实现 1、peernode加载子命令start和status peernode加载子命令start和status,代码如下: funcCmd()cobra.Command{     nodeCmd.AddCommand(s...

  区块链教程Fabric1.0源代码分析configupdate处理通道配置更新,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 Fabric1.0源代码笔记之Ordererconfigupdate(处理通道配置更新) 1、configupdate概述 configupdate,用于接收配置交易,并处理通道配置更新。相关代码在orderer/configupdate目录。 2、SupportManager接口定义及实现 2.1、SupportManager接口...

Fabric1.0源代码笔记之Orderer兄弟连区块链教程Fabric1.0源代码笔记之Ordererlocalconfiglocalconfig(Orderer配置文件定义) 1、配置文件定义 General:通用配置 LedgerType:file账本类型,包括ram、json和file,其中ram保存在内存中,生产环境推荐使用file ListenAddress:127.0.0.1服务绑定的监听地址 ListenPort:7050服务绑定的监听端口 TLS:启用TLS时的相关配置 Enabled:false是否启用TLS PrivateKey:tls/server.keyOrderer...

Fabric1.0源代码笔记之Orderermultichain(多链支持包) 1、multichain概述 multichain代码集中在orderer/multichain目录下,目录结构如下: manager.go,Manager接口定义及实现。 chainsupport.go,ChainSupport接口定义及实现。 systemchain.go,systemchain。 2、Manager接口定义及实现 2.1、Manager接口定义 用于链的创建和访问。 typeManagerinterface{     //获取ChainSupport...

3、MSP接口实现 MSP接口实现,即bccspmsp结构体及方法,bccspmsp定义如下: typebccspmspstruct{     rootCerts[]Identity//信任的CA证书列表     intermediateCerts[]Identity//信任的中间证书列表     tlsRootCerts[][]byte//信任的CATLS证书列表     tlsIntermediateCerts[][]byte//信...

Fabric1.0源代码笔记之MSP(成员关系服务提供者) 1、MSP概述 MSP,全称MembershipServiceProvider,即成员关系服务提供者,作用为管理Fabric中的众多参与者。 成员服务提供者(MSP)是一个提供抽象化成员操作框架的组件。MSP将颁发与校验证书,以及用户认证背后的所有密码学机制与协议都抽象了出来。一个MSP可以自己定义身份,以及身份的管理(身份验证)与认证(生成与验证签名)规则。一个HyperledgerFabric区块链网络可以被一个或多个MSP管理。 MSP的核心代码在msp目录下,其他相关代码分布在common/config/msp、protos/...

Fabric1.0源代码笔记之Ordererledger(OrdererLedger) 1、OrdererLedger概述 OrdererLedger代码分布在orderer/ledger目录下,目录结构如下: orderer/ledger目录:    ledger.go,Factory、Iterator、Reader、Writer、ReadWriter等接口定义。    util.go,OrdererLedger工具函数,及NotFoundErrorIterator结构体定义。  &nbsp...

1、idStore概述 Fabric支持创建多个Ledger,不同Ledger以ledgerID区分。 多个ledgerID及其创世区块存储在idStore数据库中,idStore数据库基于leveldb实现。 idStore默认使用路径:/var/hyperledger/production/ledgersData/ledgerProvider/。 idStore库中特殊key"underConstructionLedgerKey",用于标志最新在建的ledgerID,ledgerID创建成功后或失败时该标志将清除,另外此标志也用于异常时按ledgerID恢复数据。 idStore相关代码...

  区块链教程Fabric1.0源代码分析流言算法Gossip服务端二 Fabric1.0源代码笔记之gossip(流言算法)GossipServer(Gossip服务端) 5.2、commImpl结构体方法 //conn.serviceConnection(),启动连接服务 func(ccommImpl)GossipStream(streamproto.Gossip_GossipStreamServer)error //return&proto.Empty{} func(ccommImpl)Ping(context.Context,proto.Empty)(proto.Empty,e...

  区块链教程Fabric1.0源代码分析流言算法Gossip服务端二 Fabric1.0源代码笔记之gossip(流言算法)GossipServer(Gossip服务端) 5.2、commImpl结构体方法 //conn.serviceConnection(),启动连接服务 func(ccommImpl)GossipStream(streamproto.Gossip_GossipStreamServer)error //return&proto.Empty{} func(ccommImpl)Ping(context.Context,proto.Empty)(proto.Empty,e...