-
Notifications
You must be signed in to change notification settings - Fork 8
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
Off-chain communication via libp2p #106
Comments
In GitLab by @fahree on Jan 23, 2021, 06:23 Instead of copy/pasting the handshake from one terminal to the other using A followup issue will be negotiating the agreement off-chain, too. |
In GitLab by @fahree on Feb 15, 2021, 23:57
|
In GitLab by @ApolloUnicorn on Mar 6, 2021, 01:49 unassigned @Akaa |
In GitLab by @ApolloUnicorn on Mar 6, 2021, 01:49 assigned to @alexfmpe |
In GitLab by @ApolloUnicorn on Mar 17, 2021, 19:36 unassigned @alexfmpe |
In GitLab by @ApolloUnicorn on Mar 18, 2021, 00:01 |
In GitLab by @fahree on Apr 8, 2021, 16:45 changed the description |
In GitLab by @fahree on Apr 8, 2021, 16:46 changed the description |
In GitLab by @Akaa on Jun 16, 2021, 07:41 |
In GitLab by @kwanzknoel on Sep 16, 2021, 02:43 Note: That being said, it should be straightforward to takeover maintenance, as it is just "glue code" around We could also consider js-libp2p-daemon, which is actively maintained. |
In GitLab by @kwanzknoel on Sep 16, 2021, 02:47 Future considerations:
|
In GitLab by @kwanzknoel on Sep 18, 2021, 03:37 assigned to @kwanzknoel |
In GitLab by @fahree on Jan 23, 2021, 06:20
PoC
- [ ] Do a first pass that communicates via messages on CED and/or the fastest test blockchain we support.Barebones
See: #392, for areas to refactor.
Pending review: #398.
This PR supports running the
buy_sig
interaction locally, over the libp2p channel. It is specific to 2 participants, and it requires users to explicitly declare who starts the interaction.In the long run, we need to support more than 2 participants, and remove the constraint that users have to explicitly declare who starts the interaction. See the
#Fully Featured
section below for details for other areas which need to be implemented as well.Fully featured
Later when daemon starts spawning write processes, we will need this.
Or, if there are multi daemon's running against a single queue.
multiaddr
to glowQ: Why not just have a multi_addr field?
A: During startup we can't supply the multi_addr field to the daemon. It derives the PeerID segment of the multi_addr from the identity's private key.
We can supply the ip_addr however, to specify where we want to listen from.
Q: Why not just have an ip_addr field?
A: Other participants cannot use just ip_addr, they need peerID + ip_addr to communicate through libp2p.
Currently this is done in two places (earlier for libp2p, later for stdio off-chain-channel),
to support backwards compatibility with the existing integration tests which use
stdio
.buy-sig-libp2p
integration test is working locally, but failing in CI.Overview of interaction via libp2p
Runtime interaction via libp2p (edit here).
Whoever starts the interaction (in this scenario Alice), should already know the multiaddr of the other participant. This information should be in the
contacts
store.Internals with libp2p daemon and buffer
Probably not what we want, libp2p does support buffering already. We should just reuse that.EDIT:
gerbil-libp2p does have buffered streams, but you do not have access to the underlying buffer, only each stream.
Hence you would still need to have a buffer, which the listening thread pushes incoming messages to.
For example if you receive an agreement and handshake,
where the handshake is only used much later in the runtime,
you would store that handshake in a buffer first, and fetch it later when you need it.
So this approach is still needed:
edit here:
The text was updated successfully, but these errors were encountered: