https://cdn.jsdelivr.net/gh/wefantasy/FileCloud/img/fantasy-r.png

Hyperledger Fabric的test-network启动过程Bash源码详解

在基于Debian搭建Hyperledger Fabric 2.4开发环境及运行简单案例中,我们已经完成了Fabric 2.4的环境搭建及fabric-samples/test-network官方案例的运行。毫无疑问test-network是一个优秀的入门项目,让我们仅仅通过几行命令就能搭建起常用的Fabric联盟链网络,但是其过度的封装反而不利于我们了解掌握其中各个操作的真实过程。为了进一步掌握Fabric,本文根据test-network中的几个Bash脚本源码,从启动流程、创建通道、部署链码等多个入口函数着手详细分析了脚本执行过程,对未来定制自己的Fabric网络提供参考。本文分析源码主要包含启动默认网络、启动CA网络、创建通道、部署链码四个方面,每节分为官方调用和过程详解:官方调用是使用官方Bash脚本实现对应功能、过程详解是该脚本的实际实现流程,根据过程详解中的代码能够搭建出完全可用的网络。

Drone持续集成从入门到Github项目实践

在最近某次更新博客时,突然觉得每次写完文章再登陆服务器将代码pull到服务器本地部署的过程好傻(尽管总共也花不了1分钟时间),但作为一个表面的IT工作者怎么能忍受每次都进行这种重复工作呢,就想着有没有一种方法能够像之前Netlify那样push完就自动更新部署的方式。回忆起之前知乎划水时瞥见的CI/CD工具貌似能满足要求,于是在对比了几十种相关工具后,最终Drone以其开源、简易赢得了我的青睐,然后花了大概1-2天的时间入门、整理完成了本博客的自动化部署。

字符串匹配——KMP算法详解

字符串的匹配在任何系统中都是最流行的功能,许多算法可以完成这个任务,KMP是最常用的算法之一。它的名字跟功能并没有任何关联,仅仅是以三个发明者姓名首字母的缩写(Knuth-Morris-Pratt),起头的那个K就是著名科学家Donald Knuth。KMP是我刷算法遇到的第一块难啃的骨头,这完全不是能不能想到的问题,而是完全看不懂,学到最后不得不佩服发明者的脑洞之大。网络上已有很多能够详细分析该算法的文章,但我一直看的还是云里雾里,最终决定花些时间写一个更加通俗易懂的版本(至少对我是如此),其中些许可能与众不同的地方大多已做说明,希望能对大家有所启发。

基于Debian搭建Hyperledger Fabric 2.4开发环境及运行简单案例

在基于truffle框架实现以太坊公开拍卖智能合约中我们已经实现了以太坊智能合约的编写及部署,但其工作方式注定其只能应用于有限的业务场景中。相比之下,基于超级账本的Fabric具有高可扩展性和高可定制性,能够应用在更为复杂的商业场景中,但Fabric技术涉及很多新的概念,源代码跟新速度快且各版本间兼容性差,对初学者很不友好。为了使能够快速掌握Fabric,本文基于其目前最新的2.4版本搭建了一套区块链运行环境,并在此之上部署了官方示例chaincode并对其进行交互调试,最终整个环境及示例代码能够正常运行且得出预期结果。

通过Geth搭建私有以太坊网络

为了进一步了解以太坊区块链网络的工作方式和运行原理,笔者通过官方软件Geth搭建了私有以太坊网络fantasynetwork:首先通过VMware Workstation创建基础Ubuntu实验平台,再安装Golang、Geth等依赖环境;其次使用puppeth工具生成私网的配置文件genesis.json并复制到三个节点目录下,三个节点均使用该配置文件初始化网络;最后使用static-nodes.json的方式将三个节点设为默认接入节点,实现节点间的连通,连通后各节点中的账户可以互相转账挖矿。

git基础手册

前言 git是一个开源的分布式版本控制系统,有追踪文件的变更、实现并行开发等功能,已经是项目开发的必备软件。本文主要整理了git的文件操作、日