9 releases
new 0.1.4-beta | Oct 22, 2024 |
---|---|
0.1.3-beta | Aug 14, 2024 |
0.1.1-beta | Jul 26, 2024 |
0.0.13-alpha | Jun 17, 2024 |
0.0.11-alpha | May 17, 2024 |
#1872 in Network programming
1,789 downloads per month
Used in 2 crates
(via tx5)
155KB
3.5K
SLoC
- ⚠️ This code is new and should not yet be considered secure for production use!
Tx5
- tx5 - - The main holochain tx5 webrtc networking crate integrating the other code in this monorepo.
Tx5 Support Crates
- tx5-connection - - Holochain webrtc connection.
- tx5-core - - Core types used in other tx5 crates.
- tx5-online - - Network online connectivity status events.
- tx5-go-pion-turn - - Rust process wrapper around tx5-go-pion-turn executable.
- tx5-go-pion-sys - - Low level rust bindings to the go pion webrtc library.
- tx5-go-pion - - Higher level rust bindings to the go pion webrtc library.
- tx5-signal - - Holochain webrtc signal client.
- tx5-demo - - Demo showing off tx5 p2p connectivity.
tx5-connection
Holochain webrtc connection. Starts by sending messages over the sbd signal server, if we can upgrade to a proper webrtc p2p connection, we do so.
WebRTC Backend Features
Tx5 can be backed currently by 1 of 2 backend webrtc libraries.
*
DEFAULT*
backend-go-pion
- The pion webrtc library writen in go (golang).backend-webrtc-rs
- The rust webrtc library.
The go pion library is currently the default as it is more mature and well tested, but comes with some overhead of calling into a different memory/runtime. When the rust library is stable enough for holochain's needs, we will switch the default. To switch now, or if you want to make sure the backend doesn't change out from under you, set no-default-features and explicitly enable the backend of your choice.
Dependencies
~18–35MB
~567K SLoC