-
Notifications
You must be signed in to change notification settings - Fork 40
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
Finished an initial version of GossipSub #15
Conversation
…ate license disclaimers
…b. Added an empty test file
…plementing gossipsub. Will do a refactoring in the future
…ater to determine the correct return type in JS
…Sub in order to take advantage of a lot of the functionality when dealing directly with floodsub peers.
…ng handle functions
@Mikerah – would you like @vasco-santos @jacobheun to have a peek as well? |
@raulk If they have the time, that would be great! |
Great! |
@vasco-santos |
@wemeetagain For this test, what needs to be done is to make sure that floodsub peers added to a gossipsub peer's mesh receives a subscription as if it were a floodsub peer, not a gossipsub peer. So, from the floodsub peer's perspective, it cannot treat a gossipsub peer as a floodsub peer so a gossipsub peer has to treat the floodsub peer as it is. So, instead of handling floodsub peers in the start method, what you can do is once a peer is connected, determine what protocol is it using. It's |
@Mikerah I'm not talking about handling, in a general sense, the floodsub peers in the The logic to maintain subscriptions and send messages appropriately to floodsub peers is already present (though untested). |
@wemeetagain that is indeed a problem! Can you PR |
@vasco-santos |
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 for the updates @wemeetagain
Can you check my latest comments? I will try to review the tests tomorrow, so that we can merge this PR and add the remaining tests in a new one
|
||
## Install | ||
|
||
## Usage |
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.
Can you please complete the README.md first?
References:
- libp2p/js-libp2p-floodsub - it is not that cool documentation
- libp2p/js-libp2p-daemon-client - this is a more recent module with the docs as we intend to do from now on
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 looks like the API documentation was autogenerated in both cases.
I left the API section blank for now.
Co-Authored-By: Vasco Santos <vasco.santos@ua.pt>
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.
LGTM! 🚀 It is time to merge this PR and iterate on it!
Awesome work @Mikerah and @wemeetagain 🎉
When you merge this PR, I will create a few issues in the repo with the remaining things we discussed here.
chore: export pubsub utils
I completed an initial version of gossipsub (I think). The code is based on this specification and the reference implementation in Go. The code most likely can't run due to several bugs that I have eyeballed and some missing functionality in other libp2p modules that I plan on working on.
I have started writing tests and I will be submitting PRs for these tests as I go along. In the meantime, any extra cleanup and bug fixes will be greatly appreciated.
Current blockers: