Skip to content

runziggurat/xrpl

Repository files navigation

Ziggurat x XRPL

dependency status workflow status

The Ziggurat implementation for XRPLF's rippled nodes.

Prerequisites

Ziggurat is written in stable Rust; you can install the Rust toolchain by following the official instructions here

Getting started

Preconditions

  1. Clone this repository.
  2. Build rippled from source.

Running setup script

  1. Make sure you have python3 installed. You should be able to run python3 --version.

  2. Install xrpl python lib: pip3 install xrpl-py.

    Mandatory step for Mac users!

    On MacOS, the coreutils package is also required. It can be installed with: brew install coreutils

    Also make sure that these two 127.0.0.x (where x != 1) addresses are enabled:

    sudo ifconfig lo0 alias 127.0.0.2 up;
    sudo ifconfig lo0 alias 127.0.0.3 up;
    Important note!

    The xrlp library depends on legacy openSSL functions that are disabled by default. In the case of error, make sure to explicitly enable legacy functions in the config file, like so:

    openssl_conf = openssl_init
    
    [openssl_init]
    providers = provider_sect
    
    [provider_sect]
    default = default_sect
    legacy = legacy_sect
    
    [default_sect]
    activate = 1
    
    [legacy_sect]
    activate = 1
    

    You can find out the path to the config file with the following command: openssl version -d.

  3. Export the path to the build folder to the RIPPLED_BIN_PATH environment variable.

    export RIPPLED_BIN_PATH="$HOME/path/to/ripple"
  4. Run the setup script (takes about 5 minutes):

    ./tools/setup_env.sh

Run tests

Run conformance and resistance tests with the following command:

cargo +stable t -- --test-threads=1

Run performance tests

Consult the performance tests readme for details on running these tests.

Test status

Short overview of test cases and their current status. In case of failure, the behaviour observed is usually documented in the test case. These results were obtained by running the test suite against Ripple 1.9.3 (47dec467).

Status
pass
fail

Conformance

Test Case Status Additional Information
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026

Performance

Tests are ignored by default. To explicitly run performance tests, run the command:

 cargo +stable test performance --features performance
Test Case Status Additional Information
001
002
003

Resistance

Test Case Status Additional Information
001
002 ✓/✖ ⚠ Fails in rare cases
003
004

Releases

No releases published

Packages

No packages published

Languages