trestle
testnet live Launch bridge
DEVELOPER / RUN IT
REPO publicSTACK node + pythonCHAINS 4

Run and verify Trestle.

Clone the repository, install, run the test suite, then start the relayer and the frontend. Nothing below needs a funded account.

QUICKSTART
git clone https://github.com/Nifemi0/Trestle
cd Trestle
npm install

npm test                        # on-chain + relayer-scope assertions
npm run test:pressure:quick     # fast pressure sanity check
node frontend/logic_test.js     # bridge routing logic

node src/relayer.js --once      # single relay pass
node src/health.js --verbose    # full status report
01
LAYOUT

Where things live.

PathContents
src/The two long-running processes: relayer.js and health.js
contracts/Compiled Hyperlane warp + ISM artifacts and deployed addresses
scripts/Deploy, add-chain, transfer and diagnostics tooling
test/On-chain assertions plus the pressure simulations
frontend/This UI — pages, shared config, icons, styles
configs/ registry/Hyperlane core and warp route configuration, local registry metadata
systemd/Unit files for the relayer and the frontend
OPERATIONS

Running processes.

02
systemctl status botchain-relayer
systemctl status botchain-frontend

journalctl -u botchain-relayer -n 50 --no-pager
curl -s localhost:8088/api/status
  • Poll interval, block range, stuck-message threshold and retries are environment variables on the relayer.
  • Every loop writes relayer_health.json; the watchdog reads that file rather than guessing.
  • Alerts go to alerts.log and to Telegram when the token/chat pair is configured.

Never reuse the testnet deployer key for anything holding real value. deployer.json and relayer.env stay local and gitignored.