general idea and structure together
This commit is contained in:
parent
c0c744ab35
commit
e7924fd59f
2 changed files with 20 additions and 20 deletions
|
@ -1,3 +1,7 @@
|
|||
## 1.0.0
|
||||
## 0.1.0
|
||||
|
||||
- Initial version.
|
||||
- Initial version. (Experimental and WIP, do not use until a few versions later on)
|
||||
|
||||
## 0.1.1
|
||||
|
||||
- Readme clean up, from older name
|
||||
|
|
32
README.md
32
README.md
|
@ -1,5 +1,5 @@
|
|||
|
||||
# TorChat Dart Node
|
||||
# TorChat Dart SDK (Full Node)
|
||||
|
||||
<p align="center">
|
||||
<a href="https://haveno.com"><img src="https://foss.haveno.com/tor-project/torchat/raw/branch/main/assets/images/torchat-compressed-rounded.png" width=275 /></a>
|
||||
|
@ -7,12 +7,12 @@
|
|||
|
||||
----
|
||||
|
||||
A full, cross-platform **Tor/Arti-powered** TorChat written 100 % in Dart.
|
||||
Spin it up on Windows, macOS, Linux—even mobile or Raspberry Pi—no C tool-chain, no hassle.
|
||||
A full, cross-platform **Tor/Arti-powered** TorChat written 100% in Dart.
|
||||
Spin it up on Windows, macOS, Linux—even mobile or Raspberry Pi—no C tool-chain, no hassle, and most importantly, run a full node on your phone, without too much strain.
|
||||
|
||||
> **TL;DR**
|
||||
> `dart pub global activate whisper_node`
|
||||
> `whisper_node run`
|
||||
> `dart pub global activate torchat`
|
||||
> `torchat run`
|
||||
> Voilà: a fully-functional relay + client with gRPC endpoints and a sweet high-level SDK.
|
||||
|
||||
---
|
||||
|
@ -25,7 +25,7 @@ It exposes:
|
|||
| Layer | Purpose |
|
||||
|-------|---------|
|
||||
| **gRPC API** | Full power, language-agnostic. Auto-generated protobuf docs & stubs. |
|
||||
| **Dart SDK** | High-level classes (`WhisperClient`, `WhisperRelay`, `GroupChat`, …). |
|
||||
| **Dart SDK** | High-level classes (`TorChatClient`, `TorChatRelay`, `GroupChat`, …). |
|
||||
| **Tor/Arti wrapper** | Boots a hidden service automatically; no Tor install required. |
|
||||
|
||||
Perfect for bots, CLIs, desktop apps, or embedding in Flutter.
|
||||
|
@ -35,7 +35,7 @@ Perfect for bots, CLIs, desktop apps, or embedding in Flutter.
|
|||
## 🚀 Features
|
||||
|
||||
* **Multi-platform** – runs anywhere Dart VM runs ✔
|
||||
* **Automatic Tor/Arti** – `dart run whisper_node:tor` launches a hidden service for you ✔
|
||||
* **Automatic Tor/Arti** – `dart run torchat:tor` launches a hidden service for you ✔
|
||||
* **gRPC over onion** – multiplexed, binary, schema-safe ✔
|
||||
* **Envelope store-and-forward** – offline delivery with spam-PoW ✔
|
||||
* **Group chat** – federated membership & signed admin events ✔
|
||||
|
@ -49,9 +49,9 @@ Perfect for bots, CLIs, desktop apps, or embedding in Flutter.
|
|||
```bash
|
||||
# 1. Install Dart ≥ 3.4
|
||||
# 2. Install TorChat globally
|
||||
dart pub global activate whisper_node
|
||||
dart pub global activate torchat
|
||||
# 3. Run a node
|
||||
whisper_node run
|
||||
torchat run
|
||||
```
|
||||
|
||||
First launch will:
|
||||
|
@ -64,11 +64,11 @@ First launch will:
|
|||
|
||||
## 🔧 Configuration
|
||||
|
||||
`whisper_node.yaml` (auto-created in `$HOME/.whisper_node/`):
|
||||
`torchat.yaml` (auto-created in `$HOME/.torchat/`):
|
||||
|
||||
```yaml
|
||||
listen_port: 20900
|
||||
data_dir: ~/.whisper_node/data
|
||||
data_dir: ~/.torchat/data
|
||||
tor:
|
||||
enabled: true
|
||||
socks_port: 9050 # 0 = random
|
||||
|
@ -101,7 +101,7 @@ grpcurl -plaintext -protoset out/descriptor.pb \
|
|||
## 🛠️ Dart SDK snippet
|
||||
|
||||
```dart
|
||||
import 'package:whisper_node/whisper.dart';
|
||||
import 'package:torchat/torchat.dart';
|
||||
|
||||
void main() async {
|
||||
final node = await TorChat.bootstrap(); // starts Tor + gRPC
|
||||
|
@ -133,7 +133,7 @@ void main() async {
|
|||
|
||||
## 🤝 Contributing
|
||||
|
||||
1. `git clone https://foss.haveno.com/haveno-network/whisper_node_dart`
|
||||
1. `git clone https://foss.haveno.com/haveno-network/dart-torchat`
|
||||
2. `dart pub get`
|
||||
3. `dart test`
|
||||
4. PRs welcome — keep commits sign-off (`-s`) for DCO.
|
||||
|
@ -142,8 +142,4 @@ void main() async {
|
|||
|
||||
## 🛡 License
|
||||
|
||||
AGPL-3.0-or-later — code wants to stay free.
|
||||
|
||||
> _“They can block the site, they can censor the net — but they can’t stop the whisper.”_
|
||||
|
||||
---
|
||||
Apache-2.0
|
Loading…
Reference in a new issue