Ripple一些组件介绍(待续)

2023-12-25 04:58
文章标签 组件 介绍 待续 ripple

本文主要是介绍Ripple一些组件介绍(待续),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LZ4 最快的压缩和解压速度,尽管压缩比一般,单核压缩速度能达到400m/s,单核解压速度能达到1G/s 项目:http://code.google.com/p/lz4/

secp256k1 引用比特币的椭圆曲线加密法

详细见:https://en.bitcoin.it/wiki/Secp256k1,实现及测试程序可参考:https://github.com/bitcoin-core/secp256k1

ed25519-donna 是一个数字签名算法,签名和验证的性能都极高, 一个4核2.4GHz 的 Westmere cpu,每秒可以验证 71000 个签名,安全性极高,等价于RSA约3000-bit。签名过程不依赖随机数生成器,不依赖hash函数的防碰撞性,没有时间通道攻击的问题,并且签名很小,只有64字节,公钥也很小,只有32字节,实现及测试程序可参考:
https://github.com/floodyberry/ed25519-donna

NuDB是专门针对SSD或同等高IOPS设备的随机读取性能进行了优化,可用在各个平台上,只能插入不能删除的KV数据库,NuDB最常见的应用程序是内容可寻址存储,其中数据的加密摘要被用作密钥。读取性能和内存使用情况与数据库的大小无关。实现及测试程序可参考: https://github.com/vinniefalco/NuDB

Sqlite数据,文件Ledger.db包含表Ledgers区块信息,Validations本地历史区块共识信息,Transaction.db包含表AccountTransactions账户交易表,Transactions交易相关信息,Wallet.db包含NodeIdentity存储当前节点的NodePublic与NodePrivate

RocksDB 项目起源于Facebook的一个实验项目,该项目旨在开发一个与快速存储器(尤其是闪存)存储数据性能相当的数据库软件,以应对高负载服务。这是一个c++库,可用于存储键和值,可以是任意大小的字节流。它支持原子读和写。
RocksDB具有高度灵活的配置功能,可以通过配置使其运行在各种各样的生产环境,包括纯内存,Flash,硬盘或HDFS。它支持各种压缩算法,并提供了便捷的生产环境维护和调试工具。
RocksDB借鉴了开源项目LevelDB的重要代码和Apache HBase项目的重要思想。最初的代码来源于开源项目leveldb 1.5分叉。它借鉴了了Facebook的代码和思想。

soci是一个用C++封装的数据库访问库,目前通过"前端(应用程序)/核心/后端(数据库适配)"模式支持firebird,mysql,sqlite3,oracle,postgresql,odbc多种数据库;作为扩展,您也可以自己针对具体不同库或应用编写自定义后端代码。貌似另外一个poco开源库的数据库封装系参考soci。 https://github.com/SOCI/soci

Snappy 是一个 C++ 的用来压缩和解压缩的开发包。其目标不是最大限度压缩或者兼容其他压缩格式,而是旨在提供高速压缩速度和合理的压缩率。Snappy 比 zlib 更快,但文件相对要大 20% 到 100%。在 64位模式的 Core i7 处理器上,可达每秒 250~500兆的压缩速度。Snappy 在 Google 内部被广泛的使用,从 BigTable 到 MapReduce 以及内部的 RPC 系统。[1]
snappy 是一个压缩库。它可以利用单颗Intel Corei7处理器内核处理至少每秒250MB~500MB的数据流。
snappy 的前身是Zippy。虽然只是一个数据压缩库,它却被Google用于许多内部项目程,其中就包括BigTable,MapReduce和RPC。Google宣称它在这个库本身及其算法做了数据处理速度上的优化,作为代价,并没有考虑输出大小以及和其他类似工具的兼容性问题。Snappy特地为64位x86处理器做了优化,在单个Intel Core i7处理器内核上能够达到至少每秒250MB的压缩速率和每秒500MB的解压速率。
如果允许损失一些压缩率的话,那么可以达到更高的压缩速度,虽然生成的压缩文件可能会比其他库的要大上20%至100%,但是,相比其他的压缩库,Snappy却能够在特定的压缩率下拥有惊人的压缩速度,"压缩普通文本文件的速度是其他库的1.5-1.7倍,HTML能达到2-4倍,但是对于JPEG、PNG以及其他的已压缩的数据,压缩速度不会有明显改善"。
折叠编辑本段特点
Google极力赞扬Snappy的各种优点,Snappy从一开始就被"设计为即便遇到损坏或者恶意的输入文件都不会崩溃",而且被Google在生产环境中用于压缩PB级的数据。其健壮性和稳定程度可见一斑。
Snappy也可以用于和其他压缩库-zlib、LZO、LZF、FastLZ和QuickLZ-做对比测试,前提是你在机器上安装了这些压缩库。Snappy是一个C++的库,你可以在产品中使用,不过也有一些其他语言的版本,例如Haskell、Java、Perl、Python和Ruby。

Snappy采用新BSD协议开源。
Protobuf (Google Protocol Buffer)是一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,解析速度快,比对应的XML快约20-100倍,序列化数据非常简洁、紧凑,与XML相比,其序列化之后的数据量约为1/3到1/10,可用于通讯协议和数据存储等领域,

协议原型在: src\ripple\ripple.proto 里

SNTPClock 系统网络时间同步库,在Ripple主要由TimeKeeper驱动,单独测试可参考:https://github.com/Juppit/esp8266-SNTPClock


博主QQ: 122209017



这篇关于Ripple一些组件介绍(待续)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/534317

相关文章

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2