@ringsnetwork/rings-node v0.2.1
rings-node
Installation
from cargo
cargo install rings-node --features daemon
from source
git clone git@github.com:RingsNetwork/rings-node.git
cd ./rings-node
cargo install --path . --features daemon
Usage
Create a ECDSA secret key. And put it to
.env
file:`rings-node new-secret-key` `echo <your security key> >> .env`
Run rings-node as daemon
`rings-node-daemon run`
ICE Scheme:
Peer A: { create offer, set it as local description } -> Send Offer to Peer B
Peer B: { set receiveed offer as remote description create answer set it as local description Send Answer to Peer A }
Peer A: { Set receiveed answer as remote description }
Keywords
Candidate
- A CANDIDATE is a transport address -- a combination of IP address and port for a particular transport protocol (with only UDP specified here). - If an agent is multihomed, it obtains a candidate from each IP address. - The agent uses STUN or TURN to obtain additional candidates. These come in two flavors: translated addresses on the public side of a NAT (SERVER REFLEXIVE CANDIDATES) and addresses on TURN servers (RELAYED CANDIDATES).
To Internet
|
|
| /------------ Relayed
Y:y | / Address
+--------+
| |
| TURN |
| Server |
| |
+--------+
|
|
| /------------ Server
X1':x1'|/ Reflexive
+------------+ Address
| NAT |
+------------+
|
| /------------ Local
X:x |/ Address
+--------+
| |
| Agent |
| |
+--------+
Figure 2: Candidate Relationships
- Channel
In the WebRTC framework, communication between the parties consists of media (for example, audio and video) and non-media data.
Non-media data is handled by using the Stream Control Transmission Protocol (SCTP) RFC4960 encapsulated in DTLS.
+----------+
| SCTP |
+----------+
| DTLS |
+----------+
| ICE/UDP |
+----------+
The encapsulation of SCTP over DTLS (see RFC8261) over ICE/UDP (see RFC8445) provides a NAT traversal solution together with confidentiality, source authentication, and integrity-protected transfers.
The layering of protocols for WebRTC is shown as:
+------+------+------+
| DCEP | UTF-8|Binary|
| | Data | Data |
+------+------+------+
| SCTP |
+----------------------------------+
| STUN | SRTP | DTLS |
+----------------------------------+
| ICE |
+----------------------------------+
| UDP1 | UDP2 | UDP3 | ... |
+----------------------------------+
Architecture
+-----------------------------------------------------------------------------------------+
| RINGS |
+-----------------------------------------------------------------------------------------+
| Encrypted IM / Secret Sharing Storage / Distributed Content / Secret Data Exchange |
+-----------------------------------------------------------------------------------------+
| SSSS | Perdson Commitment/zkPod/ Secret Sharing |
+-----------------------------------------------------------------------------------------+
| | dDNS | Sigma Protocol |
+ K-V Storage +------------------+------------------------------------------------+
| | Peer LOOKUP | MSRP | End-to-End Encryption |
+----------------------------------------+------------------------------------------------+
| Peer-to-Peer Network | |
|----------------------------------------+ DID / Resource ID |
| Chord DHT | |
+----------------------------------------+------------------------------------------------+
| Trickle SDP | ElGamal | Persistence Storage |
+----------------------------------------+-----------------------+------------------------+
| STUN | SDP | ICE | Crosschain Binding | Smart Contract Binding |
+----------------------------------------+------------------------------------------------+
| SCTP | UDP | TCP | Finate Pubkey Group |
+----------------------------------------+------------------------------------------------+
| WASM Runtime | | |
+-------------------| Operation System | ECDSA |
| Browser | | |
+-----------------------------------------------------------------------------------------+
Ref:
12 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago