上一篇简单介绍了bccsp包下面的目录结构,这一篇本来想讲sw的,忽然感觉少点什么,对哈,得先将下bccsp这个接口,sw只是个实现啊.…
Talk is cheap, show me your code. 代码也看了,蛋也扯了,之后总该做点什么.响应国家政策,把我们的国密算法融合进去吧--  先附两张bccsp下国密算法的设计实现图. 一 国密算法软实现,将sm2内嵌到sw中 二 国密算法硬件实现,通过pkcs11的方式调用支持国密算法的加密机或者加密卡 这两种实现方式的具体设计可以去hyperledger的jira上查找,都是FAB-5496的子任务. 这两种方式各有优缺点,硬件实现上来说密钥可能更加安全可控,效率上也会高一点,…
Fabric作为IBM主导的区块链平台,可谓是联盟链中的一枝独秀,现如今已经有100多个大型国际银行.金融以及科技公司的加盟.与其说Fabric是区块链的一种平台,倒不如说是一个区块链框架更加精确,因为如果你渐渐了解熟悉之后,你会发现他并不像Bitcoin和Ethereum一样,可以作为单独的应用来使用.而Fabric就像是其他框架一样,你必须通过智能合约来实现自己的业务才能使用,包括代币(如果你的业务场景需要的话)也需要自己小心翼翼的去自主实现.还有个重要的特点就是Fabric是插件化的,你可…
fabric中通过工厂模式来生成bccsp实例,进而通过bccsp的接口来提供加密.解密.签名验证以及哈希等操作. fabric的factory工厂默认返回的bccsp实例是sw(也就是所有密码操作都是封装go底层算法来实现的),这里的工厂模式代码不多,大家可以自己去fabric/bccsp/factory目录下阅读源代码,以后有时间单独作为一章来介绍. sw在fabric项目发展中有一次较大的改动: 1.在fabric-1.0发布前,代码的结构是通过具体算法来组织的,比如ecdsa相关的生成密…
前面说过要找时间介绍一下bccsp包下面的工厂factory,so here it is. 通过factory目前可以获得两类BCCSP实例,一个是上文说的sw,还有一个是通过pkcs11实现的. BCCSP实例是通过工厂来提供的,sw包对应的工厂在swFactory.go中实现,pkcs11包对应的工厂在pkcs11Factory.go中实现,它们都共同实现了下面的BCCSPFactory接口: // BCCSPFactory is used to get instances of the B…
在 Hyperledger Fabric 1.0 从零开始(十二)--fabric-sdk-java应用 中我已经把官方sdk具体改良办法,即使用办法发出来了,所有的类及文件都是完整的,在文章的结尾也说明了用法主要都依赖于ChaincodeManager这个智能合约管理器,建议以单例的形式生成该对象. 鉴于新入门的朋友在实际运用上可能需要更加简单明了的方案,这里就把最直接的方案给出,具体是写了一个FabricManager管理器,这个管理器将会接管整个java sdk与peer节点服务器及ord…
Hyperledger Fabric 1.0 从零开始(十)--智能合约 Hyperledger Fabric 1.0 从零开始(十一)--CouchDB 上述两章,最近网上各路大神文章云集,方案多多,因为最近工作太忙太忙,我暂时就先不赘述了,后续会提供我参考过的大神文章链接出来. 这章先捡大家都比较在意的java sdk应用方案贴出来,很多朋友都找我要过,我主要是把注释都写进去了,用法简单了说了下,一般情况下会java开发的都能看懂. 年前实在太忙. JAVA-SDK 9.1.基本介绍 官方在…
2.1下载Fabric源码下载Fabric源码是因为要用到源码中提到的列子和工具, 工具编译需要用到go语言环境, 因此需要把源码目录放到$GOPATH下. 通过1.3中go的安装配置, $GOPATH设置为/opt/gopath.我们可以使用Git命令下载源码, 也可以使用go get命令, 偷懒一点, 我们直接用go get命令获取最新的Fabric源码:go get github.com/hyperledger/fabric这个可能等的时间比较久, 等完成后, 我们可以在~/go/src/…
在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后1.0就发布了.自从2017年7月HyperLedger/Fabric发布了1.0正式版后(可以参考:Hyperledger Fabric 1.0发布:基于区块链的开源分布式账本),公司领导就更加关注这个领域,就安排我一个人来接手,培训的机会也没有了.我主要是做Android和iOS方向的开发,也做java后台服务开发,对zookee…
本节介绍从最底层的账本开始,逐一讲解账本的结构和存储.智能合约的编写和部署.通道的操作.节点的背书和提交.排序的共识和客户端SDK的接口调用,与交易流程顺序相反,由里及表的说明Fabric最关键的技术,通过学习了这六种关键技术知识,能初步掌握Fabric的核心,了解Fabric运作原理. 6.3.1 帐本(Ledger) Fabric帐本(Ledger)是一系列有序和防篡改的状态转换的记录,结构由一个区块链构成,并将不可变的.有序的记录存放在区块中:同时包含一个状态数据库来记录当前的状态,账本的…