Files
darkfi/todo.md
2021-09-08 16:54:54 +02:00

2.0 KiB

version 0

misc

  • random ID param for jsonrpc requests (bin/drk.rs)
  • merge cashier branch
  • update cashierd.rs to new config handling. note: password param in toml
  • sqlcipher: document install process or otherwise remove friction of using bundled version
  • remove default config from binaries and add to the readme
  • delete zkvm
  • SOL bridge poc
  • Optional Cargo "features" for cashierd/darkfid, to {en,dis}able different chains

deposit

  • drk: key generation
  • drk: deposit cli option
  • darkfid: check addresses are valid
  • darkfid: send drk public key to cashierd.rs over tcp, triggered by drk.rs
  • cashierd: receive BTC, mint dBTC (see tx.rs)
  • cashierd: push tx to rocksdb (type: deposit, signed by cashier key)
  • cashierd: watch address for deposit
  • cashierd: resume watch after restart
  • darkfid: poll gateway for new tx
  • darkfid: for every new coin received, add to merkle tree
  • darkfid: decode tx
  • darkfid: perform state transition function
  • darkfid: compute merklepath need to spend coin (see tx.rs)

withdraw

  • drk: withdraw cli option
  • darkfid: check address is valid
  • darkfid: send cashout request to cashier with btc pub key
  • cashierd: receive cashout request, reply with drk pub key
  • darkfid: send dbtc to the cashier drk pub key
  • cashierd: burn dbtc, send back btc (see tx.rs)

drk -> drk

  • drk: transfer cli option
  • darkfid: construct a new spend tx
  • darkfid: check address is valid
  • darkfid: build tx
  • darkfid: verify tx
  • darkfid: state transition function
  • darkfid: send tx data to rocksdb

blockchain

halo2

  • mint circuit poc
  • burn circuit poc
  • research port from jubjub to pasta (success)
  • research port from blake2b to sinsemilla and/or poseidon
  • solve poseidon gadget to hash >2 elements at a time
  • integrate with actual codebase

org

  • clean up shared repo and migrate to wiki