shitaibin.github.io
shitaibin.github.io copied to clipboard
博客:Go语言、区块链
http://lessisbetter.site/2019/03/26/golang-scheduler-2-macro-view/ 上一篇文章《Go语言高阶:调度器系列(1)起源》,学goroutine调度器之前的一些背景知识,这篇文章则是为了对调度器有个宏观的认识,从宏观的3个角度,去看待和理解调度器是什么样子的,但仍然不涉及具体的调度原理。 三个角度分别是: 调度器的宏观组成 调度器的生命周期 GMP的可视化感受 在开始前,先回忆下调度器相关的3个缩写: G: goroutine,每个G都代表1个goroutine
http://lessisbetter.site/2019/11/21/fabric-orderer-architecture/
http://lessisbetter.site/2018/09/04/explore-golang-timer/ 所谓陷阱,就是它不是你认为的那样,这种认知误差可能让你的软件留下隐藏Bug。刚好Timer就有3个陷阱,我们会讲1)Reset的陷阱和2)通道的陷阱,3)Stop的陷阱与Reset的陷阱类似,自己探索吧。 Reset的陷阱在哪Timer.Reset()函数的返回值是bool类型,我们看一个问题三连: 它的返回值代表什么呢? 我们想要的成功是什么? 失败是什么? 成功:一段时间之后定时器超时,
http://lessisbetter.site/2019/01/27/blockchain-bussiness/ 我专注区块链技术,让技术为业务服务,在业务应用知识方面还不是行家里手,所以这里只做文字的搬运工,具体讲解就得和我们云象合作业务的VNT Chain了,它们把复杂的商业原理,用一篇文章做了通俗易懂的解释,解释了行业痛点,以及如何使用区块链解决痛点,在某些应用场景上,云象已经走在了行业前列,所以文章中也包含云象的案例。 陆续会有很多期,请阅读自己感兴趣的文章: 区块链+数字版权 区块链+跨境支付 区
http://lessisbetter.site/2018/12/11/ethereum-design-of-txpool/ 区块链就是何交易打交道,我们今天就介绍下,交易处理过程中的一个重要组成部分:txpool。这篇文章主要从功能角度介绍,通过这篇文章会了解: txpool的在交易中的位置和作用。 txpool的功能,核心组成部分queued和pending。 txpool如何实现它的功能。 txpool源码的重要关注点。
http://lessisbetter.site/2018/06/22/ethereum-code-statedb/ 前言就如以太坊黄皮书讲的,以太坊是状态机,区块的产生,实际是状态迁移的过程。那以太坊 是如何定义状态的? 是如何迁移状态的? 是怎么存储状态的? 这篇文章就介绍什么是状态,以及是怎么存储的。
http://lessisbetter.site/2019/11/13/using-fabric-sdk-go-register-event/ 使用fabric-sdk-go操作链码,介绍了使用官方Go SDK,安装、实例化和升级链码,调用和查询链码,本文介绍使用fabric-sdk-go订阅事件。 事件介绍本质上就3种事件: BlockEvent:获取区块信息 TransactionEvent:获取交易信息 ChainCodeEvnet:链码中自定义的链码事件 但每种事件都有2 种类型: Filtered:事件订阅时默认的类型,获
http://lessisbetter.site/2018/06/22/ethereum-code-consensus-3/ 前言Ethash实现了PoW,PoW的精妙在于通过一个随机数确定,矿工确实做了大量的工作,并且是没有办法作弊的。接下来将介绍: Ethash的挖矿本质。 Ethash是如何挖矿的。 如何验证Ethash的随机数。
http://lessisbetter.site/2019/08/01/fabric-parse-block/ 获取人类可读的区块内容分2步: 从账本里把区块取出来,格式为protobuf 把protobuf格式的区块,转换为JSON格式 所以这篇文章3步走: 获取区块 解析区块 常见区块类型样例 获取区块拉取应用通道区块peer channel fetch能够拉去某个通道最新、最老、特定高度的区块,只不过得到的区块是protobuf格式的,人眼不可读。 1234567891011121314151
http://lessisbetter.site/2019/09/05/etcd-raft-sources-structs/ 序言etcd raft定义了一些重要的结构体,来传递和表示raft使用到的数据。 在介绍各结构体之前,先澄清一下raft、log和state machine的关系,它们三个是独立的,没有隶属关系,尤其是state machine并不属于raft。 Consensus Module指raft算法,它输出一致的Log Entry序列,State machine指应用Entry后得到的状态,状态机是并