自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 【链块技术57期】超级账本源码分析: peer命令结构

区块链应用技术开发,区块链开发,超级账本,本文介绍fabric peer命令的结构。

2018-12-28 10:55:03 577

原创 【链块技术57期】超级账本Fabric教程(四):使用docker编译fabric源码(下)

原文链接:超级账本Fabric教程(四):使用docker编译fabric源码(中);超级账本Fabric教程(四):使用docker编译fabric源码(下) 本文继续介绍如何在docker镜像中编译fabric源码,方便修改代码后快速测试。 7.2 生成交易配置在主机的工程目录my-basic-network下新建configtx.yaml,具体内容如下: # C...

2018-12-27 10:42:16 438

原创 【链块技术56期】超级账本Fabric教程(四):使用docker编译fabric源码(上)

原文链接:超级账本Fabric教程(四):使用docker编译fabric源码(上)本文介绍如何在docker镜像中编译fabric源码,方便修改代码后快速测试。 一、前言 本文档的搭建流程基于如下环境:操作系统:unbuntu16.04 二、实验前准备 在搭建fabric网络之前先要安装一些必要的软件 2.1 安装gitsudo apt-ge...

2018-12-26 10:38:38 772

原创 【链块技术55期】超级账本Fabric教程(三):Hyperledger Fabric 1.0架构及原理

区块链应用技术开发,本节分享超级账本Fabric1.0版的架构设计。

2018-12-21 11:39:38 1390

原创 【链块技术54期】智能合约基础语言(九)——Solidity继承

原文链接:以太坊智能合约(九):Solidity继承 本文主要讲解了有关智能合约继承的概念、继承的参数传递、重写函数以及Solidity的继承中的调用关系与多继承。掌握区块链技术,学习智能合约。 一、目录☞继承的概念☞继承的参数传递☞重写函数☞Solidity的继承中的调用关系与多继承二、继承的概念Solidity语言为我们提供了继承的支持,实现的方...

2018-12-20 11:13:27 278

原创 【链块技术53期】超级账本Fabric教程(二): Docker的部署和安装(下)

原文链接:超级账本Fabric教程 Docker的部署和安装(下)本节分享超级账本运行环境docker容器的搭建。 四、Docker compose4.1 能够在主机上创建出相互隔离的网络,通过命令行管理多个容器。在mac和windows中都集成了compose工具,不用重新安装。在linux中的安装方法:(1) 通过 pip 进行 安装sudo apt insta...

2018-12-19 14:10:46 441

原创 【链块技术52期】超级账本Fabric教程(二):Docker的部署和安装(上)

原文链接:超级账本Fabric教程(二):Docker的部署和安装(上)本节分享超级账本运行环境docker容器的搭建。 一、目录HyperLedger超级账本运行环境-Docker容器介绍 二、推荐linux系统   目录 推荐linux系统 通过虚拟机安装ubuntu Docker 简介...

2018-12-14 14:27:28 473

原创 【链块技术51期】超级账本Fabric教程(一):超级账本入门

原文链接:超级账本Fabric教程(一):超级账本入门 本节分享有关拆超级账本的概念以及体验部署过程。一、简介是一个带有可插入各种功能模块架构的区块链实施方案,目标是打造成一个由全社会共同维护的开源超级账本。由Linux 基金会的开源项目,全称是Hyperledger Fabric)是区块链的商用平台。开源地址:https://github.com/hyperledger。 ...

2018-12-07 10:35:30 3121

原创 【链块观点03期】赋能商品溯源!区块链技术的天命所在?

原文链接:【链块观点】赋能商品溯源!区块链技术的天命所在? 01金融行业,一直被公认是区块链技术最先落地的领域。实际上,不仅是金融,商品溯源或许成为近年来就可以快速落地的应用场景。 溯源行业的历史最早可追溯到1997年。当时欧洲大面积爆发疯牛病,众多欧盟国家为了应对这个棘手的难题,在CAC生物技术食品政府间特别工作会议上提出了食品安全管理体系,以严控食品安全。这也成为了溯源行业...

2018-12-06 10:56:12 288

原创 【链块观点02期】面对落后的传统版权保护,区块链都有哪些绝招?

传统版权保护方式已经不适用于数字版权时代,也正是这种错配,直接导致了如今内容行业的版权纠纷不断。

2018-12-05 11:52:32 281

原创 【链块观点01期】当区块链的风刮到教育行业,哪些变革是注定要发生的?

区块链应用案例:区块链系统的透明化、数据不可篡改等特征,完全适用于学生的征信管理、升学就业、学术资质证明、产学合作等方面,对教育就业的健康发展具有重要的价值。

2018-11-30 13:02:42 783

原创 【链块技术50期】区块链技术基础语言(三十二):Go语言网络编程(下)

原文链接:区块链技术基础语言(三十二):Go语言网络编程(下) 本文紧接上文所述,讲解socket编程和HTTP编程。一、socket编程在上一节我们介绍了网络体系的五层模型,介绍了每层模型所遵守的协议。TCP/IP是一个协议族,它由网络层的IP协议和传输层的TCP协议组成,其中网络层建立了主机到主机的通信,传输层建立了端口到端口的通信。只要确定主机和端口,就能实现程序之间的交流。...

2018-11-29 10:51:54 344

原创 【链块技术49期】区块链技术基础语言(三十一):Go语言网络编程(上)

原文链接:区块链技术基础语言(三十一):Go语言网络编程(上) 一、网络概述 1.1 网络协议网络协议就是为网络数据交换而制定的规则、约定与标准。 1.2 分层模型为了降低网络设计的复杂性,绝大多数网络都组织成一堆相互叠加的层。每一层都建立在下一层的基础之上,且每一层的目的都是向上一层提供特定的服务,但是把如何实现这些服务的细节对上一层加以屏蔽。用户接触到的是网络体...

2018-11-28 13:49:55 358

原创 【链块技术48期】区块链技术基础语言(三十):Go语言常用工具包(下)

原文链接:区块链技术基础语言(三十):Go语言常用工具包(下)一、JSON处理JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,方便人们阅读和编写,也方便程序地解析和生成。虽然JSON是JavaScript的子集,但其格式完全独立于编程语言,表现为键/值对集合的文本描述形式(类似Go语言的字典结构),如图所示。由于它轻盈、生成这种格式的语言有较为完...

2018-11-21 17:56:55 295

原创 【链块技术47期】区块链技术基础语言(二十九)—Go语言常用工具包(上)

原文链接:区块链技术语言(二十九)—Go语言常用工具包(上)常用工具包分为两节内容。本节介绍格式化输入输出和对字符串处理的常用工具包和函数;下节介绍JSON处理和对文本的几种操作。 一、格式化输入输出fmt包提供了格式化的输入和输出的操作。1.1 常见的函数主要介绍fmt包中常用的Println、Printf和Scanf函数,如表1所示。1.2 格式化符号格...

2018-10-18 17:35:14 269

原创 【链块技术46期】智能合约基础语言(十一)——创建和调用合约

 智能合约基础语言(十一)——创建和调用合约一、目录☞创建合约☞调用合约二、创建合约我们写好一个合约后,一个合约如何部署到以太坊网络,并实现合约函数的调用呢?合约部署到以太坊网络上,也是一个交易的过程。首先向全网发送一个合约创建的交易,待矿工打包交易,并获得全网的认可从而生效后,则得到合约的地址;既而向这个地址发送消息调用,实现调用合约的某个函数。2.1 初始创...

2018-10-16 18:31:32 377

原创 【链块技术45期】智能合约基础语言(十)——Solidity内联汇编

智能合约基础语言(十)——Solidity内联汇编一、目录☞概念☞语法☞操作码☞字面量☞函数风格☞访问外部函数与变量☞标签☞定义局部变量☞赋值☞Switch☞循环☞函数☞内联汇编中注意事项☞Solidity中的惯例二、概念通常我们通过库代码,来增强语言,实现一些精细化的控制,Solidity为我们提供了一种接近于EVM底层...

2018-10-15 18:46:13 265

原创 【链块技术44期】智能合约基础语言(八)——Solidity事件

 智能合约基础语言(八):Solidity事件一、目录☞事件的定义☞web3事件监听☞检索日志☞底层日志接口二、事件的定义事件是使用EVM日志内置功能的方便工具,在DAPP的接口中,它可以反过来调用Javascript的监听事件的回调。事件在合约中可被继承。当被调用时,会触发参数存储到交易的日志中(一种区块链上的特殊数据结构)。这些日志与合约的地址关联,...

2018-10-08 18:56:18 455

原创 【链块技术43期】智能合约基础语言(七)——Solidity单位和特殊变量

智能合约基础语言(七):Solidity单位和特殊变量一、目录☛ 货币单位☛ 时间单位☛ 特殊的变量及函数二、货币单位一个常量的数字,可以使用后缀wei,finney,szabo或ether来在不同面额中转换。如2 ether == 2000 finney的结果是true。▪ 1 ether==10^3 finney▪ 1 ether==10^6 szabo...

2018-09-30 18:01:31 331

原创 【链块技术42期】智能合约基础语言(六)——Solidity变量类型:其他

智能合约基础语言(六):Solidity变量类型:其他一、目录☞映射☞特殊的运算符delete☞基本类间的转换二、变量类型——映射映射或字典类型,一种键值对的映射关系存储结构。定义方式为mapping(_KeyType => _KeyValue)。键的类型允许除映射外的所有类型,如数组,合约,枚举,结构体。值的类型无限制。映射可以被视作为一个哈希表,其中所...

2018-09-29 09:57:06 475

原创 【链块技术41期】智能合约基础语言(五)——Solidity变量类型:引用类型

原文链接:智能合约基础语言(五):Solidity变量类型:引用类型(下) 一、目录☛数据位置☛数组☛结构体二、引用类型——数据位置不同于之前值类型,引用类型占的空间更大,超过256字节,因为拷贝它们占用更多的空间。由此我们需要考虑将它们存储在什么位置?内存(memory,数据不是永久存在的)或存储(storage,数据永久的保存在数据块上)2.1 数据位置分类...

2018-09-27 16:14:53 889

原创 【链块技术40期】智能合约基础语言(四)——Solidity函数

原文链接:智能合约基础语言(四):Solidity函数 下 一、目录 ▪ 函数的定义▪ 函数的调用方式▪ 函数的可见性▪ 函数修改器▪ pure函数▪ constant、view函数▪ payable函数▪ 回退函数▪ 构造函数▪ 函数参数▪ 抽象函数▪ 数学和加密函数二、函数的定义function关键字声明的,合约中的可...

2018-09-21 19:22:02 1210

原创 【链块技术39期】智能合约基础语言(三)——Solidity变量类型:值类型

原文链接:智能合约基础语言(三):Solidity变量类型:值类型(下) 一、目录☛值类型和引用类型的区别☛布尔类型(bool)☛整型(int、uint)☛定点型小数(fixed、ufixed)☛地址类型(address)☛定长字节数组(bytes1,bytes2,bytes3,...,bytes32)☛有理数和整数字面量☛地址字面量☛字符串字面量☛...

2018-09-20 11:35:25 589

原创 【链块技术38期】智能合约基础语言(二)——Solidity源文件布局和合约结构

 原文链接:【智能合约基础语言02期】Solidity源文件布局和合约结构 一、目录1.1 常见的内置函数1、pragma版本杂注2、注释3、导入源文件1.2 合约结构1、状态变量2、函数3、函数修改器4、事件5、结构体6、枚举7、常量8、控制结构9、映射1.3 错误处理1、assert2、require二、...

2018-09-18 16:36:18 330

原创 【链块技术37期】区块链技术语言(二十八)——Go语言并发编程(下)

原文链接:区块链技术语言(二十八):Go语言并发编程(下) 本节紧接上一节的内容,主要介绍channel中的有缓冲channel、单方向的channel、定时器,以及select语句在channel中的应用。3.4 有缓冲的channel3.4.1 概述有缓冲的通道(buffered channel)是一种在被接收前能存储一个或者多个值的通道。这种类型的通道并不强制要求goro...

2018-09-17 18:45:24 350

原创 【链块技术36期】智能合约基础语言(一)——Solidity概述和开发工具的使用

 原文链接:区块链技术语言:Solidity(一):概述和开发工具的使用 一、目录☛Solidity的概述☛Solidity开发工具remix的使用☛Solidity本地开发工具remix安装二、Solidity的概述Solidity 是一门为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的...

2018-09-14 18:52:26 797

原创 【链块技术35期】区块链技术语言(二十七)——Go语言并发编程(上)

原文链接 区块链技术语言(二十七):Go语言并发编程(上)并发编程分为上、下两节。这一节包括了并发编程的概述、goroutine和channel的部分内容。一、概述1.1 并行和并发并行(parallel):在多个处理器上同时执行多条指令,如图1所示。并发(concurrency):同一时刻只有一条指令在执行,但多个进程指令被快速轮换地执行,使得宏观上具有多个进程同时执行的...

2018-09-12 16:11:34 402

原创 【链块技术34期】区块链技术语言(二十六)——Go语言异常处理

原文链接 :区块链技术语言(二十六):Go语言异常处理 任何编程语言的学习都要考虑错误处理。早期的语言,比如C语言中的errno,不是语言规范的一部分,通常只作为一种编程范式存在。但C++语言从语言层面上增加错误处理的支持,比如异常的概念和try-catch关键字的引入。而Go语言最大的亮点之一就是拥有漂亮的错误处理规范。一、error error是Go语言内建的接口类型,它是...

2018-09-07 17:24:13 392

原创 【链块技术33期】区块链技术语言(二十五)——面向对象:接口

原文链接:区块链技术语言(二十五)——面向对象:接口 多态是面向对象的三大基本特性之一。多态是指对于不同的实例,同样的操作可能会有不同的表现形式。例如加法操作,如果操作的数据是数,那么它对两个数进行求和;如果操作的数据是字符串,那么它将连接两个字符串。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,那些操作可以通过相...

2018-09-05 18:46:37 353

原创 【链块技术32期】区块链基础语言(二十四)——Go语言面向对象:匿名组合

原文链接:区块链基础语言(二十四)——Go语言面向对象:匿名组合 继承也是面向对象的三大基本特性之一。 通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。通过继承,不仅可以让某个类型的对象拥有属于自己的数据结构和操作,还会自动拥有父类的数据结构和操作。这使得现有的类在无需重新编写原来类的情况下对这些功能进行了扩展,很好地解决了代码的重用问题。...

2018-09-03 19:40:43 219

原创 【链块技术31期】区块链基础语言(二十三)——Go语言面向对象:方法

原文链接:区块链基础语言(二十三)——Go语言面向对象:方法 封装是面向对象三大特性之一。封装的好处,一个是增加代码内聚性,就是将数据和对数据的操作封装在一起,提高可复用性和可维护性;还有就是信息隐藏,就是把不该暴露的信息藏起来,通过访问控制来隐藏数据,不被外界干扰。也就是说,一个对象就是一个封装了数据和操作这些数据的代码的逻辑实体。 Go语言没有封装这个名词,但它通过方法实现了封...

2018-08-31 19:25:27 314 1

原创 【链块技术30期】区块链基础语言(二十二)——Go语言面向对象

原文链接:区块链基础语言(二十二)——Go语言面向对象 一、面向过程和面向对象的区别 面向对象(Object Oriented,简称OO)和面向过程(Procedure Oriented,简称PO)是两种不同的编程思想。1.1 面向过程的编程面向过程编程(Process Oriented Programming,简称POP),以事物的发展过程为中心的编程思想,它根据流程一步...

2018-08-29 19:28:35 277

原创 【链块技术29期】区块链基础语言(二十一)——Go语言包

原文链接:区块链基础语言(二十一)——Go语言包 在实际开发工作中,工程不会简单到只有一个源代码文件,且源文件之间有相互依赖的关系。Go语言利用命令行工具,消除了工程文件的概念,完全用目录结构和包名来推导工程结构和构建顺序。 一、包的由来为了代码更好地维护和复用,Go语言程序按程序的功能性将源代码分割成一个个逻辑单元,组织成若干组文件,每组文件被称为一个包。这样开发人员可以以包...

2018-08-28 17:41:04 308

原创 【链块技术28期】区块链基础语言(二十)——Go语言结构体

原文链接:区块链基础语言(二十)——Go语言结构体 一、结构体概述 Go语言结构体是一种聚合的数据类型,由一系列具有相同类型或不同类型的数据构成的数据集合。结构体的声明格式如图1所示,内部没有关键词var,每个数据称为结构体成员。例如,图1所示,利用结构体表示法,以一个班级为单位,记录这个班的班级名称,统计班级的总人数、男女生人数。定义一个结构体需要用到两个关键词:type...

2018-08-27 19:16:17 332

原创 【链块技术27期】区块链基础语言(十九)——Go语言字典

       原文链接:区块链基础语言(十九)——Go语言字典 在C++、Java、C#语言里,使用map,需要先引用相应的库。在Go语言里,使用map不需要引入任何库,并且使用更加方便。一、概述Go语言中的map(映射、字典)是一种内置的数据结构,它是一个无序的键值对(key:value)集合,key类似于索引,可以通过key快速检索value。如图1所示,字典变量i...

2018-08-23 14:16:33 320

原创 【链块技术26期】区块链基础语言(十八)——Go语言切片(下)

       原文链接:区块链基础语言(十八)——Go语言切片(下) 上一节介绍了切片的基础知识:切片的声明、空切片、切片和数组的区别、切片和底层数组的关联、切片的创建。这一节主要介绍切片的几个操作(遍历、追加、拷贝、插入、删除),最后介绍切片作为函数参数的传递方式。一、切片的几个操作1.1 对切片的遍历类似于对数组的遍历,range结合for循环可以对切片进行遍历,格式为...

2018-08-21 18:46:44 314

原创 【链块技术25期】区块链基础语言(十七)——Go语言切片(上)

        原文链接:区块链基础语言(十七)——Go语言切片(上) 上一章节我们已经了解了数组的特点:数组的长度在定义之后无法再次修改;数组是值类型,每次传递都将产生一份副本。数组的这种特点无法满足特定场景的开发需求,Go语言提供了更为灵活、功能强悍的内置类型——切片(slice)来弥补数组的不足。 切片分为上、下两节。本节介绍切片的基础知识:切片的声明、空切片、切片和数组...

2018-08-20 15:24:16 311

原创 【链块技术24期】区块链基础语言(十六)——Go语言数组

       原文链接:区块链基础语言(十六)——Go语言数组 数组是Go语言编程中最常用的数据结构之一。本节从以下角度介绍数组:数组的定义和基本要素、数组的声明和初始化、数组元素的编号及数组元素的获取和修改、数组变量之间的比较和赋值、指针数组和数组指针、数组作为函数参数的传递方式和二维数组。 一、数组定义和基本要素1.1 数组的定义数组是一系列已编号、长度固定的同一类...

2018-08-16 15:37:20 235

原创 【链块技术23期】区块链基础语言(十五)——Go语言指针

            原文链接:区块链基础语言(十五)——Go语言指针 一、基本概念1.1 内存地址电脑存储器由一个个存储单元构成,为了对存储器进行有效的管理,就需要对各个存储单元编号,即给每个单元赋予一个地址码,这叫编址。计算机里每个内存单元的地址码就是这个内存单元的内存地址。1.2 指针变量通过内存单元的内存地址能找到这个内存单元,那么这个内存地址叫作指针(P...

2018-08-15 16:21:41 325

原创 【链块技术22期】区块链基础语言(十四)——Go语言函数(下)

         原文链接:区块链基础语言(十四)——Go语言函数(下) 上一节介绍了内置函数、自定义函数和变量作用域,本节主要介绍匿名函数与闭包、函数的延迟调用、递归函数。 一、匿名函数与闭包1.1 定义匿名函数与闭包的定义如表1所示。注:a. 闭包就是通过匿名函数“捕获”和它在同一作用域的其它常量和变量。b. 当闭包被调用的时候,不管在程序什么地方调...

2018-08-14 16:28:40 443

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除