Vinnie Falco e2a5535ed6 NuDB: Performance improvements (RIPD-793,796):
This introduces changes in nudb to improve speed, reduce database size,
and enhance correctness. The most significant change is to store hashes
rather than entire keys in the key file. The output of the hash function
is reduced to 48 bits, and stored directly in buckets.

The API is also modified to introduce a Codec parameter allowing for
compression and decompression to be supported in the implementation
itself rather than callers.

THe data file no longer contains a salt, as the salt is applicable
only to the key and log files. This allows a data file to have multiple
key files with different salt values. To distinguish physical files
belonging to the same logical database, a new field UID is introduced.
The UID is a 64-bit random value generated once on creation and stored
in all three files.

Buckets are zero filled to the end of each block, this is a security
measure to prevent unintended contents of memory getting stored to
disk. NuDB offers the varint integer type, this is identical to
the varint described by Google.

* Add varint
* Add Codec template argument
* Add "api" convenience traits
* Store hash in buckets
* istream can throw short read errors
* Support std::uint8_t format in streams
* Make file classes part of the public interface
* Remove buffers pessimization, replace with buffer
* Consolidate creation utility functions to the same header
* Zero fill unused areas of buckets on disk
* More coverage and improvements to the recover test
* Fix file read/write to loop until all bytes processed
* Add verify_fast, faster verify for large databases

The database version number is incremented to 2; older databases can
no longer be opened and should be deleted.
2015-02-11 14:41:31 -08:00
2014-12-29 11:21:19 -08:00
2014-05-13 12:15:59 -07:00
2014-07-24 20:18:51 -07:00
2014-12-19 11:00:29 -08:00
2014-04-28 14:54:15 -07:00
2014-12-29 11:21:19 -08:00
2015-02-07 06:38:37 -08:00

Ripple

#The Worlds Fastest and Most Secure Payment System

What is Ripple?

Ripple is the open-source, distributed payment protocol that enables instant payments with low fees, no chargebacks, and currency flexibility (for example dollars, yen, euros, bitcoins, or even loyalty points). Businesses of any size can easily build payment solutions such as banking or remittance apps, and accelerate the movement of money. Ripple enables the world to move value the way it moves information on the Internet.

Ripple Network

What is a Gateway?

Ripple works with gateways: independent businesses which hold customer deposits in various currencies such as U.S. dollars (USD) or Euros (EUR), in exchange for providing cryptographically-signed issuances that users can send and trade with one another in seconds on the Ripple network. Within the protocol, exchanges between multiple currencies can occur atomically without any central authority to monitor them. Later, customers can withdraw their Ripple balances from the gateways that created those issuances.

How do Ripple payments work?

A sender specifies the amount and currency the recipient should receive and Ripple automatically converts the senders available currencies using the distributed order books integrated into the Ripple protocol. Independent third parties acting as market makers provide liquidity in these order books.

Ripple uses a pathfinding algorithm that considers currency pairs when converting from the source to the destination currency. This algorithm searches for a series of currency swaps that gives the user the lowest cost. Since anyone can participate as a market maker, market forces drive fees to the lowest practical level.

What can you do with Ripple?

The protocol is entirely open-source and the networks shared ledger is public information, so no central authority prevents anyone from participating.Anyone can become a market maker, create a wallet or a gateway, or monitor network behavior. Competition drives down spreads and fees, making the network useful to everyone.

###Key Protocol Features

  1. XRP is Ripples native [cryptocurrency] (http://en.wikipedia.org/wiki/Cryptocurrency) with a fixed supply that decreases slowly over time, with no mining. XRP acts as a bridge currency, and pays for transaction fees that protect the network against spam XRP as a bridge currency

  2. Pathfinding discovers cheap and efficient payment paths through multiple order books allowing anyone to trade anything. When two accounts arent linked by relationships of trust, the Ripple pathfinding engine considers intermediate links and order books to produce a set of possible paths the transaction can take. When the payment is processed, the liquidity along these paths is iteratively consumed in best-first order. Pathfinding from Euro to Japanese Yen

  3. Consensus confirms transactions in an atomic fashion, without mining, ensuring efficient use of resources.

###Join The Ripple Community

Transact Build Contribute
Transact on the fastest payment infrastructure Build Imaginative Apps Contribute to the Ripple Protocol Implementation

#rippled - Ripple P2P server

##Build Status

This is the repository for Ripple's rippled, reference P2P server.

###Build instructions:

###Setup instructions:

Repository Contents

./bin

Scripts and data files for Ripple integrators.

./build

Intermediate and final build outputs.

./Builds

Platform or IDE-specific project files.

./doc

Documentation and example configuration files.

./src

Source code directory. Some of the directories contained here are external repositories inlined via git-subtree, see the corresponding README for more details.

./test

Javascript / Mocha tests.

License

Ripple is open source and permissively licensed under the ISC license. See the LICENSE file for more details.

###For more information:

Description
Codebase for Xahaud - The consensus, RPC & blockchain app for the Xahau network.
Readme 178 MiB
Languages
C++ 90.3%
C 8.1%
CMake 0.6%
Shell 0.2%
Java 0.2%
Other 0.5%