-
Notifications
You must be signed in to change notification settings - Fork 38
Dev Roadmap
Philipp Piwo edited this page Feb 28, 2018
·
37 revisions
- check chainstate in transaction validity #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
- add lock time to transaction #125
- replace key worker with elixir-wallet #132
- make a min transaction fee mandantory and configurable per byte #131
- make coinbase transaction time locked #138
- 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
- ignore own peer in handling peers #79
- implement initial sync from latest block to genesis block #97
- 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
- when being added by a new peer, try to add it as well #116
- after adding a peer add his peers #111
- move dead peer removal to sync worker #112
- sync worker state functions #113
- refactor serialization to be in aeutil #114
- getting random peer from peers we connect to #115
- implement nakamoto consensus, follow the latest valid chain #133
- 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
- lazy load data from rocksdb if needed
- internal api functions protected by key (from env) to control node #134