Skip to content

Commit 4dafc89

Browse files
committed
feat(tools/talis): vendor talis deployment tool + Fibre experiment runner
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
1 parent 638b96f commit 4dafc89

136 files changed

Lines changed: 15683 additions & 3183 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/scheduled_tasks.lock

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"sessionId":"e50bfb66-350f-42ce-a67f-1053bf478384","pid":32397,"procStart":"Sun Apr 26 13:39:16 2026","acquiredAt":1777338483302}

.github/workflows/ci.yml

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,8 @@ name: CI
99

1010
permissions: {}
1111
jobs:
12-
changes:
13-
name: Detect code changes
14-
runs-on: ubuntu-latest
15-
permissions:
16-
contents: read
17-
pull-requests: read
18-
outputs:
19-
code: ${{ steps.filter.outputs.code }}
20-
steps:
21-
- uses: actions/checkout@v6.0.2
22-
- uses: dorny/paths-filter@v3
23-
id: filter
24-
with:
25-
filters: |
26-
code:
27-
- '**'
28-
- '!docs/**'
29-
- '!**/*.md'
30-
- '!.github/workflows/docs_*.yml'
31-
3212
determine-image-tag:
3313
name: Determine Image Tag
34-
needs: changes
35-
if: needs.changes.outputs.code == 'true'
3614
runs-on: ubuntu-latest
3715
permissions:
3816
contents: read
@@ -61,15 +39,12 @@ jobs:
6139
echo "tag=$TAG" >> $GITHUB_OUTPUT
6240
6341
lint:
64-
needs: changes
65-
if: needs.changes.outputs.code == 'true'
6642
permissions:
6743
contents: read
6844
uses: ./.github/workflows/lint.yml
6945

7046
docker:
71-
needs: [determine-image-tag, changes]
72-
if: needs.changes.outputs.code == 'true'
47+
needs: determine-image-tag
7348
uses: ./.github/workflows/docker-build-push.yml
7449
secrets: inherit
7550
permissions:
@@ -85,8 +60,6 @@ jobs:
8560
]
8661
8762
test:
88-
needs: changes
89-
if: needs.changes.outputs.code == 'true'
9063
permissions:
9164
actions: read
9265
contents: read
@@ -95,8 +68,7 @@ jobs:
9568
secrets: inherit
9669

9770
docker-tests:
98-
needs: [determine-image-tag, docker, changes]
99-
if: needs.changes.outputs.code == 'true'
71+
needs: [determine-image-tag, docker]
10072
uses: ./.github/workflows/docker-tests.yml
10173
secrets: inherit
10274
permissions:
@@ -105,8 +77,6 @@ jobs:
10577
image-tag: ${{ needs.determine-image-tag.outputs.tag }}
10678

10779
proto:
108-
needs: changes
109-
if: needs.changes.outputs.code == 'true'
11080
permissions:
11181
contents: read
11282
pull-requests: write

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
coverage.txt
22
*.out
3+
go.work
4+
go.work.sum
35
proto/pb
46
proto/tendermint
57
types/pb/tendermint

CHANGELOG.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1212
### Changes
1313

1414
- 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)
1915

2016
## v1.1.1
2117

apps/evm/cmd/run.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,9 @@ var RunCmd = &cobra.Command{
131131
}()
132132
}
133133

134-
// nil fiberClient: the EVM app doesn't wire Fibre DA. See
135-
// tools/celestia-node-fiber for the adapter; testapp/cmd/run.go
136-
// has the same TODO note for matching context.
134+
// fibre-experiment: StartNode now takes a FiberClient as the
135+
// trailing arg. The EVM app doesn't wire Fiber — nil is fine
136+
// as long as DA.Fiber.Enabled stays false in its config.
137137
return rollcmd.StartNode(logger, cmd, executor, sequencer, nodeKey, datastore, nodeConfig, genesis, node.NodeOptions{}, nil)
138138
},
139139
}

apps/evm/go.mod

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ require (
1313
github.com/evstack/ev-node/core v1.0.0
1414
github.com/evstack/ev-node/execution/evm v1.0.1
1515
github.com/ipfs/go-datastore v0.9.1
16-
github.com/rs/zerolog v1.35.1
16+
github.com/rs/zerolog v1.35.0
1717
github.com/spf13/cobra v1.10.2
1818
gotest.tools/v3 v3.5.2
1919
)
2020

2121
require (
2222
cloud.google.com/go v0.123.0 // indirect
23-
cloud.google.com/go/auth v0.20.0 // indirect
23+
cloud.google.com/go/auth v0.18.2 // indirect
2424
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
2525
cloud.google.com/go/compute/metadata v0.9.0 // indirect
2626
cloud.google.com/go/iam v1.7.0 // indirect
@@ -43,12 +43,12 @@ require (
4343
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.23 // indirect
4444
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.8 // indirect
4545
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.22 // indirect
46-
github.com/aws/aws-sdk-go-v2/service/kms v1.51.0 // indirect
46+
github.com/aws/aws-sdk-go-v2/service/kms v1.50.5 // indirect
4747
github.com/aws/aws-sdk-go-v2/service/signin v1.0.10 // indirect
4848
github.com/aws/aws-sdk-go-v2/service/sso v1.30.16 // indirect
4949
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.20 // indirect
5050
github.com/aws/aws-sdk-go-v2/service/sts v1.42.0 // indirect
51-
github.com/aws/smithy-go v1.25.1 // indirect
51+
github.com/aws/smithy-go v1.25.0 // indirect
5252
github.com/benbjohnson/clock v1.3.5 // indirect
5353
github.com/beorn7/perks v1.0.1 // indirect
5454
github.com/bits-and-blooms/bitset v1.20.0 // indirect
@@ -128,7 +128,7 @@ require (
128128
github.com/libp2p/go-libp2p-asn-util v0.4.1 // indirect
129129
github.com/libp2p/go-libp2p-kad-dht v0.39.1 // indirect
130130
github.com/libp2p/go-libp2p-kbucket v0.8.0 // indirect
131-
github.com/libp2p/go-libp2p-pubsub v0.16.0 // indirect
131+
github.com/libp2p/go-libp2p-pubsub v0.15.0 // indirect
132132
github.com/libp2p/go-libp2p-record v0.3.1 // indirect
133133
github.com/libp2p/go-libp2p-routing-helpers v0.7.5 // indirect
134134
github.com/libp2p/go-msgio v0.3.0 // indirect
@@ -201,8 +201,8 @@ require (
201201
github.com/wlynxg/anet v0.0.5 // indirect
202202
go.opencensus.io v0.24.0 // indirect
203203
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
204-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0 // indirect
205-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0 // indirect
204+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 // indirect
205+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0 // indirect
206206
go.opentelemetry.io/otel v1.43.0 // indirect
207207
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 // indirect
208208
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0 // indirect
@@ -230,7 +230,7 @@ require (
230230
golang.org/x/tools v0.43.0 // indirect
231231
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
232232
gonum.org/v1/gonum v0.17.0 // indirect
233-
google.golang.org/api v0.276.0 // indirect
233+
google.golang.org/api v0.274.0 // indirect
234234
google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7 // indirect
235235
google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect
236236
google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect

apps/evm/go.sum

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb
2020
cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
2121
cloud.google.com/go v0.123.0 h1:2NAUJwPR47q+E35uaJeYoNhuNEM9kM8SjgRgdeOJUSE=
2222
cloud.google.com/go v0.123.0/go.mod h1:xBoMV08QcqUGuPW65Qfm1o9Y4zKZBpGS+7bImXLTAZU=
23-
cloud.google.com/go/auth v0.20.0 h1:kXTssoVb4azsVDoUiF8KvxAqrsQcQtB53DcSgta74CA=
24-
cloud.google.com/go/auth v0.20.0/go.mod h1:942/yi/itH1SsmpyrbnTMDgGfdy2BUqIKyd0cyYLc5Q=
23+
cloud.google.com/go/auth v0.18.2 h1:+Nbt5Ev0xEqxlNjd6c+yYUeosQ5TtEUaNcN/3FozlaM=
24+
cloud.google.com/go/auth v0.18.2/go.mod h1:xD+oY7gcahcu7G2SG2DsBerfFxgPAJz17zz2joOFF3M=
2525
cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
2626
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
2727
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
@@ -105,8 +105,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.8 h1:HtOTYcb
105105
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.8/go.mod h1:VsK9abqQeGlzPgUr+isNWzPlK2vKe9INMLWnY65f5Xs=
106106
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.22 h1:PUmZeJU6Y1Lbvt9WFuJ0ugUK2xn6hIWUBBbKuOWF30s=
107107
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.22/go.mod h1:nO6egFBoAaoXze24a2C0NjQCvdpk8OueRoYimvEB9jo=
108-
github.com/aws/aws-sdk-go-v2/service/kms v1.51.0 h1:696UM+NwOrETBCLQJyCAGtVmmZmziBT59yMwgg6Fvrw=
109-
github.com/aws/aws-sdk-go-v2/service/kms v1.51.0/go.mod h1:GBO/aaEi47QldDVoqw2CsM2UZQDoqDiFIMJD/ztHPs0=
108+
github.com/aws/aws-sdk-go-v2/service/kms v1.50.5 h1:nEzwx/ZlpUZ2Y6WztsgYmfBh5Ixd3QiECawXMzvTMeo=
109+
github.com/aws/aws-sdk-go-v2/service/kms v1.50.5/go.mod h1:GBO/aaEi47QldDVoqw2CsM2UZQDoqDiFIMJD/ztHPs0=
110110
github.com/aws/aws-sdk-go-v2/service/signin v1.0.10 h1:a1Fq/KXn75wSzoJaPQTgZO0wHGqE9mjFnylnqEPTchA=
111111
github.com/aws/aws-sdk-go-v2/service/signin v1.0.10/go.mod h1:p6+MXNxW7IA6dMgHfTAzljuwSKD0NCm/4lbS4t6+7vI=
112112
github.com/aws/aws-sdk-go-v2/service/sso v1.30.16 h1:x6bKbmDhsgSZwv6q19wY/u3rLk/3FGjJWyqKcIRufpE=
@@ -115,8 +115,8 @@ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.20 h1:oK/njaL8GtyEihkWMD4k3Vg
115115
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.20/go.mod h1:JHs8/y1f3zY7U5WcuzoJ/yAYGYtNIVPKLIbp61euvmg=
116116
github.com/aws/aws-sdk-go-v2/service/sts v1.42.0 h1:ks8KBcZPh3PYISr5dAiXCM5/Thcuxk8l+PG4+A0exds=
117117
github.com/aws/aws-sdk-go-v2/service/sts v1.42.0/go.mod h1:pFw33T0WLvXU3rw1WBkpMlkgIn54eCB5FYLhjDc9Foo=
118-
github.com/aws/smithy-go v1.25.1 h1:J8ERsGSU7d+aCmdQur5Txg6bVoYelvQJgtZehD12GkI=
119-
github.com/aws/smithy-go v1.25.1/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
118+
github.com/aws/smithy-go v1.25.0 h1:Sz/XJ64rwuiKtB6j98nDIPyYrV1nVNJ4YU74gttcl5U=
119+
github.com/aws/smithy-go v1.25.0/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
120120
github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=
121121
github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
122122
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
@@ -516,8 +516,8 @@ github.com/libp2p/go-libp2p-kad-dht v0.39.1 h1:9RzUBc7zywT4ZNamRSgEvPZmVlK3Y6xdl
516516
github.com/libp2p/go-libp2p-kad-dht v0.39.1/go.mod h1:Po2JugFEkDq9Vig/JXtc153ntOi0q58o4j7IuITCOVs=
517517
github.com/libp2p/go-libp2p-kbucket v0.8.0 h1:QAK7RzKJpYe+EuSEATAaaHYMYLkPDGC18m9jxPLnU8s=
518518
github.com/libp2p/go-libp2p-kbucket v0.8.0/go.mod h1:JMlxqcEyKwO6ox716eyC0hmiduSWZZl6JY93mGaaqc4=
519-
github.com/libp2p/go-libp2p-pubsub v0.16.0 h1:j7G2C8kJwkcAQqYR7Wmq3d75d3Sgw/N0Hhiv0dVx7OY=
520-
github.com/libp2p/go-libp2p-pubsub v0.16.0/go.mod h1:lr4oE8bFgQaifRcoc2uWhWWiK6tPdOEKpUuR408GFN4=
519+
github.com/libp2p/go-libp2p-pubsub v0.15.0 h1:cG7Cng2BT82WttmPFMi50gDNV+58K626m/wR00vGL1o=
520+
github.com/libp2p/go-libp2p-pubsub v0.15.0/go.mod h1:lr4oE8bFgQaifRcoc2uWhWWiK6tPdOEKpUuR408GFN4=
521521
github.com/libp2p/go-libp2p-record v0.3.1 h1:cly48Xi5GjNw5Wq+7gmjfBiG9HCzQVkiZOUZ8kUl+Fg=
522522
github.com/libp2p/go-libp2p-record v0.3.1/go.mod h1:T8itUkLcWQLCYMqtX7Th6r7SexyUJpIyPgks757td/E=
523523
github.com/libp2p/go-libp2p-routing-helpers v0.7.5 h1:HdwZj9NKovMx0vqq6YNPTh6aaNzey5zHD7HeLJtq6fI=
@@ -712,8 +712,8 @@ github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0t
712712
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
713713
github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA=
714714
github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
715-
github.com/rs/zerolog v1.35.1 h1:m7xQeoiLIiV0BCEY4Hs+j2NG4Gp2o2KPKmhnnLiazKI=
716-
github.com/rs/zerolog v1.35.1/go.mod h1:EjML9kdfa/RMA7h/6z6pYmq1ykOuA8/mjWaEvGI+jcw=
715+
github.com/rs/zerolog v1.35.0 h1:VD0ykx7HMiMJytqINBsKcbLS+BJ4WYjz+05us+LRTdI=
716+
github.com/rs/zerolog v1.35.0/go.mod h1:EjML9kdfa/RMA7h/6z6pYmq1ykOuA8/mjWaEvGI+jcw=
717717
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
718718
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
719719
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
@@ -829,10 +829,10 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
829829
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
830830
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
831831
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
832-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0 h1:yI1/OhfEPy7J9eoa6Sj051C7n5dvpj0QX8g4sRchg04=
833-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0/go.mod h1:NoUCKYWK+3ecatC4HjkRktREheMeEtrXoQxrqYFeHSc=
834-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0 h1:OyrsyzuttWTSur2qN/Lm0m2a8yqyIjUVBZcxFPuXq2o=
835-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0/go.mod h1:C2NGBr+kAB4bk3xtMXfZ94gqFDtg/GkI7e9zqGh5Beg=
832+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 h1:q4XOmH/0opmeuJtPsbFNivyl7bCt7yRBbeEm2sC/XtQ=
833+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0/go.mod h1:snMWehoOh2wsEwnvvwtDyFCxVeDAODenXHtn5vzrKjo=
834+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0 h1:7iP2uCb7sGddAr30RRS6xjKy7AZ2JtTOPA3oolgVSw8=
835+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0/go.mod h1:c7hN3ddxs/z6q9xwvfLPk+UHlWRQyaeR1LdgfL/66l0=
836836
go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I=
837837
go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0=
838838
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 h1:88Y4s2C8oTui1LGM6bTWkw0ICGcOLCAI5l6zsD1j20k=
@@ -1197,8 +1197,8 @@ google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjR
11971197
google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
11981198
google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
11991199
google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8=
1200-
google.golang.org/api v0.276.0 h1:nVArUtfLEihtW+b0DdcqRGK1xoEm2+ltAihyztq7MKY=
1201-
google.golang.org/api v0.276.0/go.mod h1:Fnag/EWUPIcJXuIkP1pjoTgS5vdxlk3eeemL7Do6bvw=
1200+
google.golang.org/api v0.274.0 h1:aYhycS5QQCwxHLwfEHRRLf9yNsfvp1JadKKWBE54RFA=
1201+
google.golang.org/api v0.274.0/go.mod h1:JbAt7mF+XVmWu6xNP8/+CTiGH30ofmCmk9nM8d8fHew=
12021202
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
12031203
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
12041204
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=

apps/grpc/README.md

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# gRPC Single Sequencer App
22

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.
44

55
## Overview
66

77
The gRPC single sequencer app provides:
88

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
1111
- Full data availability layer integration
1212
- P2P networking capabilities
1313

@@ -58,20 +58,11 @@ Start the Evolve node with:
5858
--da.auth-token your-da-token
5959
```
6060

61-
For a same-machine executor, use a Unix domain socket endpoint:
62-
63-
```bash
64-
./evgrpc start \
65-
--root-dir ~/.evgrpc \
66-
--grpc-executor-url unix:///tmp/evolve-executor.sock \
67-
--da.address http://localhost:7980
68-
```
69-
7061
## Command-Line Flags
7162

7263
### gRPC-specific Flags
7364

74-
- `--grpc-executor-url`: URL of the gRPC execution service, either `http://host:port` or `unix:///path/to/socket` (default: `http://localhost:50051`)
65+
- `--grpc-executor-url`: URL of the gRPC execution service (default: `http://localhost:50051`)
7566

7667
### Common Evolve Flags
7768

apps/grpc/cmd/run.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828

2929
const (
3030
grpcDbName = "grpc-single"
31-
// FlagGrpcExecutorURL is the flag for the gRPC executor endpoint.
31+
// FlagGrpcExecutorURL is the flag for the gRPC executor endpoint
3232
FlagGrpcExecutorURL = "grpc-executor-url"
3333
)
3434

@@ -86,9 +86,9 @@ The execution client must implement the Evolve execution gRPC interface.`,
8686
return err
8787
}
8888

89-
// Start the node. nil fiberClient: the gRPC app doesn't wire
90-
// Fibre DA. See tools/celestia-node-fiber for the adapter;
91-
// testapp/cmd/run.go has the same TODO note for context.
89+
// Start the node. fibre-experiment: StartNode now takes a
90+
// FiberClient as the trailing arg. The grpc app doesn't wire
91+
// Fiber — nil is fine as long as DA.Fiber.Enabled stays false.
9292
return rollcmd.StartNode(logger, cmd, executor, sequencer, nodeKey, datastore, nodeConfig, genesis, node.NodeOptions{}, nil)
9393
},
9494
}
@@ -165,10 +165,11 @@ func createGRPCExecutionClient(cmd *cobra.Command) (execution.Executor, error) {
165165
return nil, fmt.Errorf("%s flag is required", FlagGrpcExecutorURL)
166166
}
167167

168-
return executiongrpc.NewClient(executorURL)
168+
// Create and return the gRPC client
169+
return executiongrpc.NewClient(executorURL), nil
169170
}
170171

171172
// addGRPCFlags adds flags specific to the gRPC execution client
172173
func addGRPCFlags(cmd *cobra.Command) {
173-
cmd.Flags().String(FlagGrpcExecutorURL, "http://localhost:50051", "URL of the gRPC execution service, or unix:///path/to/executor.sock")
174+
cmd.Flags().String(FlagGrpcExecutorURL, "http://localhost:50051", "URL of the gRPC execution service")
174175
}

0 commit comments

Comments
 (0)