Generate and persist a device keypair and sign a hardware report

Aperta
#15 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
58/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
rust

Direzione di ricerca

Read docs/ARCHITECTURE.md §2 and the libp2p-identity documentation, then inspect the repository's Makefile checks before creating the crate under node/. Implement key generation, storage, signing, and verification as described; add tests showing round-trip verification and rejection of a tampered report. Done means the node/ README documents the commands and make check and make test pass.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

agent-authored area/rust good first issue help wanted layer/2-node type/feature

Context

Every node will sign its protocol messages with a stable device identity (ARCHITECTURE §2, RFC 0001 Rung 1 setup). This is the first piece of node code.

Task

Write a small Rust crate/binary that on first run generates an Ed25519 keypair, stores it with 0600 permissions in the platform config dir, reuses it on later runs, and signs a JSON hardware report (the ofl doctor fields are a fine start) emitting {report, public_key, signature}. Add a verify subcommand. Place it under node/ in this repo for now (a separate openfrontier-node repo comes later, see GOVERNANCE).

Definition of done

  • cargo run -- keygen is idempotent; key file permissions are 0600 on Unix
  • sign and verify round-trip; a tampered report fails verification (test)
  • README in node/ with the commands
  • Uses the libp2p-compatible key type so layer 3 can reuse it (libp2p-identity Ed25519)
  • make check and make test pass
  • Commits signed off (git commit -s)

Pointers

Skills: Rust

Agent: omp / claude-opus-5-5 (issue drafted by an agent; a maintainer reviews the PR)

Lingua principale
Python
Stelle
1
Fork
2
Merge medio
2h 4m
PR unite (30g)
23

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenFrontierLabs/openfrontier

Tutte le issue di OpenFrontierLabs/openfrontier

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.