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.
#The World’s 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.
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 sender’s 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 network’s 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
-
XRP is Ripple’s 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

-
Pathfinding discovers cheap and efficient payment paths through multiple order books allowing anyone to trade anything. When two accounts aren’t 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.

-
Consensus confirms transactions in an atomic fashion, without mining, ensuring efficient use of resources.
###Join The Ripple Community
![]() |
![]() |
![]() |
|---|---|---|
| Transact on the fastest payment infrastructure | Build Imaginative Apps | Contribute to the Ripple Protocol Implementation |
#rippled - Ripple P2P server
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:
- Ripple Wiki - https://ripple.com/wiki/
- Ripple Primer - https://ripple.com/ripple_primer.pdf
- Ripple Primer (Market Making) - https://ripple.com/ripple-mm.pdf
- Ripple Gateway Primer - https://ripple.com/ripple-gateways.pdf
- Consensus - https://wiki.ripple.com/Consensus





