默克尔树开源实现项目【10+】
Merkle树是一种可以有效验证部分数据存在于指定数据集并且未被篡改的高效的哈希树结构,作为一种底层技术广泛应用在各种区块链的实现当中,对于商品溯源、知识产权确认、区块链公证等区块链应用起着重要的作用。本文介绍11个主流的merkle树开源实现,你可以在自己的项目中应用。
区块链开发教程链接:以太坊 | 比特币 | EOS | Tendermint | Hyperledger Fabric | Omni/USDT | Ripple
1、ethereumjs/merkle-patricia-tree - 以太坊官方merkle树实现
merkle-patricia-tree是以太坊黄皮书中的改进merkle patricia树的实现。目前仅支持leveldb作为存储后端。
- 开发语言:TypeScript/JavaScript
- 源码下载:https://github.com/ethereumjs/merkle-patricia-tree
2、google/Trillian - 大规模可验证数据存储
Trillian是google提供的一个透明的、高度可伸缩的密码学可验证数据存储库,它采用MySQL或MariaDB作为后端存储层,可以支持非常大规模的merkle树。Trillian通过gRPC提供服务接口。
- 开发语言:Golang
- 源码下载:https://github.com/google/trillian
3、greglook/merkle-db - 用于分析数据集的merkle存储
merkle-db是一个高度可伸缩的基于不可变merkle树的分析数据库,主要用于存储和访问采用混合列结构的大规模数据集。merkle-db采用Clojure开发。
- 开发语言:Clojure
- 源码下载:https://github.com/greglook/merkle-db
4、nomic-io/merk - Rust高性能键/值库
merk是一个采用Rust开发的高性能键/值库,采用RocksDB作为存储后端,采用Merkle+AVL作为算法基础数据结构。merk的主要设计场景是应用于区块链中。
- 开发语言:Rust
- 源码下载:https://github.com/nomic-io/merk
5、ProximaDB - 支持merkle证据的可验证数据库
ProximaDB是一个支持merkle证据的可验证数据库,主要包括数据存储、交易管理和查询操作这三部分实现。
- 开发语言:JavaScript
- 源码下载: https://github.com/proxima-one/ProximaDB
6、tendermint/iavl - tendermint官方多版本merkle树库实现
iavl是tendermint官方提供的多版本merkle+avl树实现,采用leveldb作为后端存储层。
- 开发语言:Golang
- 源码下载: https://github.com/tendermint/iavl
7、cbergoon/merkletree - go语言实现的merkle树
merkletree是一个采用golang实现的merkle树,它没有使用数据库等持久化机制,完全在内存中实现,非常适合理解merkletree的算法,并在此基础上根据自己的需求加以调整。
- 开发语言:Golang
- 源码下载: https://github.com/cbergoon/merkletree
8、miguelmota/merkletreejs - js实现的merkle树
merlketreejs是JavaScript实现的merkle树生成与验证库,同样没有后端持久化机制,完全在内存中实现,在单一javascript文件中实现全部代码,可以用于浏览器环境,非常适合学习理解merkletree的运作机制。
- 开发语言:JavaScript/TypeScript
- 源码下载:https://github.com/miguelmota/merkletreejs
9、c-geek/merkle - nodejs版本的merkle树
c-geek/merkle是一个nodejs版本的merkle树实现,支持 sha512, sha256, ripemd160, whirlpool, sha1, md5 等多种数据指纹算法,也支持数据不经哈希直接生成merkle树。该项目同样没有后端持久化机制,完全在内存中实现。
c-geek/merkle采用CommonJS封装,主要针对node.js环境,也可以
借助于webpack等工具在浏览器环境中使用。
- 开发语言:JavaScript
- 源码下载:https://github.com/c-geek/merkle
10、quux00/merkle-tree - Java实现的merkle树
quux00/merkle-tree是采用Java实现的merkle树,作者主要将其用于检测事件序列中的失序事件。项目实现了merkle树的序列化/反序列化,因此为其增加持久化机制变得非常简单。
- 开发语言:Java
- 源码下载:https://github.com/quux00/merkle-tree
11、SpinResearch/merkle.rs - Rust实现的merkle树
merkle.rs是采用Rust实现的Merkle树,没有后端存储机制,适合原理性学习。
- 开发语言:Rust
- 源码下载:https://github.com/SpinResearch/merkle.rs
原文链接:11个开源merkle树实现 — 汇智网
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java @Deprecated Annotation(注解)
在本部分的快速指南中,我们将会查看 Java 的 deprecated API 和如何在程序中使用 @Deprecated 注解。@Deprecated Annotation(注解) 作为程序的进化和迭代,随着时间的推移,在项目中总会有些类,构造方法,字段,类型或者方法不建议人们继续继续使用。 为了避免程序向后兼容的问题,而导致程序或者 API 不能使用,我们将会对不再使用的元素使用 @Deprecate 注解来声明。 @Deprecated 主要目的是告诉其他的开发者标记的元素不要在程序中继续使用了。 同时我们还建议在 @Deprecated 注解后面添加一些说明的文本来解释如果希望程序或者 API 具有相同的功能应该使用何种其他的方法。SRC https://github.com/cwiki-us-demo/java-tutorials/blob/master/core-java-modules/core-java-annotations/src/main/java/com/ossez/annotations/ClassWithDeprecatedMethod.java packa...
- 下一篇
itest(爱测试) 4.5.0 发布,BUG 跟踪管理 & 敏捷测试管理软件
itest 简介 test 开源敏捷测试管理,testOps 践行者。可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试工作,也有测试环境管理,还有很常用的测试度量;对于发版频繁,需求常变,itest还可导出用例,线下修改、执行,新增后再导入(同步)到线上;且可根据测试策略来设置测试流程,并可实时调整;在测试看板中,能查看迭代报告,测试包执行情况,测试任务进展,也可以在看板上直接执行用包用例,具体介绍详见下面开源中国连接;itest 入围2019 最受欢迎国产开源软件并获得此奖项。 在线体验1 http://www.itest.work/demo 在线体验2 http://120.78.0.137/demo v4.5.0 下载地址 :itest下载 本次发布一共26个更新(19个增强,7个BUG):分析度量中用例相关的统计修了修改,增加ldap登录支持,任务管理按反馈增加了4个增强。 V4.5.0详情如下所述: 19个功能增强: 1:ldap 登录支持,可使用ldap 帐户登录 2:用例编写趋势中增加含修改的可选条件 3:测试人员简报中,增加费解BU...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Hadoop3单机部署,实现最简伪集群
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8编译安装MySQL8.0.19