cmake support in rippled. Currently supports:
* unity/nounity debug/release
* running protobuf
* sanitizer builds
* optional release build with assert turned on
* `target` variable to easily set compiler/debug/unity
(i.e. -Dtarget=gcc.debug.nounity)
* gcc/clang/visual studio/xcode
* linux/mac/win
* gcc 4 ABI, when needed
* ninja builds
* check openssl for acceptably recent release
* static builds
TBD:
* jemalloc support
* count
Notes:
* Use the -G"Visual Studio 14 2015 Win64" generator on Windows. Without
this a 32-bit project will be created. There is no way to set the
generator or force a 64-bit build in CMakeLists.txt (setting
CMAKE_GENERATOR_PLATFORM won't work). The best solution may be to
wrap cmake with a script.
* It is not possible to generate a visual studio project on linux or
mac. The visual studio generator is only available on windows.
* The visual studio project can be _either_ unity or
non-unity (selected at generation time). It does not appear possible
to disable compilation based on configuration.
* Language is _much_ worse than python, poor documentation and "quirky"
language support (for example, generator expressions can only be used
in limited contexts and seem to work differently based on
context (set_property can set multiple values, add_compile_options
can not/or is buggy)
* Could not call out to `sed` because cmake messed with the regular
expression before calling the external command. I did not see a way
around this.
* Makefile generators want to be single target. It wants a separate
directory for each target type. I saw some mentions on the web for
ways around this bug haven't look into it. The visual studio project
does support debug/release configurations in the same project (but
not unity/non-unity).
What is Ripple?
Ripple is a network of computers which use the [Ripple consensus algorithm] (https://www.youtube.com/watch?v=pj1QVb1vlC0) to atomically settle and record transactions on a secure distributed database, the Ripple Consensus Ledger (RCL). Because of its distributed nature, the RCL offers transaction immutability without a central operator. The RCL contains a built-incurrency exchange and its path-finding algorithm finds competitive exchange rates across order books and currency pairs.
Key Features
- Distributed
- Direct account-to-account settlement with no central operator
- Decentralized global market for competitive FX
- Secure
- Transactions are cryptographically signed using ECDSA or Ed25519
- Multi-signing capabilities
- Scalable
- Capacity to process the world’s cross-border payments volume
- Easy access to liquidity through a competitive FX marketplace
Cross-border payments
Ripple enables banks to settle cross-border payments in real-time, with end-to-end transparency, and at lower costs. Banks can provide liquidity for FX themselves or source it from third parties.
As Ripple adoption grows, so do the number of currencies and counterparties. Liquidity providers need to maintain accounts with each counterparty for each currency – a capital- and time-intensive endeavor that spreads liquidity thin. Further, some transactions, such as exotic currency trades, will require multiple trading parties, who each layer costs to the transaction. Thin liquidity and many intermediary trading parties make competitive pricing challenging.
XRP as a Bridge Currency
Ripple can bridge even exotic currency pairs directly through XRP. Similar to USD in today’s currency market, XRP allows liquidity providers to focus on offering competitive FX rates on fewer pairs and adding depth to order books. Unlike USD, trading through XRP does not require bank accounts, service fees, counterparty risk, or additional operational costs. By using XRP, liquidity providers can specialize in certain currency corridors, reduce operational costs, and ultimately, offer more competitive FX pricing.
rippled - Ripple server
rippled is the reference server implementation of the Ripple
protocol. To learn more about how to build and run a rippled
server, visit https://ripple.com/build/rippled-setup/
License
rippled is open source and permissively licensed under the
ISC license. See the LICENSE file for more details.
Repository Contents
| Folder | 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. |
| ./test | Javascript / Mocha tests. |
Some of the directories under src are external repositories inlined via
git-subtree. See the corresponding README for more details.
##For more information:
To learn about how Ripple is transforming global payments visit https://ripple.com/contact/
Copyright © 2015, Ripple Labs. All rights reserved.
Portions of this document, including but not limited to the Ripple logo, images and image templates are the property of Ripple Labs and cannot be copied or used without permission.



