Dev Team Meeting Notes Follow the progress and current focus of æternity’s development team.

All meeting notes are stored in GitHub and shared by the dedicated Twitter account of æternity’s CTO, Joel Reymont. The collection of notes below is an overview and will be updated once a week.

Project Board  Project MilestoneMeeting Notes 13–09–2017 Summary

1. Settle on the proof of account balance.

2. Use websockets for the local communications with the node. The node-to-node API will use HTTP.

3. Update the design section of the wiki.

Meeting Notes 12–09–2017 Summary

1. Include proofs of account balance modifications in the block to avoid processing the blockchain since genesis to build the account tree.

Meeting Notes 11–09–2017 Summary Discard SHA256 PoW.Start the Dumb blockchain sprint. The goal is to have a fully functional blockchain with limited functionality, i.e. just block mining. We’ll make it release 0.1 and put it out there for people to play with.Meeting Notes 08–09–2017 Summary Treat Cuckoo Cycle access as a limited resource.Build a finished product every sprint. Epoch will be a blockchain in progress but fully working at the end of each sprint, always gaining new features. Users will be able to download the software and run it, confirming that it meets the goals defined for the sprint.Start the Dumb blockchain sprint next Monday.Meeting Notes 08–09–2017 Summary We have a new member of the team.Cuckoo Cycle PoW is done and waiting to be merged.We are still clarifying the state of the world.Start new milestone next Monday.Label closed tickets in this sprint according to how long it took to finish them.Meeting Notes 07–09–2017 Summary We have a new member of the team.Cuckoo Cycle PoW is done and waiting to be merged.We are still clarifying the state of the world.Start new milestone next Monday.Label closed tickets in this sprint according to how long it took to finish them. Meeting Notes 06–09–2017 Summary Added unit tests to Cuckoo cycle, they are working. Verification is taking too long.Use extranonce when nonce overflows.Add new transactions while mining a block.Implement service to hold blocks and headers in memory.Build state of the world by processing the blockchain since inception.Update state of the world when receiving blocks.Meeting Notes 05–09–2017 Summary Finished in-memory merkle trees.Compile the Cuckoo Cycle and test today. Use NIFs to integrate with Erlang.Proceed with block implementation. Track time and difficulty.Backlog local caching of state of full nodes, no persistence between restarts for now.Light nodes will ask full nodes for proof of balance.Put block design on the wiki.Meeting Notes 05–09–2017 Summary Extend sprint 1 by another week.Estimate tickets when assigning them at the standup. Need a few more sprints to make it happen.Clarify assumptions more frequently.Use John Tromp’s C/C++ library for the Cuckoo Cycle PoW. Integrate it with Erlang.We need Ethereum-like state trees but do we need a proof of absence? Discuss.Meeting Notes 31–08–2017 Summary Discard peering design as too complex. Keep it simple!Be bold, don’t be afraid to make mistakes! Challenge authority but have good arguments ready.Daily standup meetings are obligatory. Excuses accepted.Settle on a good Merkle trees approach. No persistence needed as trees will be serialized with blocks.Serialize blocks in a format easily parsable by Javascript clients.Persist blocks in RocksDB.Investigate storing proofs with transactions.Understand Merkle Patricia trees and their use in Ethereum.Meeting Notes 30–08–2017 Summary Follow a PR checklist. Make sure commits are squashed, message is good, tests, docs, etc. are present.Reuse existing Cuckoo Cycle PoW code rather than write our own from scratch.Add RocksDB to the project skeleton and start on Merkle trees.Implement SHA256 mining.Collectively review and poke holes in the peer and sync design.Interview 2 more Erlang developers.Meeting Notes 29–08–2017 Summary We are on track but haven’t reached cruising speed of development yet.Avoid estimate labels for the first few sprints and until we settle into a steady rhythm.No over-engineering. We are short on time so we want to do things right but not strive to make them perfect.PRs should come with unit and/or integration tests. Assign new tickets and add them to the current sprint as PRs are merged.Hold technical discussions in Github tickets.Meeting Notes 28–08–2017 Summary Use the Monday standup for sprint planning and the Friday one for a recap of that week.Revisit the sprint throughout the week, adding or removing tasks.Give it a few weeks to calculate our average development speed then try to estimate the project.Some tickets may be too general and will serve as a tracking umbrella for others.Meeting Notes 25–08–2017 Summary Use Github for project management: Label tasks as small, and Medium or large Group tasks into sprints/milestones.Create tickets/issues for known tasks.Figure out the project timeline.Investigate using LevelDB for data storage.Meeting Notes 25–08–2017 Summary Deliver on the vision in the original whitepaper, i.e. implement payment channels, oracles and smart contracts.Revise the original whitepaper to focus on the above. Remove non-essential stuff like betting markets implemented over channels.Question all assumptions, e.g. whether nodes should communicate over HTTP, what the API should be, whether users need to pay to maintain accounts, etc.Do it better and faster than before.Develop in the open, after taking the old repo private to avoid confusing users.Ensure token distribution in the genesis block.Ensure voting on code upgrades (governance).