首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
chaors
掘友等级
区块链开发待坑
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
2
文章 2
沸点 0
赞
2
返回
|
搜索文章
最新
热门
go公链实战0x03数据持久化
上一节学习了基于go语言的数据库boltDB的基本使用,这一节用boltDB实现区块链的数据持久化。 区块链的数据主要集中在各个区块上,所以区块链的数据持久化即可转化为对每一个区块的存储。boltDB是KV存储方式,因此这里我们可以以区块的哈希值为Key,区块为Value。 此…
go公链实战0x02boltdb数据库
我们知道,bitcoin客户端的区块信息是存储在LevelDB数据库中。我们既然要基于go开发公链,这里用到的数据库是基于go的boltDB。 在你打开之后,你有两种处理它的方式:读-写和只读操作,读-写方式开始于db.Update方法,常用于建表和表中插入新数据;只读操作开始…
【golang】HashMap原理和实现
其实map是一种HashMap,表面上看它只有键值对结构,实际上在存储键值对的过程中涉及到了数组和链表。HashMap之所以高效,是因为其结合了顺序存储(数组)和链式存储(链表)两种存储结构。数组是HashMap的主干,在数组下有有一个类型为链表的元素。 当我们存储一个键值对时…
go公链实战0x01ProofOfWork
上一节 我们用go语言实现了区块链的基础结构。今天来实现工作量证明。 我们都知道一个合法区块的诞生其哈希值必须满足指定的条件,比特币采用的是工作量证明。我们这里用go开发的公链也采用POW一致性算法来产生合法性区块。 因此,区块必须不断产生哈希直到满足POW的哈希值产生才能添加…
【golang】浅析类属性大小写区别
我们知道Golang里都是通过结构体Struct来定义类和相关属性的。这里有点需要注意的是,属性的首字母大小写表示的意义是不同的! go中根据首字母的大小写来确定可以访问的权限。无论是方法名、常量、变量名还是结构体的名称,如果首字母大写,则可以被其他的包访问;如果首字母小写,则…
【golang】浅析rune数据类型
在学习golang基础的时候,发现有个叫rune的的数据类型,当时不理解这个类型的意义。 这样可能还是对rune的作用与意义比较懵逼,我们通过一个简单的🌰来看下rune的作用。先来看下下面这块代码执行结果是什么? 我们猜测结果应该是:8:5个字符1个空格2个汉字。那么正确答案…
go公链实战0x00区块链基础结构
堕落了一段时间,终于又找回了学习的动力,满血归来。。。 我们知道在如火如荼的区块链应用红海,goLang越来越多地发挥着不可替代的作用。一方面取决于其语法的简单性,一方面其具备C++高效处理的特性。今天,我们就用go语言开始构建一个简单但是具备区块链完整功能的公链项目。 由于之…
小白的第一个HelloWord智能合约
上一篇已经讲解了geth的本地编译和基本使用。 基于以太坊的智能合约使用一种类似于JS的叫Solidity的编程语言编写,文件扩展名为.sol。它也是以太坊官方推荐的编程语言。 上面说到Solidity类似于JavaScript,它的运行环境是EVM(Ethereum Virt…
区块链共识之Paxos算法理解与实战
1.初始是阅读本文后续内容的基础,概念性的东西叙述不多,干货干货干货在后面的代码实战。但有提供我认为优秀的帖子以供参考理解。前面这些Paxos基本的理解是2.代码设计和3.实战流程的基础! Paxos 问题是指分布式的系统中存在故障(fault),但不存在恶意(corrupt)…
以太坊客户端go-thereum本地编译及使用
比特币是区块链技术应用最成功的一个项目,也被业界公认为区块链1.0技术。随着区块链技术的普及和发展,出现了以太坊智能合约。 以太坊是一个建立在区块链技术之上的去中心化应用平台。我们可以在这个平台上建立使用区块链技术的去中心化应用。 可以这样理解,以太坊就好比一个开发平台(例如运…
下一页
个人成就
文章被点赞
85
文章被阅读
37,867
掘力值
643
关注了
4
关注者
39
收藏集
1
关注标签
10
加入于
2018-04-24