自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从第一行代码开始开发区块链(三)

传送门: 柏链项目学院3. 增加数据库和客户端之前我们的区块链已经产生了,但是程序终止后,数据就丢失了!为了下次启动后能够继续,我们需要引入一个小型数据库。这一次,我们选择与短跑世界记录保持者同名的数据库-bolt。bolt的内容不详细在这里介绍了,大家可以参考文章:与短跑名将同名的数据库Bolt。定义数据库文件和bucketconst dbFile = "blockchain.d...

2019-03-14 19:48:22 113

原创 EOS之hello智能合约解析

传送门: 柏链项目学院  EOS的智能合约与以太坊区别很大, EOS 的智能合约基于 WebAssembly(WASM) 技术执行用户生成的应用程序和代码。WASM是一项新兴的网络标准,得到了谷歌,微软,苹果等公司的广泛支持。目前,用于构建编译为WASM的应用程序的最成熟工具链是使用C / C ++编译器的clang / llvm。目前EOS的智能合约仅支持C和C ++编写。我个人认为,E...

2019-03-14 15:21:37 283

原创 从第一行代码开始开发区块链(二)

传送门: 柏链项目学院如何通过go语言打造区块链为什么选择go语言呢?因为个人兴趣爱好,作为后端语言go确实比c++要舒服一些,此外go语言对加密算法,hash函数支持的也非常好。我们要支持哪些功能?有区块的链表pow 共识机制UTXO模型1. 有区块的链表go语言里借助数组或切片就可以模拟有序链表,所以直接用切片即可,一个区块包含哪些信息呢?type Block st...

2019-03-05 17:35:47 219

原创 从第一行代码开始开发区块链(一)

传送门: 柏链项目学院为什么会出现比特币呢?  比特币的白皮书标题已经说的很清楚了,中本聪只是为了打造一个点对点的现金系统,这套系统只要有终端上开启了该客户端,就会成为一个数据备份的副本,只要全世界还有一台机器运行该客户端,那么比特币网络就会永远活下去!  法币已经在广泛使用了,为什么还要发明比特币呢?针对目前全球一体化的形势,各个国家法币在兑换、使用上还是会存在一定问题,比特币的出现...

2019-02-28 18:04:17 446

原创 这么小的key-val数据库居然也支持事务——与短跑名将同名的数据库Bolt

传送门: 柏链项目学院什么是Bolt?  Bolt是一个纯净的基于go语言编写的key-val数据库,该项目受到LMDB项目的启发,目标是提供一个不需要完整服务器的简单、快速、可靠的数据库。  Bolt稳定,API固定,文件格式固定。全单元测试覆盖和随机黑盒测试用于确保数据库一致性和线程安全性。Bolt目前用于高负载生产环境,为1TB的数据库提供服务。Shopify和Heroku等许多...

2019-02-21 18:45:04 180

原创 吃鸡蛋引发的血案,详解内存中的字节序

吃鸡蛋引发的血案,详解内存中的字节序 传送门: 柏链项目学院  我们曾经看过一个馒头引发的血案,那么吃鸡蛋也能引发血案吗?确实能!英国作家乔纳森·斯威夫特的《格列弗游记》当中就记载了这样的故事!这是一场由于吃鸡蛋引发的战争,战争开始是由于以下的原因:我们大家都认为,吃鸡蛋前,原始的方法是打破鸡蛋较大的一端。可是当今皇帝的祖父小时候吃鸡蛋,一次按古法打鸡蛋时碰巧将一个手指弄破了,因此...

2019-02-19 16:01:29 192

原创 使用web3.js监听以太坊智能合约event

传送门: 柏链项目学院使用web3.js监听以太坊智能合约event  当我们在前端页面调用合约时发现有些数据不会立即返回,这时还需要再调用更新数据的函数。那么这样的方法使用起来非常不便,监听event就可以很好的解决这样的问题,下面我们来看看如何监听event。以下内容基于web3.js1.0版本,版本不同可能会代码差异。1. 修改geth启动参数全部参数如下geth --d...

2019-01-29 17:08:14 3010

原创 EOS开发实战

EOS开发实战  在上一篇文章《EOS开发入门》中,我们为大家介绍了EOS的节点启动和合约部署和调用等入门知识。本次我们来实现一个复杂的例子,可以为其取一个高大上的名字-悬赏任务管理系统。这可以是我们身边的一个例子,在工作中我们也许会碰到需要周围人帮助实现工作以外的问题,这往往需要靠交情来做到。我们使用eos可以实现这样一个任务管理系统,任务发起人可以发布一个任务给某个赏金猎人,指定任务的赏金...

2019-01-25 17:27:14 292

原创 MongoDB的使用

MongoDB的使用  MongoDB是一个基于分布式文件存储的数据库,使用C++编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB本身属于非关系型数据库,但是它又是非关系型中最像关系型的。MongoDB的特点:高性能易使用易部署模式自由动态查询(支持js)BSON数据存储复制和数据恢复索引,分片都支持MongoDB公司原名是10gen公司,后来...

2019-01-25 11:22:00 196

原创 go语言打造个人博客系统(二)

go语言打造个人博客系统(二)  在上篇文章go语言打造个人博客系统(一)中,我们了解了go语言的优点和go语言的数据库操作,本次我们会完成博客系统的后端开发。博客系统后端接口开发路由测试http.HandleFunc("/ping", Pong)func Pong(w http.ResponseWriter, r *http.Request) { w.Write([]byte...

2019-01-17 14:18:18 1396

原创 go语言打造个人博客系统(一)

go语言打造个人博客系统(一)为什么选择go语言?  听说go语言是在几年前,但真正深入了解他却是在2017年,因为当时作为讲师 ,需要准备go语言的课程,结果稍一接触立刻就喜欢上这门语言了,作为长期的c/c++程序员来说,10年来参加了很多大型项目,用c来开发确实很苦逼,所以碰到go语言时,发现真的能够上瘾,新生的语言肯定会把作者对之前各种语言的痛点体现出来,尤其还是肯-汤普森这样的大师。...

2019-01-15 14:23:24 2405

原创 EOS开发入门

EOS开发入门  在上一篇文章《EOS开发环境搭建》中,我们已经完成了EOS开发环境的搭建,本次为大家带来的是EOS开发入门的相关内容。1. EOS的合约开发基础  智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。1.1 所需知识熟悉或了解C++14的基本语法,这部分技能需要掌握,短时间内无法搞定...

2019-01-10 11:04:54 330

原创 EOS开发环境搭建

EOS开发环境搭建  在上一篇文章《扒一扒EOS的前世今生》中,我们已经了解了EOS以及他的创始人Daniel Larimer的故事,本次为大家带来的是关于EOS开发环境搭建的内容。首先我们来了解一下EOS的核心架构和白皮书。1. EOS的核心架构  EOS网络由21个超级节点和100个备选节点构成,这21个超级节点负责轮流产生区块,避免了挖矿竞赛的问题,有效的提高同步数据的性能。2...

2019-01-08 14:19:47 525

原创 扒一扒EOS的前世今生

扒一扒EOS的前世今生EOS是什么?  EOS可以认为是Enterprise Operation System的缩写,即商用的一款分布式区块链操作系统,EOS主要为了解决百万级用户的使用问题,为企业提供一种分布式的区块链架构解决方案,相比比特币和以太坊,有人认为EOS是区块链3.0的标志。好,在开始学习EOS之前,我们先来说说EOS的创始人BM的故事。  Daniel Larimer,江...

2019-01-03 14:25:17 521

原创 大数据专业来袭!前京东大学大数据院长亲自为你授课!

当下,人工智能、大数据等热门词汇频频出现在人们的视野中。作为万物分析的大数据更是站在互联网的风口浪尖上,直接催热了大学里的大数据专业。从IT时代进入DT(Data technology 数据处理)时代,高校在大数据方向上设置了什么专业,具体学什么,就业怎么样,作为新兴专业,考生如何报考?今天,就来谈一谈这个大家关注的热门专业。什么叫大数据呢?进入互联...

2019-06-21 16:43:36 749

原创 启迪链网通证经济共同体:柏链教育&火聘online推出区块链行业人才“一门式”服务

近日,启迪链网通证经济共同体旗下两个节点成员柏链教育与火聘online,达成节点间的合作,据悉本次合作是采用共同体的生态共建模式,柏链教育与火聘online共享企业端岗位需求的大数据,然后有针对性的开发技术培训课程,同时邀请相关企业加入到课程的实训环节,直接打通教育-人才-就业的成长路径。从而大幅降低学习成才的时间与投入成本,“一门式”满足需求。北京柏链道捷教育科技有限公司(简称:柏链教育)是...

2019-05-07 15:39:05 268

原创 go语言打造p2p网络

传送门: 柏链项目学院就像1000个人眼中有1000个哈姆雷特一样,每个人眼中的区块链也是不一样的!作为技术人员眼中的区块链就是将各种技术的融合,包括密码学,p2p网络,分布式共识机制以及博弈论等。我们今天就来讨论一下区块链技术中的p2p网络,这是一种点到点的通信技术。说到p2p通信,它并没有名字看上去那样简单,在网络世界里实现p2p还是需要一些手段的!很多朋友可能会说,实现一个c/s模...

2019-04-23 21:48:02 853

原创 Go语言打造以太坊智能合约测试框架(level2)

传送门: 柏链项目学院第二课 智能合约自动化编译前期内容回顾之前我们的介绍的是如何通过solc编译智能合约,并且调用智能合约,本节我们继续实践,将智能合约的代码自动化编译以及abi文件生成搞定。我们需要掌握什么技能呢?go语言调用命令行toml配置文件处理awk工具的使用go调用命令行go调用命令行,我们使用exec包LookPath 可以判断一个可执行程序是否存在...

2019-04-09 21:36:36 341

原创 go语言模版编程

传送门: 柏链项目学院go语言与模版编程什么是模版编程模板是将一个事物的结构规律予以固定化、标准化的成果,它体现的是结构形式的标准化。对于我们程序员来说,更直白的理解是;对于要输出的内容,个人位置需要参数化填充,需要填充的参数位置是固定的,输出的内容是有统一标准的。就像是我们小时候做的填空题,题目固定,有固定的位置需要填充,模版就是原理。go语言模版编程步骤go语言开发了专门的pa...

2019-04-02 17:19:16 224

原创 以太坊开发环境搭建

传送门: 柏链项目学院以太坊开发环境搭建1. 所需工具geth  geth是使用go语言实现的以太坊节点客户端,基于geth我们可以搭建一个用于开发的以太坊私有网络。Remix ide  Remix ide用于编写和部署智能合约,以太坊智能合约主要使用solidity语言编写。Remix ide可以将智能合约部署到我们本地搭建的geth私有网络上。一款你喜...

2019-03-28 19:54:13 447

原创 Go语言打造以太坊智能合约测试框架(level1)

传送门: 柏链项目学院Go语言打造以太坊智能合约测试框架前言这是什么?这是一个基于go语言编写的,自动化测试以太坊智能合约的开发框架,使用此框架,可以自动化的部署合约,自动测试合约内的功能函数。你也发现了,本框架模拟的是truffle框架,但是完全是基于go语言编写,而且以太坊的客户端需要使用私链或者测试链。可以学到什么?go语言访问以太坊使用solc编译器编译合约自动化部...

2019-03-21 11:40:29 686

原创 go打造以太坊合约测试框架

传送门: 柏链项目学院1 以太坊智能合约编译以太坊智能合约编写使用solidity语言,一般情况下我们会在remix环境下进行编译测试,在线环境相对比较稳定。如果不想用在线环境,那我们就需要自己动手来编译代码,并且进行测试。我们都需要准备哪些工具呢?编译器,solidity语言需要安装solc编译器以太坊节点,部署合约时需要用到1.1 编译器安装和准备安装solc以及solc...

2019-03-19 17:45:53 258

空空如也

空空如也

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

TA关注的人

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