DPOS介绍 概念 Delegated Proof of Stake,委任权益证明。中文名叫做股份授权证明机制(又称受托人机制),它的原理是让每一个持有比特股的人进行投票,由此产生101位代表 , 我们可以将其理解为10…
分类:go教程
golang之树的遍历
go语言在区块链编程中有巨大的优势,其中fabric和ethereum都是基于go语言编写的。为了能更好的学习区块链的底层技术,先将go的基础打好。 本篇文章使用golang来实现树的遍历 树的定义 package tr…
LRU 算法
LRU 最近最少使用算法,LRU算法主要用于缓存淘汰。主要目的就是把最近最少使用的数据移除内存,以加载其他数据。 原理 添加元素时,放到链表头 缓存命中,将元素移动到链表头 缓存满了之后,将链表尾的元素删除 LRU算法实…
通过leetcode学习位运算及其Go实现
问题描述 461. Hamming Distance即求两个正整数的二进制对应位数不同的个数 原理说明 从问题描述来看,最直观的解决方法就是十进制数先转成二进制,再比对相同位数是否相同,不同则计数器累加,最终计数器的值即…
那些我的代码中从不用的 Golang 特性 - 马特-莱亚
– 我不使用的关键字 我不用 goto goto 会让代码执行逻辑难以阅读和理解。 另外还可以使用 label 标记来组织代码 func main() { outer: for { log.Println("…
golang.org/x一键安装脚本
背景 由于各种问题,国内使用 go get 安装 golang 官方包可能会失败,如我自己在安装 collidermain 时,出现了以下报错: $ go get collidermain package golang.…
go语言将表数据动态转成切片(字段任意拓展)
package main import ( "log" "fmt" "database/sql" _ "github.com/go-sql-driver/mysql" ) //先把字段的值都当成字符串 func Rows…
造轮子系列(二): 史上最简单的长连接通信协议及实现
背景 现在写客户端或者网页的时候, 越来越多的需要与长连接打交道, 尤其是在这个老板动不动就要搞一个聊天系统的时代, 后端大哥们于是分分钟就能造一个基于TCP或者WebSockets的消息协议出来. 但是问题在于每做一个…
Go语言channel与select原理
本文会尝试解释 go runtime 中 channel 和 select 的具体实现,部分内容来自 gophercon2017。Go版本为1.8.3 channel 第一部分讲述一下 channel 的用法。chann…
golang值类型的变量和指针类型的变量区别
值类型的变量和指针类型的变量 先声明一个结构体: type T struct { Name string } func (t T) M1() { t.Name = "name1" } func (t *T) M2() {…
剥开比原看代码05:如何从比原节点拿到区块数据?
作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockc… 在前一篇中…
nginx实现两台服务负载均衡
nginx实现两台服务器的负载均衡 使用背景 现在有两台服务器,其中有一台作为外网服务器和应用服务器(A),另一台做MySQL和应用服务器(B)。需要在AB两台服务器中实现负载均衡。 实现思路 A安装nginx实现代理,…