Skip to content

Releases: shortthefomo/edgy

edgy 0.2.0

Choose a tag to compare

@shortthefomo shortthefomo released this 19 Aug 02:14
v0.2.0
b1a6634
  • correctness on parsing CLOB has been resolved.
  • many other smaller alignment issues resolved as well.
  • new divergence monitor and invariant check in-place as well to monitor drift (needs to be expanded but its a start).
  • after correctness was addressed performance was brought back to base line (most expensive routine remains ripplecalc, hint hint up stream).

*note on initial sync there is now a config stanza, (256-2046) does not resolve issue but may help some sync slightly faster. This needs a means to deliver a faster slab from the XRPL based networks. Really needs a fix upstream.

**minimal testing was done on Xahua this release please do validate further correctness there.

Happy days, great advancements all round.

Oh last thing, target audience for this tool is a FAST MACHINE.

older boxes are not the target, rather newer apple silicon or a beefy thread ripper on x86.

Binaries

Asset OS / arch Node
edgy-xrpld-0.2.0-linux-x64 Linux x86_64 xrpld
edgy-xahaud-0.2.0-linux-x64 Linux x86_64 xahaud
edgy-xrpld-0.2.0-darwin-arm64 macOS Apple Silicon xrpld
edgy-xahaud-0.2.0-darwin-arm64 macOS Apple Silicon xahaud

Linux x86_64 assets are attached by CI when the builder finishes. They are stripped, statically linked against libstdc++, and need a recent glibc (Ubuntu 24.04 / glibc 2.38+). Ubuntu 22.04 (glibc 2.35) will not run them.

Example configs: cfg/edgy-xrpl.example.cfg and cfg/edgy-xahau.example.cfg. Different default listen ports so both can run on one host (6008/5008 vs 6018/5018).

Verify

edgy 0.2.0+xrpld.b1a6634a
edgy 0.2.0+xahaud.b1a6634a

Tag v0.2.0 is GPG-signed (shortthefomo).

Install

Download: releases/latest. Build from source: BUILD.md.

VER=0.2.0
# Linux x86_64
curl -L -o edgy-xrpld \
  https://github.com/shortthefomo/edgy/releases/download/v${VER}/edgy-xrpld-${VER}-linux-x64
curl -L -o edgy-xahaud \
  https://github.com/shortthefomo/edgy/releases/download/v${VER}/edgy-xahaud-${VER}-linux-x64
# or macOS Apple Silicon: replace linux-x64 with darwin-arm64
chmod +x edgy-xrpld edgy-xahaud
curl -L -o edgy-xrpl.cfg \
  https://raw.githubusercontent.com/shortthefomo/edgy/v${VER}/cfg/edgy-xrpl.example.cfg
curl -L -o edgy-xahau.cfg \
  https://raw.githubusercontent.com/shortthefomo/edgy/v${VER}/cfg/edgy-xahau.example.cfg
./edgy-xrpld --conf edgy-xrpl.cfg
./edgy-xahaud --conf edgy-xahau.cfg

edgy 0.1.7

Choose a tag to compare

@shortthefomo shortthefomo released this 17 Aug 21:41
v0.1.7
dee23f1

New x86_64 build Ubuntu 20.04.

Long-lived path_find sockets still rediscover hops as ledgers close on both edgy-xrpld and edgy-xahaud.

Binaries

Asset OS / arch Node
edgy-xrpld-0.1.7-linux-x64 Linux x86_64 xrpld
edgy-xahaud-0.1.7-linux-x64 Linux x86_64 xahaud
edgy-xrpld-0.1.7-darwin-arm64 macOS Apple Silicon xrpld
edgy-xahaud-0.1.7-darwin-arm64 macOS Apple Silicon xahaud

Linux builds are stripped, statically linked against libstdc++, and need a recent glibc (Ubuntu 24.04 / glibc 2.38+). Ubuntu 22.04 (glibc 2.35) will not run them.

Example configs: cfg/edgy-xrpl.example.cfg and cfg/edgy-xahau.example.cfg. Different default listen ports so both can run on one host (6008/5008 vs 6018/5018).

After snapshot ready you should see txs=N/N … inline with node.

Verify

edgy 0.1.7+xrpld.dee23f18
edgy 0.1.7+xahaud.dee23f18

Tag v0.1.7 is GPG-signed (shortthefomo).

Install

Download: releases/latest. Build from source: BUILD.md.

VER=0.1.7
# Linux x86_64
curl -L -o edgy-xrpld \
  https://github.com/shortthefomo/edgy/releases/download/v${VER}/edgy-xrpld-${VER}-linux-x64
curl -L -o edgy-xahaud \
  https://github.com/shortthefomo/edgy/releases/download/v${VER}/edgy-xahaud-${VER}-linux-x64
# or macOS Apple Silicon: replace linux-x64 with darwin-arm64
chmod +x edgy-xrpld edgy-xahaud
curl -L -o edgy-xrpl.cfg \
  https://raw.githubusercontent.com/shortthefomo/edgy/v${VER}/cfg/edgy-xrpl.example.cfg
curl -L -o edgy-xahau.cfg \
  https://raw.githubusercontent.com/shortthefomo/edgy/v${VER}/cfg/edgy-xahau.example.cfg
./edgy-xrpld --conf edgy-xrpl.cfg
./edgy-xahaud --conf edgy-xahau.cfg

edgy 0.1.6

Choose a tag to compare

@shortthefomo shortthefomo released this 17 Aug 04:47
v0.1.6
75ad5dd

Now fully wired, paths across xahaud and xrpld are now updating as ledgers progress.

Long-lived path_find sockets rediscover hops every few ledgers instead of freezing on the first deepen. Rates and path sets move with the book as closes land on both edgy-xrpld and edgy-xahaud.

Binaries

Binary Node Native Ledger types
edgy-xrpld xrpld XRP rippled libxrpl
edgy-xahaud xahaud XAH xahaud libxrpl (Hooks, URITokens, HookState are known)

Example configs: cfg/edgy-xrpl.example.cfg and cfg/edgy-xahau.example.cfg. Different default listen ports so both can run on one host (6008/5008 vs 6018/5018).

The book graph still only indexes offers, AMMs, and directories. Hook / URIToken objects on edgy-xahaud are stored as real SLEs; they are not path hops.

After snapshot ready you should see txs=N/N … inline with node.

Verify

edgy 0.1.6+xrpld.75ad5dd3
edgy 0.1.6+xahaud.75ad5dd3

Tag v0.1.6 is GPG-signed (shortthefomo).

Install

Download: releases/latest. Build from source: BUILD.md.

VER=0.1.6
curl -L -o edgy-xrpld \
  https://github.com/shortthefomo/edgy/releases/download/v${VER}/edgy-xrpld-${VER}-darwin-arm64
curl -L -o edgy-xahaud \
  https://github.com/shortthefomo/edgy/releases/download/v${VER}/edgy-xahaud-${VER}-darwin-arm64
chmod +x edgy-xrpld edgy-xahaud
curl -L -o edgy-xrpl.cfg \
  https://raw.githubusercontent.com/shortthefomo/edgy/v${VER}/cfg/edgy-xrpl.example.cfg
curl -L -o edgy-xahau.cfg \
  https://raw.githubusercontent.com/shortthefomo/edgy/v${VER}/cfg/edgy-xahau.example.cfg
./edgy-xrpld --conf edgy-xrpl.cfg
./edgy-xahaud --conf edgy-xahau.cfg

The attached *-darwin-arm64 binaries are convenience macOS Apple Silicon builds of this tag. Other platforms should build from source.

edgy 0.1.5

Choose a tag to compare

@shortthefomo shortthefomo released this 16 Aug 23:13
v0.1.5
bf8be37

One build, two binaries. edgy-xrpld links rippled libxrpl; edgy-xahaud links xahaud libxrpl plus xahaud RippleCalc/Flow. Ledger family is the executable — there is no [network] / --xahau switch.

Binaries

Binary Node Native Ledger types
edgy-xrpld xrpld XRP rippled libxrpl
edgy-xahaud xahaud XAH xahaud libxrpl (Hooks, URITokens, HookState are known)

Example configs: cfg/edgy-xrpl.example.cfg and cfg/edgy-xahau.example.cfg. Different default listen ports so both can run on one host (6008/5008 vs 6018/5018).

The book graph still only indexes offers, AMMs, and directories. Hook / URIToken objects on edgy-xahaud are stored as real SLEs; they are not path hops.

After snapshot ready you should see txs=N/N … inline with node.

Verify

edgy 0.1.5+xrpld.bf8be373
edgy 0.1.5+xahaud.bf8be373

Tag v0.1.5 is GPG-signed (shortthefomo).

Install

Download: releases/latest. Build from source: BUILD.md.

VER=0.1.5
curl -L -o edgy-xrpld \
  https://github.com/shortthefomo/edgy/releases/download/v${VER}/edgy-xrpld-${VER}-darwin-arm64
curl -L -o edgy-xahaud \
  https://github.com/shortthefomo/edgy/releases/download/v${VER}/edgy-xahaud-${VER}-darwin-arm64
chmod +x edgy-xrpld edgy-xahaud
curl -L -o edgy-xrpl.cfg \
  https://raw.githubusercontent.com/shortthefomo/edgy/v${VER}/cfg/edgy-xrpl.example.cfg
curl -L -o edgy-xahau.cfg \
  https://raw.githubusercontent.com/shortthefomo/edgy/v${VER}/cfg/edgy-xahau.example.cfg
./edgy-xrpld --conf edgy-xrpl.cfg
./edgy-xahaud --conf edgy-xahau.cfg

The attached *-darwin-arm64 binaries are convenience macOS Apple Silicon builds of this tag. Other platforms should build from source.

edgy 0.1.4

Choose a tag to compare

@shortthefomo shortthefomo released this 16 Aug 19:58
v0.1.4
b7e516e

Run against xahaud as well as xrpld. Same path_find / ripple_path_find sidecar; [network] xahau or --xahau switches the ledger family.

Xahau

  • [network] xahau, --xahau / --network xahau, or EDGY_NETWORK=xahau
  • Native JSON is XAH (drop strings still work)
  • Unknown xahaud ledger types (Hooks, URITokens) stay as blobs and are skipped by the book graph

Fixes

  • Owner-dir hole SIGSEGV. forEachItem can pass a null SLE when Indexes names a missing or unreadable child. getMPTs now skips those; the first path_find after a live close no longer crashes.
  • Issued amounts dropped on apply. The xahaud unknown-field strip walked into {currency,issuer,value} and deleted those keys (they are not SFields). Offers and trust lines failed to parse (no_meta climbed, closes warned txs!=N even when N/N applied). Amount JSON is left intact; parse failures are logged as parse_fail=, not mixed into the tx count.
  • RippleCalc SIGSEGV in Rules::enabled. Rules::Impl holds a reference to the presets set. LedgerBuilder constructed Rules from a temporary, so checkFreeze used a dangling hash table after the heap was reused. Presets now live for the process.

After snapshot ready you should see txs=N/N … inline with node.

Verify

edgy 0.1.4

Tag v0.1.4 is GPG-signed (shortthefomo).

Install

Download: releases/latest. Build from source: BUILD.md.

curl -L -o edgy \
  https://github.com/shortthefomo/edgy/releases/download/v0.1.4/edgy-0.1.4-darwin-arm64
chmod +x edgy
curl -L -o edgy.cfg \
  https://raw.githubusercontent.com/shortthefomo/edgy/v0.1.4/cfg/edgy.example.cfg
./edgy --conf edgy.cfg
# Xahau: ./edgy --conf edgy.cfg --xahau

The attached edgy-0.1.4-darwin-arm64 binary is a convenience macOS Apple Silicon build of this tag (0.1.4+b7e516ec). Other platforms should build from source.

edgy 0.1.3

Choose a tag to compare

@shortthefomo shortthefomo released this 16 Aug 16:26
v0.1.3
2e4407c

Live ledger objects now follow the node after snapshot.

Fix

ledgerClosed is published before that ledger’s txs. 0.1.2 treated seq <= current as already applied and dropped every tx (txs=0/N, frozen objects).

Stream meta is JSON, not hex. Parsed nodes were sfGeneric and NewFields/FinalFields are partial, so SLE construction threw and nothing was written (created=0, overlay=0).

0.1.3 applies txs for the just-closed ledger, parses AffectedNodes JSON, and merges those fields onto the existing SLE.

After sync ready you should see txs=N/N, non-zero created/deleted/modified, and overlay growing.

Verify

edgy 0.1.3

Tag v0.1.3 is GPG-signed (shortthefomo).

Install

Build from source: BUILD.md.

git checkout v0.1.3
cmake -S . -B .build \
  -DCMAKE_TOOLCHAIN_FILE=../rippled/.build/build/generators/conan_toolchain.cmake \
  -DCMAKE_BUILD_TYPE=Release \
  -DRIPPLED_ROOT=../rippled \
  -DRIPPLED_BUILD=../rippled/.build
cmake --build .build --parallel --target edgy
.build/edgy --version

The attached edgy-0.1.3-darwin-arm64 binary is a convenience macOS Apple Silicon build of this tag (0.1.3+2e4407c8). Other platforms should build from source.

edgy 0.1.2

Choose a tag to compare

@shortthefomo shortthefomo released this 16 Aug 15:28
v0.1.2
b436a03

Restores 100ms path_find subscription updates.

Fix

0.1.1 held the apply queue during snapshot, but an empty-queue continue also skipped midCloseTick. Open WebSocket sessions only got updates on ledger close (~3–4s).

0.1.2 ticks every [update-ms] (default 100ms) even when nothing is queued. A planApplyCycle regression test fails if that happens again.

Verify

edgy 0.1.2

Tag v0.1.2 is GPG-signed (shortthefomo).

Install

Build from source: BUILD.md.

git checkout v0.1.2
cmake -S . -B .build \
  -DCMAKE_TOOLCHAIN_FILE=../rippled/.build/build/generators/conan_toolchain.cmake \
  -DCMAKE_BUILD_TYPE=Release \
  -DRIPPLED_ROOT=../rippled \
  -DRIPPLED_BUILD=../rippled/.build
cmake --build .build --parallel --target edgy
.build/edgy --version

The attached edgy-0.1.2-darwin-arm64 binary is a convenience macOS Apple Silicon build of this tag (0.1.2+b436a03e). Other platforms should build from source.

edgy 0.1.1

Choose a tag to compare

@shortthefomo shortthefomo released this 16 Aug 15:20
v0.1.1
4a90d05

Incremental ledger follow-up to 0.1.0.

Fix

Full snapshots were running again on every ~3s ledger close. ledgerClosed does not include parent_hash, so the chain check treated each close as a break and kicked off another 5–10 minute ledger_data walk.

0.1.1 snapshots once, then applies each close incrementally. Subscribe now starts before the snapshot so closes during the load are queued instead of looking like a gap.

After sync ready … following node closes you should see one sync closed line per ledger, not another loading full ledger snapshot.

Verify

edgy 0.1.1

Tag v0.1.1 is GPG-signed (shortthefomo).

Install

Build from source: BUILD.md.

git checkout v0.1.1
cmake -S . -B .build \
  -DCMAKE_TOOLCHAIN_FILE=../rippled/.build/build/generators/conan_toolchain.cmake \
  -DCMAKE_BUILD_TYPE=Release \
  -DRIPPLED_ROOT=../rippled \
  -DRIPPLED_BUILD=../rippled/.build
cmake --build .build --parallel --target edgy
.build/edgy --version

The attached edgy-0.1.1-darwin-arm64 binary is a convenience macOS Apple Silicon build of this tag (0.1.1+4a90d051). Other platforms should build from source.

edgy 0.1.0

Choose a tag to compare

@shortthefomo shortthefomo released this 16 Aug 15:06
v0.1.0
bde71a0

First release of Edgy, a local XRPL path_find / ripple_path_find sidecar.

It snapshots the validated ledger from an xrpld node, keeps books and objects in memory, and answers path-finding locally so searches do not wait on the node.

Highlights

  • Same WS/RPC JSON as xrpld (alternatives, paths_computed, ≤6 paths, ≤8 hops)
  • Incremental apply of binary transaction metadata as the node closes ledgers
  • sync log lines so you can see objects and tx counts stay inline with the node
  • xrpld-style .cfg stanzas; edgy --version reports SemVer

Verify

edgy 0.1.0

Tag v0.1.0 is GPG-signed (shortthefomo).

Install

Build from source (supported path): see BUILD.md.

git checkout v0.1.0
cmake -S . -B .build \
  -DCMAKE_TOOLCHAIN_FILE=../rippled/.build/build/generators/conan_toolchain.cmake \
  -DCMAKE_BUILD_TYPE=Release \
  -DRIPPLED_ROOT=../rippled \
  -DRIPPLED_BUILD=../rippled/.build
cmake --build .build --parallel --target edgy
.build/edgy --version

The attached edgy-0.1.0-darwin-arm64 binary is a convenience macOS Apple Silicon build of this tag. Other platforms should build from source.

Config

cp cfg/edgy.example.cfg edgy.cfg
# set [node] to your xrpld WebSocket
.build/edgy --conf edgy.cfg