
商业公链解码
解读我最感兴趣的商业公链
元宇宙开源博客
这个作者很懒,什么都没留下…
展开
-
商业公链源码解析(零)------目录
有了大把基础知识,又有了区块链技术的追求,不分析一把竞争对手的区块链源码,不见一见商业级源码风采,岂不是很亏,感谢这个开源的区块链技术世界,正是开源,才让我们一睹区块链风采,追赶先行者脚步。哈哈,摸着石头过河,好爽。项目介绍:目前分析商业源码,从而构建区块链架构意识,落地具体技术。项目步骤:区块链架构和技术 区块链技术所用的常见库 区块链各个模块设计及核心代码目录:商业公链之...原创 2019-03-27 18:20:29 · 595 阅读 · 0 评论 -
商业公链之区块链技术使用的常见库(一)------Go语言命令行库"gopkg.in/urfave/cli.v1"
Go语言命令行库"gopkg.in/urfave/cli.v1"很多go语言都使用这个来实现命令行操作,包括以太坊geth。用户只需要提供一些模块的配置、参数的解析、以及关联函数。其他在库内自动完成,并生成帮助信息。举个例子想要实现这种命令行界面:NAME:GoFlag - flag testUSAGE:___go_build_goflag_go.exe ...原创 2019-03-27 19:02:56 · 1389 阅读 · 0 评论 -
商业公链之区块链技术使用的常见库(二)------GO语言日志库"github.com/cihub/seelog"
GO语言日志库"github.com/cihub/seelog"Seelog可以设置不同级别的日志库,过滤输出设定级别的日志,输出不同格式日志文件到终端或文件,根据触发日志名或者函数名区分不同日志,实现网络转发或者定期删除日志等功能。日志级别分为:Trace(相比debug范围更广,适合release),debug(只适合debug开发版本,调试时更详细的了解系统运行状态),info(重要...原创 2019-03-28 08:35:47 · 1465 阅读 · 0 评论 -
商业公链之区块链技术使用的常见库(三)------Go语言键值数据库 ”github.com/syndtr/goleveldb/leveldb”
levelDB是Google开源的KeyValue文件数据库,LevelDB是一个非常高效的kv数据库,1.2-version就能够支持billion级的数据量了,在这个数量级下还有着非常高的性能,主要归功于它的良好设计,特别是LSM算法.特点:1.key和value都是任意长度的字节数组;2.entry(即一条k-v记录)默认是按照key的字典顺序存储的,开发者开源重载这个排序函数;...原创 2019-03-29 08:48:44 · 930 阅读 · 0 评论 -
商业公链之区块链技术使用的常见库(四)------Go语言内存数据库 "github.com/tidwall/buntdb"
BuntDB是纯Go开发的、低层级的(low-level)的、可嵌入的key/value内存数据库(IMDB),数据持久化存储,遵从ACID,支持自定义索引和地理空间数据。BuntDB旨在给用户提供可靠稳定高效的数据库。特点:1.因为是内存数据库,所以支持快速的读和写2.可采用简单的API,实现数据库嵌入功能3.20维以下的空间索引;对地理空间数据有用4.支持创建任何数据类型...原创 2019-04-01 09:33:33 · 1549 阅读 · 0 评论 -
商业公链之区块链技术使用的常见库(五)------Go语言并发actor库"github.com/AsynkronIT/protoactor-go/actor"
Go语言并发actor库"github.com/AsynkronIT/protoactor-go/actor"ProtoAct是下一代的Actor模型框架,提供了.NET和Go语言的实现,默认支持分布式,提供管理和监控功能。Proto.Actor提供了可伸缩、实时的事务处理,任何需要高吞吐量、低延迟的业务需求都可以用到Proto.Actor。目前该版本处于开发状态中,并不太适...原创 2019-04-01 09:35:12 · 957 阅读 · 0 评论 -
商业公链之区块链技术使用的常见库(六)------Go语言文档数据库"gopkg.in/mgo.v2"
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。1.安装mgo:go get gopkg.in/mgo.v22.导入mgo包import ("gopkg.in/mgo.v2""gopkg...原创 2019-04-02 08:55:49 · 4122 阅读 · 0 评论 -
商业公链之区块链技术使用的常见库(七)------Go语言缓存LRU库"github.com/hashicorp/golang-lru"
Golang第三方库golang-lru基于双向链表实现了三种LRU及变种Cache:LRU,Q2,ARC。LRU算法:若数据已经在缓存中,将其移到队首,并返回结果。若数据不在缓存中,将新记录添加到队首。若缓存超长,清理队尾缓存数据。2Q算法有两个缓存队列,一个是FIFO队列,用于保存最近访问的数据;一个是LRU队列,用于保存热点数据。recent用于保存最近访问的数据,frequent用...原创 2019-04-03 09:07:06 · 1027 阅读 · 0 评论 -
商业公链之区块链技术使用的常见库(八)------Go语言单调时间库"github.com/aristanetworks/goarista/monotime"
操作系统提供了一个“挂钟”,它可能会随时钟同步发生变化,而“单调时钟”则不会。一般的规则是挂钟是用来告诉时间的,而单调时钟是用来测量时间的。后来的讲时间操作使用挂钟读数,但后来的时间测量操作,特别是比较和减法,使用单调时钟读数。需要测量时间时最好使用monotime.Now()而不是time.Now(),相比之下前者更准确。1.获取当前单调时间:start := monotime.Now()...原创 2019-04-04 08:50:52 · 490 阅读 · 0 评论 -
商业公链之区块链技术使用的常见库(九)------Go语言http路由库"github.com/gorilla/mux"
目录介绍安装使用常用方法介绍1.初始化路由2.路由注册3.子路由的使用4.定义路由别名5.静态文件路由7.生成已注册的URL8.Walk方法9.Middleware 中间件10.开启监听端口:11.get请求处理:12.post请求处理测试Get请求Post请求综合示例介绍mux是一个用来执行http请求的路由和...原创 2019-04-08 11:18:27 · 1984 阅读 · 1 评论 -
商业公链之区块链技术使用的常见库(十)------Go语言微服务库 "github.com/micro/go-micro”
Go语言微服务库 github.com/micro/go-micro由于Grpc存在ip和具体服务绑定,一旦服务ip改变,客户端代码也要改变,管理麻烦。同时,存在服务发现和服务间调用问题。直接使用实现了服务注册的 go-micro 框架。Micro是一套微服务构建工具库。对于微服务架构的应用,Micro提供平台层面、高度弹性的工具组件,让服务开发者们可以把复杂的分布式系统以简单的方式构建起来,...原创 2019-04-09 17:13:18 · 2476 阅读 · 0 评论 -
商业公链之区块链技术架构设计(一)------区块链对比
一、源码类型当前区块链源码主要以C++为主,辅之以Go,而对于国内庞大的Java开发者来说来说,又出现Java区块链。个人认为C++会在未来继续占大头,毕竟效率最高,而Go由于分布式并发编程会渐渐发展。商业区块链源码种类 公链 语言 联盟链 语言 底层框架 语言 比特币 C++ fabric Go IPFS Go 以太坊...原创 2019-04-11 17:09:56 · 1625 阅读 · 0 评论