Skip to content
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

chore(deps): upgrade to celestia-app v2.0.0 #3453

Merged
merged 87 commits into from
Aug 7, 2024

Conversation

rootulp
Copy link
Contributor

@rootulp rootulp commented May 31, 2024

Update celestia-node to use celestia-app v2.0.0. A few changes that were needed:

  • celestia-app v1.x had a shares package. celestia-app v2.x uses the shares package from go-square.
  • celestia-app v1.x had a blob.types package with CreateCommitment. celestia-app v2.x uses CreateCommitment from the go-square inclusion package.
  • I had to update extended header verification to allow header.Version.App = 2. Added unit tests.
  • celestia-app v1.x had a lot of functionality included in the signer. celestia-app v2.x split a txClient from the signer. See: feat: add multi-account support celestia-app#3433
  • I had to update core_access.go a lot. Mostly inspired by feat: support multiple accounts #3451

Testing

I ran a script with: celestia-app v2.0.0-rc2 and configured it to upgrade at block height 3. celestia-node (built from this PR) continued to work:

2024-07-09T18:13:27.040-0400	INFO	header/store	store/store.go:367	new head	{"height": 2, "hash": "8776AEAF4114BD7E88E8DEC38445720D0BD857335BED99649957A43BB845EC87"}
2024-07-09T18:13:38.065-0400	INFO	header/store	store/store.go:367	new head	{"height": 3, "hash": "63D5C64521A964290BD21658314DDF60146AE419FE99026003048F74D2886B35"}
2024-07-09T18:13:49.093-0400	INFO	header/store	store/store.go:367	new head	{"height": 4, "hash": "FC7900918E716697A7CD6D9A4865B261F3E71D181F366E765AA53CF475223F9A"}

@rootulp rootulp self-assigned this May 31, 2024
@github-actions github-actions bot added the external Issues created by non node team members label May 31, 2024
@rootulp rootulp added the kind:deps Pull requests that update a dependency file label Jun 3, 2024
@rootulp

This comment was marked as outdated.

@renaynay renaynay added v0.15.0 kind:break! Attached to breaking PRs labels Jun 6, 2024
blob/blob.go Outdated Show resolved Hide resolved
state/core_access.go Outdated Show resolved Hide resolved
@rootulp rootulp marked this pull request as ready for review June 6, 2024 20:37
blob/blobtest/testing.go:31:25: copylocks: call of append copies lock value: github.com/celestiaorg/go-square/blob.Blob contains google.golang.org/protobuf/internal/impl.MessageState contains sync.Mutex (govet)
                blobs = append(blobs, *appBlob)
@renaynay renaynay removed the v0.15.0 label Jun 25, 2024
@rootulp rootulp marked this pull request as ready for review August 1, 2024 17:58
Because TestProveShares was failing due to nil pointer
@rootulp
Copy link
Contributor Author

rootulp commented Aug 1, 2024

@renaynay TestListener fails here because header validation fails:

2024-08-01T19:58:59.722Z	ERROR	header/p2p	p2p/subscriber.go:122	invalid header	{"from": "<peer.ID Qm*JPpk76>", "err": "app version mismatch, expected: 1, got 2"}

so I plan on reverting 79d8458 and then you can still rebase your PR on top of this one (or merge it into this one, whichever you prefer)

blob/helper.go Outdated Show resolved Hide resolved
go.mod Show resolved Hide resolved
go.mod Outdated Show resolved Hide resolved
Copy link
Member

@Wondertan Wondertan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked through every single file and the code changes are LGTM. Just have two Qs.

core/fetcher_no_race_test.go Show resolved Hide resolved
blob/blob_test.go Outdated Show resolved Hide resolved
@Wondertan Wondertan merged commit 8c405e1 into celestiaorg:main Aug 7, 2024
27 of 28 checks passed
@rootulp rootulp deleted the rp/support-v2 branch August 7, 2024 15:32
sebasti810 pushed a commit to sebasti810/celestia-node that referenced this pull request Aug 14, 2024
Update celestia-node to use celestia-app v2.0.0. A few changes that were needed:
- celestia-app v1.x had a shares package. celestia-app v2.x uses the shares package from go-square.
- celestia-app v1.x had a blob.types package with `CreateCommitment`. celestia-app v2.x uses `CreateCommitment` from the go-square inclusion package.
- I had to update extended header verification to allow `header.Version.App = 2`. Added unit tests.
- celestia-app v1.x had a lot of functionality included in the `signer`. celestia-app v2.x split a `txClient` from the `signer`. See: celestiaorg/celestia-app#3433
- ~~I had to update `core_access.go` a lot. Mostly inspired by celestiaorg#3451


## Testing

I ran a [script](https://gist.github.com/rootulp/73ee382b4d533cb9da27fc675e9047c0) with: celestia-app v2.0.0-rc2  and configured it to upgrade at block height 3. celestia-node (built from this PR) continued to work:

```
2024-07-09T18:13:27.040-0400	INFO	header/store	store/store.go:367	new head	{"height": 2, "hash": "8776AEAF4114BD7E88E8DEC38445720D0BD857335BED99649957A43BB845EC87"}
2024-07-09T18:13:38.065-0400	INFO	header/store	store/store.go:367	new head	{"height": 3, "hash": "63D5C64521A964290BD21658314DDF60146AE419FE99026003048F74D2886B35"}
2024-07-09T18:13:49.093-0400	INFO	header/store	store/store.go:367	new head	{"height": 4, "hash": "FC7900918E716697A7CD6D9A4865B261F3E71D181F366E765AA53CF475223F9A"}
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
external Issues created by non node team members kind:break! Attached to breaking PRs kind:deps Pull requests that update a dependency file v0.16.0 Intended for v0.16.0 release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants