# Start Here

<figure><img src="https://camo.githubusercontent.com/1e8e8235037707bbdc8e2a24242e5874b8be89b971f0ae552585b46398971b6f/68747470733a2f2f7374617469632e72696e67736e6574776f726b2e696f2f72696e67736e6574776f726b5f6c6f676f2e706e67" alt=""><figcaption></figcaption></figure>

Rings Network is a purely peer-to-peer network implementation. We use WebRTC to establish peer connections, and use WebAssembly to allow nodes to run in the browser. Rings Network uses the DHT (Chord) algorithm for message routing/addressing.

By introducing decentralized PKI (public key infrastructure) such as Ethereum and Bitcoin, we have built a series of cryptographic-based network infrastructures. For example, we support end-to-end and hop-by-hop encryption systems, service discovery and registration systems based on resource hashes, and so on.

## # Getting Start

Rings Network is being developed using the Rust programming language. The code can be compiled into either WASM or Native format, depending on the specific requirements of different scenarios. For a better understanding of Rings Network, we suggest starting with a Native Node.

#### Start with Native Node

Before starting, make sure you have Rust installed. Follow the [official instructions](https://www.rust-lang.org/tools/install) to install Rust.

[Native Node](/rings-network/native-node/install-a-native-node.md)

#### Start with a WASM Node

[Build for Wasm](/rings-network/wasm-node-webassembly-for-browsers/build-for-wasm.md)

## # Architecture

The Rings Network architecture is streamlined into five distinct layers.

For more details, please check [Architecture](/rings-network/advanced-topic/architecture.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rings.gitbook.io/rings-network/introduction/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
