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

update dependency on libp2p from 0.4.0 to 0.32.1 #327

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

hayarobi
Copy link
Member

=== commit message

  • Fixed code that was not backward compatible due to the interface change.
  • Fixed failed unit tests.
  • Regenerate mock classes with newer gomock version.
  • Improved documents of code generations of mock classes.

@hayarobi hayarobi added check hardfork Run sync test with the PR refactoring labels Nov 28, 2023
@kroggen
Copy link
Member

kroggen commented Nov 28, 2023

The branch from #328 can be merged together with this one into a new branch to run the sync test

So both can be tested at the same time

@hayarobi
Copy link
Member Author

The branch from #328 can be merged together with this one into a new branch to run the sync test

So both can be tested at the same time

I will rebase my commits on #328 and add some more fixes. The default security policy of libp2p looks stronger, so it prevent connection to node of old versions of libp2p.

@kroggen kroggen mentioned this pull request Dec 1, 2023
@hayarobi
Copy link
Member Author

hayarobi commented Dec 5, 2023

There found critical backward incompatibility in libp2p-v0.32.1. I will try to apply intermediate version for smooth upgrade. This PR will be closed, and I will make new PR.

@kroggen
Copy link
Member

kroggen commented Dec 5, 2023

So this means that the update will be made via 2 releases?

@hayarobi
Copy link
Member Author

hayarobi commented Dec 6, 2023

Maybe, or not.
Current version of libp2p requires security layer such as TLS, but the version of libp2p in Aergo doesn't provide it.

I reviewed the libp2p source and decided that there was no way to make the security layer optional. So, at first, the idea was to release an intermediate version that optionally supported the security layer, wait for all nodes accessing the public chain to be replaced with that release, and then release a new version with a current libp2p that requires only security layer.

But, I found some intercepter interfaces of libp2p after that. Today, I plan to investigate that intercepters a little more to see if there is a way to control security settings. If this is possible, it would likely be possible with one release.

- Added Noise and TLS1.3 rot security protocol
- Deprecated previous security protocol SECIO
- Add options for turning on deprecated security protocol
- Fixed code that was not backward compatible due to the interface change.
- Fixed failed unit tests.
- Regenerate mock classes with newer gomock version.
- Improved documents of code generations of mock classes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
check hardfork Run sync test with the PR refactoring
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants