随笔分类 -  区块链

摘要:最近在研究区块链的时候关注了一下加密技术,小有心得,于是设计了一款数据加密共享与签名的方案,希望能够为做电子合同,数据存证,数据共享的朋友有所帮助吧。 业务场景 一、电子合同 Alice和Bob需要签订一个合同,而Charlie是中介,也需要在看到该合同上并签字,而Dave是外人,不参与这个合同的签 阅读全文
posted @ 2019-03-15 15:14 网鱼 阅读(626) 评论(0) 推荐(0)
摘要:前言 区块链作为一种架构设计的实现,与基础语言或平台等差别较大。区块链是加密货币背后的技术,是当下与VR虚拟现实等比肩的热门技术之一,本身不是新技术,类似Ajax,可以说它是一种技术架构,所以我们从架构设计的角度谈谈区块链的技术实现。 无论你擅长什么编程语言,都能够参考这种设计去实现一款区块链产品。 阅读全文
posted @ 2019-03-13 16:13 网鱼 阅读(1704) 评论(0) 推荐(1)
摘要:一、BlockChain的insertChain方法 1.1 前言 本章节介绍BlockChain模块插入一个新区块的流程。一个新区块的来源有两种可能性,第一种可能性是本节点挖矿成功,要调用BlockChain模块向本地区块链上插入,第二种可能性是节点从网络上的其他节点收到一个区块,调用BlockC 阅读全文
posted @ 2019-03-08 14:33 网鱼 阅读(947) 评论(0) 推荐(0)
摘要:本文分享基于docker如何从零搭建联盟链。 一、前言 本文分享基于docker如何从零搭建联盟链。使用其它方式搭建也可以,只不过docker相对容易一些,难点在于如何写配置文件。 1. 准备运行环境 实际开发中有三种运行环境可供选择: (a). Vagrant: Vagrant是一个基于Ruby的 阅读全文
posted @ 2019-03-08 09:13 网鱼 阅读(2372) 评论(1) 推荐(1)
摘要:本文档演示使用Hyperledger Fabric V1.0来部署一个开发者环境并运行一个简单例子。文档包括创建和加入通道(账本)、客户端认证以及部署和调用智能合约。CLI将用于创建和加入通道(账本),NodeJS SDK将用于客户端身份验证和使用账本的智能合约功能。 Docker Compose将 阅读全文
posted @ 2019-03-07 18:02 网鱼 阅读(1428) 评论(0) 推荐(0)
摘要:本节分享有关拆超级账本的概念以及体验部署过程。 一、简介 是一个带有可插入各种功能模块架构的区块链实施方案,目标是打造成一个由全社会共同维护的开源超级账本。由Linux 基金会的开源项目,全称是Hyperledger Fabric)是区块链的商用平台。开源地址:https://github.com/ 阅读全文
posted @ 2019-03-07 17:52 网鱼 阅读(15469) 评论(0) 推荐(0)
摘要:本文紧接上文所述,讲解socket编程和HTTP编程。 一、socket编程 在上一节我们介绍了网络体系的五层模型,介绍了每层模型所遵守的协议。TCP/IP是一个协议族,它由网络层的IP协议和传输层的TCP协议组成,其中网络层建立了主机到主机的通信,传输层建立了端口到端口的通信。只要确定主机和端口, 阅读全文
posted @ 2019-03-07 16:11 网鱼 阅读(459) 评论(0) 推荐(0)
摘要:网络编程分为上下两节。上节介绍网络概述,下节介绍socket和HTTP编程。 一、网络概述 1.1 网络协议 网络协议就是为网络数据交换而制定的规则、约定与标准。 1.2 分层模型 为了降低网络设计的复杂性,绝大多数网络都组织成一堆相互叠加的层。每一层都建立在下一层的基础之上,且每一层的目的都是向上 阅读全文
posted @ 2019-03-07 16:07 网鱼 阅读(453) 评论(0) 推荐(0)
摘要:本节紧接上节内容,介绍JSON处理和对文本的几种操作。 一、JSON处理 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,方便人们阅读和编写,也方便程序地解析和生成。虽然JSON是JavaScript的子集,但其格式完全独立于编程语言,表现为键/值对集合的 阅读全文
posted @ 2019-03-07 16:05 网鱼 阅读(239) 评论(0) 推荐(0)
摘要:常用工具包分为两节内容。本节介绍格式化输入输出和对字符串处理的常用工具包和函数;下节介绍JSON处理和对文本的几种操作。 fmt包提供了格式化的输入和输出的操作。 1.1 常见的函数 主要介绍fmt包中常用的Println、Printf和Scanf函数,如表1所示。 1.2 格式化符号 格式化符号如 阅读全文
posted @ 2019-03-07 16:04 网鱼 阅读(211) 评论(0) 推荐(0)
摘要:本节紧接上一节的内容,主要介绍channel中的有缓冲channel、单方向的channel、定时器,以及select语句在channel中的应用。 3.4 有缓冲的channel 3.4.1 概述 有缓冲的通道(buffered channel)是一种在被接收前能存储一个或者多个值的通道。这种类型 阅读全文
posted @ 2019-03-07 16:02 网鱼 阅读(209) 评论(0) 推荐(0)
摘要:并发编程分为上、下两节。这一节包括了并发编程的概述、goroutine和channel的部分内容。 一、概述 1.1 并行和并发并行(parallel):在多个处理器上同时执行多条指令,如图1所示。 并发(concurrency):同一时刻只有一条指令在执行,但多个进程指令被快速轮换地执行,使得宏观 阅读全文
posted @ 2019-03-07 15:40 网鱼 阅读(269) 评论(0) 推荐(0)
摘要:任何编程语言的学习都要考虑错误处理。早期的语言,比如C语言中的errno,不是语言规范的一部分,通常只作为一种编程范式存在。但C++语言从语言层面上增加错误处理的支持,比如异常的概念和try-catch关键字的引入。而Go语言最大的亮点之一就是拥有漂亮的错误处理规范。 一、error error是G 阅读全文
posted @ 2019-03-07 15:30 网鱼 阅读(229) 评论(0) 推荐(0)
摘要:多态是面向对象的三大基本特性之一。多态是指对于不同的实例,同样的操作可能会有不同的表现形式。例如加法操作,如果操作的数据是数,那么它对两个数进行求和;如果操作的数据是字符串,那么它将连接两个字符串。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通 阅读全文
posted @ 2019-03-07 15:25 网鱼 阅读(505) 评论(0) 推荐(0)
摘要:继承也是面向对象的三大基本特性之一。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。通过继承,不仅可以让某个类型的对象拥有属于自己的数据结构和操作,还会自动拥有父类的数据结构和操作。这使得现有的类在无需重新编写原来类的情况下对这些功能进行了扩展,很好地解决了代 阅读全文
posted @ 2019-03-07 15:18 网鱼 阅读(238) 评论(0) 推荐(0)
摘要:封装是面向对象三大特性之一。封装的好处,一个是增加代码内聚性,就是将数据和对数据的操作封装在一起,提高可复用性和可维护性;还有就是信息隐藏,就是把不该暴露的信息藏起来,通过访问控制来隐藏数据,不被外界干扰。也就是说,一个对象就是一个封装了数据和操作这些数据的代码的逻辑实体。Go语言没有封装这个名词, 阅读全文
posted @ 2019-03-07 15:10 网鱼 阅读(158) 评论(0) 推荐(0)
摘要:一、面向过程和面向对象的区别 面向对象(Object Oriented,简称OO)和面向过程(Procedure Oriented,简称PO)是两种不同的编程思想。 1.1 面向过程的编程 面向过程编程(Process Oriented Programming,简称POP),以事物的发展过程为中心的 阅读全文
posted @ 2019-03-07 15:04 网鱼 阅读(332) 评论(0) 推荐(0)
摘要:在实际开发工作中,工程不会简单到只有一个源代码文件,且源文件之间有相互依赖的关系。Go语言利用命令行工具,消除了工程文件的概念,完全用目录结构和包名来推导工程结构和构建顺序。 一、包的由来 为了代码更好地维护和复用,Go语言程序按程序的功能性将源代码分割成一个个逻辑单元,组织成若干组文件,每组文件被 阅读全文
posted @ 2019-03-07 15:01 网鱼 阅读(289) 评论(0) 推荐(0)
摘要:一、结构体概述 Go语言结构体是一种聚合的数据类型,由一系列具有相同类型或不同类型的数据构成的数据集合。结构体的声明格式如图1所示,内部没有关键词var,每个数据称为结构体成员。例如,图1所示,利用结构体表示法,以一个班级为单位,记录这个班的班级名称,统计班级的总人数、男女生人数。定义一个结构体需要 阅读全文
posted @ 2019-03-07 14:53 网鱼 阅读(294) 评论(0) 推荐(0)
摘要:在C++、Java、C#语言里,使用map,需要先引用相应的库。在Go语言里,使用map不需要引入任何库,并且使用更加方便。在C++、Java、C#语言里,使用map,需要先引用相应的库。在Go语言里,使用map不需要引入任何库,并且使用更加方便。 一、概述 Go语言中的map(映射、字典)是一种内 阅读全文
posted @ 2019-03-07 14:46 网鱼 阅读(286) 评论(0) 推荐(0)