If you’re excited to get started with the new RippleAPI right away, jump right in with the following resources:
- RippleAPI Reference – A thorough reference of all methods and features contained in the new API.
- Sample Code – Additional code samples for a growing variety of use cases.
ripple-libon GitHub – The RippleAPI source code is available under an open-source license so you can freely download, modify, and contribute back to the project.
For more information on how and why we built RippleAPI, read on.
Background and Rationale
Prior to RippleAPI, there were three very different APIs to the Ripple Consensus Ledger:
rippledAPIs: a low-level interface, not designed for ease of use.
- The Ripple-REST API: a high-level HTTP interface
Unfortunately, all good things come to an end, and this is the end of the line for Ripple-REST. We are no longer developing or supporting Ripple-REST, and we recommend you migrate your applications away from it. Fortunately, RippleAPI also includes an experimental REST-like HTTP API, although this interface is currently unsupported.
rippled APIs continue to provide an alternative method of interacting with the Ripple Consensus Ledger, providing maximum power at a cost of increased complexity, so you can choose the tradeoffs that are best for your use case.
Source Code Improvements
For better organization, we used the “weak layering principle” to structure the source, according to which each layer can only depend on layers below it. This means that the source files are structured into subdirectories and there are very few imports that reach into parent or sibling directories.
Testing and Documentation
RippleAPI comes with a comprehensive array of tests, including 100% unit test coverage, integration tests for every method, flow type checking, ESLint checks, and automated testing of the documentation.
All API methods have JSON schemas that specify the return values and parameter types. The unit tests use the schemas to validate the return values, which guarantees that the API results are consistent with expectations.