ロードマップ
Raiznetはまだ1.0前です。このページは、存在するものと設計されているものの正直なマップです — これらのドキュメントの他のすべてのページは、設計段階の機能をその旨マークしています。
今日実装済み
- 署名付きテレメトリの取り込み — 決定論的な rawストリング に対するEd25519署名で、登録済みデバイス鍵に対して検証され、冪等なバッチ取り込みを行います。
- デバイス登録 — ファームウェアからの遅延(lazy)登録による
POST /v1/devices。 - フィールドごとのプライバシー —
plain/encrypted/omitの処分(disposition)と宛先ごとのオーバーライドで、取り込み時に適用されます(プライバシーモデル)。 - デュアルエンドポイント、デュアルデータベース — 公開(
:3000、raiznet_public.db)とローカル(:3001、raiznet_private.db)を1プロセスで、データベース層で分離します。 - ノードアイデンティティ —
DATA_DIR/identity.mnemonicのBIP-39ニーモニック、決定論的に導出されるEd25519鍵ペア。 - リファレンスファームウェア — ESP32のキャプティブポータルによるプロビジョニング、BIP-39の所有者アイデンティティ、フラッシュ摩耗を考慮した
seq管理、確認まで再送。
設計段階
これらは(このドキュメントとADRで)仕様化されていますが実装されていません。詳細は変わる可能性があります。
- Rustノード(
raiznetd) — ランタイム依存のない単一の静的バイナリとして、非常に小さなARMボードを狙う、ノードの挙動互換な再実装。 - 署名付きイベントログ — ノードごとの追記専用・ハッシュチェーンされたログをソースオブトゥルースとし、SQLiteはそこから派生インデックスとして再構築されます(ADR-002)。
- ノード間複製 (ADR-004) — sync v1: 設定済みピア間のHTTPプル(LAN、VPN、公開IP)。sync v2: 既存のRust製P2P基盤上に構築されたpubkeyダイヤル方式のトランスポート(iroh が主要候補、採用前に実際の地方の4G/CGNATリンクで検証)。コミュニティが運営するリレーを用い、特権的ゲートウェイにはしません。
- ネットワーク、フィルター、カタログ — topic、
NetworkManifest、構成可能なMACフィルター、CropCatalog(ネットワークとフィルター)。 - ローカルエンドポイント認証 — ユーザー鍵による所有者のチャレンジ・レスポンス(ローカルAPI)。
- 所有者の統合ビュー — ローカルエンドポイントで公開+プライベートの読み取りを
(device_pubkey, seq)で統合。 - 正規のProtobufエンコーディング — Protobufスキーマ からのバイナリワイヤフォーマット。互換性のためJSONも残ります(ADR-001)。
- 取り込みのハードニング — 署名されたrawストリングとJSONの利便フィールドの厳格なクロスチェック。
- ESP-NOWデバイスメッシュ — バッテリーセンサーが商用電源の近隣を介してリレー。
将来
- DeviceClaim / DeviceTransfer — 所有権チェーンのイベント(デバイスのライフサイクル)。
- デスクトップアプリ(Tauri) が完全なノードを同梱、そしてモバイルアプリ。
- インテリジェンス層 — ローカルエンドポイント上のMCPサーバー、地域集計、作物の集団的キャリブレーション(集団的インテリジェンス)。
互換性ポリシー
公開API と テレメトリ のページに記載された契約は、現行ファームウェア世代について凍結扱いです。現場のデバイスを壊すような変更(ステータスコード、重複のセマンティクス、rawストリングの文法)は、明示的なバージョニングの背後でのみ行われます。