The Ziggurat implementation for XRPLF's rippled
nodes.
Ziggurat is written in stable Rust; you can install the Rust toolchain by following the official instructions here
- Clone this repository.
- Build rippled from source.
-
Make sure you have python3 installed. You should be able to run
python3 --version
. -
Install
xrpl
python lib:pip3 install xrpl-py
.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
(wherex != 1
) addresses are enabled:sudo ifconfig lo0 alias 127.0.0.2 up; sudo ifconfig lo0 alias 127.0.0.3 up;
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
. -
Export the path to the build folder to the
RIPPLED_BIN_PATH
environment variable.export RIPPLED_BIN_PATH="$HOME/path/to/ripple"
-
Run the setup script (takes about 5 minutes):
./tools/setup_env.sh
Run conformance and resistance tests with the following command:
cargo +stable t -- --test-threads=1
Consult the performance tests readme for details on running these tests.
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 |
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 | ✓ |
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 | ✓ |
Test Case | Status | Additional Information |
---|---|---|
001 | ✓ | |
002 | ✓/✖ | ⚠ Fails in rare cases |
003 | ✓ | |
004 | ✓ |