You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Brings the celestia-app talis multi-cloud deploy tool into ev-node,
plus the wiring needed to deploy a working Fibre DA aggregator
end-to-end on top of it. Verified via a fresh AWS run from this
branch — talis up → genesis → deploy → setup-fibre → start-fibre
→ fibre-bootstrap-evnode → loadgen reaches 24.57 MB/s @ 99.7 % ok
on a 60 s sustained run (3 × c6in.4xlarge validators + c6in.2xlarge
bridge + c6in.8xlarge ev-node + c6in.2xlarge load-gen, all us-east-1).
What this adds:
• tools/talis/ — vendored from celestia-app's
feat/fibre-payments. Provisions AWS / DO / GCP boxes for one or
more validators + bridge + ev-node + load-gen, deploys binaries
+ init scripts, drives a Fibre setup-fibre + start-fibre flow,
and ships an evnode-bootstrap step that scp's the bridge JWT and
Fibre payment keyring onto each ev-node before its init script
starts the daemon.
• tools/celestia-node-fiber/cmd/evnode-fibre/ — long-lived
aggregator runner that wires block.NewFiberDAClient on top of
the celestia-node-fiber adapter. Compiled on each `talis genesis`
and shipped to evnode-* hosts.
• tools/talis/cmd/evnode-txsim/ — small Go load-gen that pumps the
runner's HTTP /tx ingress for a fixed duration; deployed to the
load-gen boxes and prints a single TXSIM: line on completion.
• tools/talis/Makefile — cross-compiles celestia-appd, the
fibre server + load tool, the bridge/light celestia binary, and
both runner binaries to linux/amd64 for talis genesis -b.
setup-fibre fixes uncovered during the verified run:
• bash script for set-host now retries until the validator's host
appears in `query valaddr providers`. The previous one-shot call
relied on `--yes` returning the txhash before block inclusion;
if the chain wasn't ready, the tx silently bounced and the
validator never registered. The Fibre client cached the partial
set on startup and uploads cascaded to "host not found" →
"voting power: collected 0".
• talis-CLI side polls `query valaddr providers` after the per-
validator scripts finish and refuses to return until all
validators are registered. 5-minute deadline, then errors so the
operator can re-run instead of pressing on with a broken setup.
What this changes in ev-node itself (load-bearing for the runner):
• pkg/config/config.go: new ApplyFiberDefaults() profile that flips
the DA client to Fibre-friendly defaults (adaptive batching,
1 s DA.BlockTime, 50-deep pending-cache window) so a runner can
opt in with one call.
• block/public.go: SetMaxBlobSize override so the runner can lift
Celestia's 5 MiB default to Fibre's 120 MiB headroom; new
NewFiberDAClient + Fibre type re-exports for the adapter.
• block/internal/da/{fiber_client.go,fiber/types.go,fibremock/}:
Fibre adapter wired through the DA client interface, with a
matching mock used by the testing tree.
• block/internal/submitting/da_submitter.go: per-stream upload
workers, splitByBlobSize chunking, parallel signing pool, and
an oversized-blob safety net that advances the cache instead
of looping forever (which OOM'd the daemon under sustained
Fibre stalls in the AWS run).
• core/sequencer/sequencing.go: ErrQueueFull sentinel for sequencer
backpressure; pkg/sequencers/solo/sequencer.go honours a
configurable mempool cap and returns it on overflow so the
reaper can back off instead of feeding an unbounded queue
while the executor is paused on the pending-cache cap.
External dependency (documented in tools/talis/fibre.md):
• Sibling clone of celestia-app on a branch with feat/fibre-payments
+ sysrex/fibre_url_fix cherry-picked. Without the URL-parse fix
the Fibre client rejects every host:port registration.
Tested:
- go test ./block/... ./pkg/... ./types/... — all green
- go build ./... + Makefile build-bins — all 6 binaries cross-
compile cleanly to linux/amd64
- End-to-end AWS run from this branch — TXSIM 24.57 MB/s,
99.7 % ok on a 60 s sustained run
Copy file name to clipboardExpand all lines: CHANGELOG.md
-4Lines changed: 0 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,10 +12,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
12
12
### Changes
13
13
14
14
- Optimization of mutex usage in cache for reaper [#3286](https://github.com/evstack/ev-node/pull/3286)
15
-
- Add Unix domain socket support for gRPC execution endpoints via `unix:///path/to/socket`[#3297](https://github.com/evstack/ev-node/pull/3297)
16
-
-**BREAKING:** Replace legacy gRPC execution `txs` payload fields with `tx_batch` so clients and servers use contiguous transaction buffers [#3297](https://github.com/evstack/ev-node/pull/3297)
17
-
- Optimize metadata writes by making it async in cache store [#3298](https://github.com/evstack/ev-node/pull/3298)
18
-
- Reduce tx cache retention to avoid OOM under (really) heavy tx load [#3299](https://github.com/evstack/ev-node/pull/3299)
Copy file name to clipboardExpand all lines: apps/grpc/README.md
+4-13Lines changed: 4 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
# gRPC Single Sequencer App
2
2
3
-
This application runs an Evolve node with a single sequencer that connects to an execution client via gRPC. It allows you to use any execution layer that implements the Evolve execution gRPC interface.
3
+
This application runs a Evolve node with a single sequencer that connects to a remote execution client via gRPC. It allows you to use any execution layer that implements the Evolve execution gRPC interface.
4
4
5
5
## Overview
6
6
7
7
The gRPC single sequencer app provides:
8
8
9
-
-An Evolve consensus node with single sequencer
10
-
- Connection to execution clients via TCP or Unix domain socket gRPC
9
+
-A Evolve consensus node with single sequencer
10
+
- Connection to remote execution clients via gRPC
11
11
- Full data availability layer integration
12
12
- P2P networking capabilities
13
13
@@ -58,20 +58,11 @@ Start the Evolve node with:
58
58
--da.auth-token your-da-token
59
59
```
60
60
61
-
For a same-machine executor, use a Unix domain socket endpoint:
0 commit comments