-
Notifications
You must be signed in to change notification settings - Fork 419
test: basic E2E MsgPayForBlobs test #4778
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…require usage more consistent
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! Thanks for adding this
.github/workflows/test-e2e.yml
Outdated
@@ -17,6 +17,7 @@ jobs: | |||
testcase: | |||
- TestE2ESimple | |||
- TestCelestiaChainStateSync | |||
- TestE2ENodeSimple |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[uber nit][optional] Simple
makes me conflate this with TestE2ESimple
. To disambiguate, consider renaming to TestE2EBridgeNode
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also I often find "node" not specific enough to differentiate between consensus node or DA node so I have been trying to clarify via: "consensus node" vs. "bridge node" / "light node"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes good call, will make this change.
test/docker-e2e/e2e_test.go
Outdated
return maps.SetField(bytes, "consensus.params.version.app", appVersion) | ||
}, | ||
EncodingConfig: &enc, | ||
AdditionalStartArgs: []string{"--force-no-bbr", "--grpc.enable", "--grpc.address", "0.0.0.0:9090", "--rpc.grpc_laddr=tcp://0.0.0.0:9099"}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nit] does the RCP GRPC listen address need to differ from the default 9098
?
celestia-app/app/default_overrides.go
Line 272 in 6a2e751
cfg.RPC.GRPCListenAddress = "tcp://127.0.0.1:9098" |
AdditionalStartArgs: []string{"--force-no-bbr", "--grpc.enable", "--grpc.address", "0.0.0.0:9090", "--rpc.grpc_laddr=tcp://0.0.0.0:9099"}, | |
AdditionalStartArgs: []string{"--force-no-bbr", "--grpc.enable", "--grpc.address", "0.0.0.0:9090", "--rpc.grpc_laddr=tcp://0.0.0.0:9098"}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it shouldn't actually matter which port is used here, but no harm being consistent with the default.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is dope!!
if we purposefully included a breaking change, then would this test will fail until node implemenets a fix? if so, should we add this in node instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks again!
imo, we should keep this not-blocking, and then play it by hear when it is breaking. most changes shouldn't break, but for times we change the square format etc when we expect breaks, we're out of luck until we bump node with those changes.
converting to draft, will bump to the new celestiaorg repo and re-open |
The base branch was changed.
<!-- Please read and fill out this form before submitting your PR. Please make sure you have reviewed our contributors guide before submitting your first PR. --> ## Overview closes #4623 (based on #4636 by @tac0turtle ) ~NOTE: this PR uses my personal fork of interchaintest. If people like this approach of testing, we can further clean up the fork and move it into the celestiaorg and possibly rename.~ This uses a new repo that leverages a lot of the logic that was in interchaintest to spin up docker nodes, but tailored to celestia. This PR adds the `E2ESimple` and `TestCelestiaChainStateSync` tests. Everything is also in a separate go mod to avoid introducing test dependencies into the main app go mod. In order to run the sync test locally, you can run the following commands. ```sh cd test/docker-e2e make test-e2e test=TestCelestiaChainStateSync ``` There is a follow up PR which bumps the test library to add support for bridge nodes #4778 <!-- Please provide an explanation of the PR, including the appropriate context, background, goal, and rationale. If there is an issue with this information, please provide a tl;dr and link the issue. -->
Overview
This PR introduces a new E2E test which deploys a celestia-app, txsim and a bridge node in docker and ensures that the bridge node syncs headers.This is still using my personal repo here which can be moved into the celestiaorg in the before or after merging this PR.A nice follow up to this test would be to do something which uses theBlockApi
to ensure we don't accidentally break compatibility.Little bit of scope creep on this PR, but it does the following.
This should ensure the core components are all functioning together. In a follow up, I will update the CI to pass a celestia-app image built on the PR itself to this test.