Home
Maxime Devos редактира тази страница преди 3 години

Guix + gnunet links:

Guix + IPFS: https://issues.guix.gnu.org/33899

  • DONE: system service (ipfs-service-type)
  • TODO: test stuff
  • TODO: IPFS links
  • TODO: more TODO

Services

  • rehash-append-service: append-only database, periodically publishes entries into the DHT. (why?)
  • [ ] rehash-store-service: queries datastore, periodically publishes entries into the DHT. partially implemented

    • Done, possibly brokenly: send mapping into the DHT, search for mappings in the DHT
    • TODO: put mappings in the datastore, search for mappings in the datastore, periodically publish stored mappings
    • TODO: can we push mappings onto other peers, like gnunet's FS service does? (using replication_level) Does this happen automatically
    • TODO: perhaps a REST API?
    • [ ] rehash-rest-service: rest API for use by Guix? Maybe implement in Scheme

      Language support

  • [x] C (librehash is implemented in C, minus missing features)

  • [x] guile scheme: basic bindings almost completed modulo bugs

  • [x] guile scheme: replace gnunet scheduler with guile-fibers (more-or less done)

  • [ ] TODO: figure out natural interface for use by guix. Concurrency, guile-fibers, the GNUnet scheduler

    Documentation

  • [ ] TODO use this structure

  • (to be renamed to (gnunet fibers) perhaps?)

  • (bindings to C interface with little massaging)

  • (a nice Scheme interface)

    librehash components

  • [x] util: hash manipulation (no service dependencies

  • [x] dht: insert / query for hash->hash mappings on the DHT (rather basic combination of GNUnet DHT API and librehash-dht/crypto, but that's all what's necessary for librehash-dht)

  • [ ] api: communication with the daemon (partial) missing: send aborts to daemon, handle responses

  • [ ] librehash-store: insert hash mappings into the datastore + publish, or search for hashes in the datastore + DHT partial, only DHT, memory leaks

TODO Example: web client

Select a hash type and enter the hash in hexadecimal. (or gnunet://fs/... URI). Select another hash. Press PUT / SEARCH. TODO restify for use by guix maybe