Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions clients/rippled/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ARG baseimage=rippleci/rippled
ARG tag=develop
ARG baseimage=xrpllabsofficial/xrpld
ARG tag=latest

FROM --platform=linux/amd64 $baseimage:$tag

Expand Down
10 changes: 10 additions & 0 deletions clients/rippled/xrpl_start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,16 @@ $VALIDATORS

[ledger_history]
${XRPL_LEDGER_HISTORY:-256}

# Empty publisher sections so rippled does NOT fetch the mainnet UNL
# (vl.ripple.com / vl.xrplf.org). Without these, rippled in a private
# test network ends up tracking mainnet validators in its untrusted
# set — which floods the consensus log with `is_trusted: 0`
# validations and slows down close cadence on a small test network.
[validator_list_sites]

[validator_list_keys]

CFGEOF

# Validator seed.
Expand Down
20 changes: 16 additions & 4 deletions simulators/sync/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -166,10 +166,22 @@ func makeLateJoinTest(initialClient, lateClient string) func(t *xrplsim.T) {
t.Fatalf("late-join %s node did not sync to ledger %d: %v", lateClient, targetLedger, err)
}

// Verify the late joiner has the account we created.
acct, err := lateRPC.AccountInfo("rPMh7Pi9ct699iZUTWz6CFkakUy5Ju9f9v")
if err != nil {
t.Fatal("late-join node doesn't have the account:", err)
// rippled returns `noNetwork` from account_info while server_state
// is "connected" (validations seen but state not yet replayed).
// Retry until rippled finishes catchup or we time out. rxrpl
// answers immediately so the loop exits on first try.
var acct *xrplsim.AccountInfoResult
var lastErr error
acctDeadline := time.Now().Add(120 * time.Second)
for time.Now().Before(acctDeadline) {
acct, lastErr = lateRPC.AccountInfo("rPMh7Pi9ct699iZUTWz6CFkakUy5Ju9f9v")
if lastErr == nil {
break
}
time.Sleep(2 * time.Second)
}
if lastErr != nil {
t.Fatalf("late-join %s node didn't replay state for account in time: %v", lateClient, lastErr)
}
t.Logf("late-join %s synced from %s network — account balance: %s", lateClient, initialClient, acct.Balance)
}
Expand Down
Loading