Comments (5)
@vans163 yes we will go with msgpack. Wire protocol is coming soon, we need to polish that.
from protocol.
Since msgpack has some quirks when it comes to deterministic representation RLP (https://github.com/ethereum/wiki/wiki/RLP) is used for serialization of objects and P2P messages. An overview of the sync protocol is HERE and the exact messages are documented HERE
from protocol.
Iv been following EoS and company, the P2P connections between light nodes is very useful to build all sorts of use cases. They accomplish it by having STUN/Turn like peer nodes to help establish these connections. But these solutions all use TCP (with TCP holepunch), a UDP solution would be really useful. Something like SCTP where the peer can select if they want a reliable+ordered, or unreliable channel.
from protocol.
Keeping as many nodes as possible in the p2p network is definitely a goal.
Something like SCTP, that allows both modes, would be nice but from a quick glance, SCTP seems like a bad candidate, though, given that it needs special drivers for both Windows and MacOS and would probably run into problems with middleboxes.
With that said, we will almost certainly end up using both TCP and UDPβor maybe something from the userland, QUIC-like.
from protocol.
@knarz Allowing TCP and UDP nat holepunching plus P2P connections would be awesome. Is there any confirmation on this? P2P connections + inchannel smart contracts can lead to some very interesting use cases.
My vote would be against QUIC. If someone wanted to implement quic and they have UDP available (with nat holepunch/p2p signalling), they can. QUIC is too complex and growing at its current stage, it would be problem ridden and time consuming.
from protocol.
Related Issues (20)
- Document FSM ID
- Missing content and examples in contracts/contract_life_cycle.md
- Add built-ins to sophia-stdlib HOT 1
- Client reconnect should be cleaned out from documentation
- Document that sideeffects from failed protected remote calls are rolled backed HOT 1
- Update generalized account example HOT 10
- Name AE "coins" instead of "tokens"
- Document that inner transaction of PayingFor should be signed with `inner_tx` in prefix
- The link to outdated whitepaper leads to 404 page HOT 1
- Clarify measuring of inner tx length for PayingFor's gas HOT 3
- Hidden dual mining in T-Rex
- Is "off-chain" a single word or two?
- Is there a case when proof of inclusion contains multiple trees in a single key?
- `gas_price` field of Contract call looks suspicious in state channels
- How should be encoded key of contract calls' state tree?
- Inconsistent naming of MPTree entries
- Consider using PING/PONG on WebSocket protocol level instead of explicit messages
- mkdocs: 404 page misses styles
- Document name update transaction v2
- Document ping v2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from protocol.