æternity Dev-Log: 17–03

A short list of tasks we have been busy with.

  • Improvements to Trie and Dump (our persistence lib) landed in those dependencies. We have better test coverage and have a detailed ToDo list regarding further optimizations. We hold up with implementation, because we need another, more sophisticated test to check areas suspected for functional breakage. We will look at alternatives to Dump lib, which is persistence layer to trie. The new load tests executed from trie level will guide the final choice.
  • A whole bunch of APIs got ported to Swagger. While working on that, we changed JSON API objects making them more descriptive (full json objects in favor of JSON lists before). Swagger does validation and exposes yuml and JSON Schema files for frontend developers and clients. We are approaching 50% of the scope. We will be occupied with that in the next 1–2 weeks. The Swagger JSON API currently runs in parallel to the old one and we can compare test results.
  • One of the side effects of work on Swagger is the further isolation of code in new project apps. The business logic is now moved to ae_api app and the http implementation lives in ae_http. This is a great way for us to introduce entry level tasks for community members. For example: Start implementing API using new protocol: GraphQL, ProtoBuffs… etc. The code is totally isolated and could be used as a sandbox for newcomers.
  • There is ongoing work around syncing process and handling peers. The gossip protocol is ready but the PR needs more debugging and polishing.
  • Markets are in!
  • Since a couple days, headers are first-class objects in our system. This is tremendous optimization for syncing and improvement for handling blocks. It opens a way to implement a switch and run as a lite node.
  • We started using Github Project Boards! From now on you can watch our every move 😉 Its not fully up to date with the JIRA that we are migrating from, but it will soon be the only planning tool.
  • Devops improvements: every Pull Request and Push is tested by our test suit run in TravisCI. Every PR must be reviewed by another team member.
  • Last but not least, we are bootstrapping the frontend team!

What’s next up?

  • Finalize work on Trie and persistence.
  • Cli app to needed to wrap calls from within blockchain to external API of remote peers.
  • Continue with Swagger — we need to unblock frontend team by delivering stable and usable API.
  • Land the improvements around Sync and Gossip.
  • Moarrrrr tests!!!!

Join æternity in GitHub | Follow us in Twitter | Like our Facebook page


Leave a Reply

Your email address will not be published. Required fields are marked *