Skip to content

Dev Roadmap

Philipp Piwo edited this page Oct 25, 2017 · 37 revisions
  • finish chainstate checks #10
  • remove transactions from pool on adding block #59
  • mining for number of cycles to allow fast suspending #60
  • write test-suites for basic blockchain #57 #58
  • increment transaction nonce for every outgoing transaction #70
  • add fee to transaction #83
  • check public key length in transaction validity #84
  • validate difficulty target #85
  • refactor chain to be map of blocks, traverse top to bottom #88

release 0.1-local-blockchain

  • sync ping-pong example #41 #52
  • manually add peers #53
  • provide get all peers endpoint #78
  • provide get_info endpoint #69
  • periodic check for peers current block hash #77
  • broadcast new block to all peers #75
  • broadcast new transactions to all peers #68
  • provide get_block_by_hash endpoint #76
  • format addresses in json as base58 #86
  • continue mining on newest block, if received #80
  • implement initial sync from latest block to genesis block
  • ignore own peer in handling peers #79
  • recognize invalid chain
  • implement nakamoto consensus, follow longest valid chain
  • endpoint to fetch balance from chainstate account #89
  • endpoint to get transactions from pool concerning account #90
  • add list of transactions concerning account to chainstate (block_hash, tx_hash) #91
  • endpoint to get transactions concerning account from chain #92

release 0.2-synced-blockchain

  • write blockchain and chainstate to disk on shutdown
  • read blockchain and chainstate from disk on startup
  • use rocksdb to read/write blocks by hash
  • use rocksdb to read/write chainstate by address/pubkey

release 0.3-synced-persistent-blockchain

Clone this wiki locally