hyperledger 笔记

目录

1.hyperledger whitepaper 白皮书

2.hyperledger zh

3.PBFT 共识算法

http://bitkan.com/news/topic/21120
http://www.jianshu.com/p/fb5edf031afd

4.go

https://zengweigang.gitbooks.io/core-go/content/eBook/06.3.html

5.fabric

1.hyperledger whitepaper 白皮书

1.1 背景

身份识别,隐私,审核提供一个安全的模型,缩短运算周期.
链上代码 chaincode 执行智能合约
身份识别,可审核性

1.2 关键服务

(点对点协议P2P) google RPC

(分布式账本) rocksDB

(共识管理) PBFT

2.hyperledger zh

2.1 fabirc

每个参与者通过向网络membership服务证明自己的身份来访问系统。

2.2 消息

消息在节点之间通过Messageproto 结构封装来传递的,可以分为 4 种类型:发现(Discovery), 交易(Transaction), 同步(Synchronization)和共识(Consensus)。

CORE_PEER_DISCOVERY_ROOTNODE 域的定义:

  • PeerID 是在启动时或配置文件中定义的 peer 的任意名字
  • PeerEndpoint 描述了端点和它是验证还是非验证 peer
  • pkiID 是 peer 的加密ID
  • addressip:port这样的格式表示的 peer 的主机名或IP和端口
  • blockNumber 是 peer 的区块链的当前的高度

如果收到的DISC_HELLO 消息的块的高度比当前 peer 的块的高度高,那么它马上初始化同步协议来追上当前的网络。

DISC_HELLO之后,peer 会周期性的发送DISC_GET_PEERS来发现任意想要加入网络的 peer。收到DISC_GET_PEERS后,peer 会发送payload 包含PeerEndpoint的数组的DISC_PEERS作为响应。这是不会使用其它的发现消息类型。

4.go

go 2007起源	 2009发布

关键字
break	default	func	interface	select
case	defer	go	map	struct
chan	else	goto	package	switch
const	fallthrough	if	range	type
continue	for	import	return	var

但如果你的全局变量希望能够被外部包所使用,则需要将首个单词的首字母也大写

这种写法主要用于声明包级别的全局变量,当你在函数体内声明局部变量时,应使用简短声明语法 :=

HyperLedger Fabric 1.0


goroutine channel  并发



fmt.Printf
%+v
%#v
%T