-
Notifications
You must be signed in to change notification settings - Fork 13
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
PubSub/Feeds #13
Comments
No flooding needed, and we have persistence requirements. Plus it's really straightforward to implement the network parts with libp2p streams, we don't need anything special. Overall approach:
|
I think we want to limit the scope on this, as it is a big topic and not quite necessary for v1. What we need instead for v1 is the query protocol (#22 ) and merging of remote data sets (#25 ). |
I think we should implement it totally in RSS way, with polling and merging. |
That's fine by me. I think the most lightweight implementation is best right now, and poll + merge (or just merge on demand, really) is that |
Implementation suggested by Matthew Roberts on top of kad: https://github.com/kadtools/kad-quasar (paper) Apparently storj uses it in production, described in this vid.
|
Another thought... The nice thing about https://github.com/libp2p/go-floodsub is that it establishes the interface, so higher-level development can proceed with assumption the underlying implementation will be come performant at some point w/o worrying about details. We can do something similar with polling.. |
@denisnazarov not sure the iface would be the same for non-flooding impl |
@parkan wanted to revisit this, since we've made lots of progress on mediachain foundations since opening this issue. after speaking to @haadcode earleir, he suggested it would be fairly trivial to implement pubsub features from orbit-db to notification features to our namespaces. goal is to implement this as a prototype to showcase the potential of the tech (not meant to be production grade), as well as to bridge our communities and show how mediachain and orbit-db/ipfs are collaborating, and that the sum of the technologies is something really cool ideal demo would be something like a "decentralized instagram" where two people publish to the also down to consider an api that uses polling under the hood and could be switched out for more robust pubsub in the future? |
EDIT: mangled this during a stale edit, see below |
Hey,
I'll want to provide you a clear documentation on how ipfs-log works, both
generally and in terms of linearization. I don't think I'll have time
before Monday, so hopefully you can wait till then. However, if you're in
rush to understand it, take a look at the open PR "immutable log" in
haadcode/ipfs-log, entry points are append() and join(), play with the
tests and use log.toString() to see what it outputs and how it behaves.
Essentially ipfs-log sorts the forks on join deterministically, and upon
join EventStore will update its index ("view") as a last write wins crdt.
It's a partial order as opposed to absolutely order (for which consensus or
coordination would be required in order to produce a sequence nro or
similar)
Hope this helps! Looking forward to see what we can do and dinstagram
sounds like an amazing demo to put our tech together! :)
Samuli
…On Jan 13, 2017 00:01, "Arkadiy Kukarkin" ***@***.***> wrote:
Basically participating nodes can instantiate a corresponding
orbit-db-eventstore <https://github.com/haadcode/orbit-db-eventstore>
Documentation on how they implement the linearization is sparse and last I
saw it was based on attaching to last known head with no clear way to
resolve forks, so need to read through the code to see how that works.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#13 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHJvruh0aWb5YCnUtTsSlgjBDg6G9l4Hks5rRrDRgaJpZM4J_F9->
.
|
Ooops apparently I left these unposted somehow yesterday? @haadcode addressed this somewhat already so posting as a separate comment for the record Basically participating nodes can instantiate a corresponding orbit-db-eventstore and ping it for each statement written to the corresponding namespace. Unclear things:
|
@haadcode thanks for chiming in, looking forward to exploring this together! No rush, let us know when you have a chance for a more in-depth technical discussion. |
Using flooding for now
@whyrusleeping mentioned that some pubsub support was shipped in libp2p?
The text was updated successfully, but these errors were encountered: