Status Update

March 15, 2018

Status Updates (March, 2018) > March 15, 2018

Weekly Development Report

CORE

Last week, the team prepared a pull request, aimed to finish the upgrade to GHC 8.2.2 (Glasgow Haskell Compiler). However, the pull request is currently blocked due to two CI errors. The team has requested help from DevOps, and is currently looking for a solution. A proposal pertaining to creating specification for efficient block storage has been created and is awaiting review. The task of fixing the block version update has been delayed and is not planned to be completed during the current sprint. Additionally, benchmarking has been successfully completed for the HTTP-based block sync proof-of-concept. As for investigating and fixing issues pertaining to reliable shutdown, a new team member has been onboarded and is now contributing to the effort. Also, the segfault in rocksdb code which occurred during a shutdown is now corrected. Previously, stopping cardano-node using CTRL-C used to take one min. This has been investigated, a possible fix has been found and help has been requested from a specialist team member. The team feels confident that this problem will be fixed within one or two days.

  • Exchange Onboarding & Support

The team also tackled the task of documenting the new Wallet V1 API. The subset of V0 API ported to V1 has now been fully documented. This documentation includes a "Walk-through Wallet Manual" explaining basic use cases. The documentation is served via a dedicated endpoint on the API. New use cases are to be added in the coming days. A final review of the documents (typos, wording) will be done early next week. Finally, all needed endpoints for exchanges are ready to be ported to V1. Currently, the code can be used by the exchanges as a pre-beta version (this is done at their own risk). Testing has begun but is not yet complete. The team plans to gather feedback on the API (code and doc) from the exchanges in the coming days.

DAEDALUS

Implementation of the paper wallet certificate generator is nearly done. The team is working on code review and testing of this new feature.

WALLET BACKEND

  • Work on current wallet backend

Last week the team invested a considerable amount of time on decommissioning the Cardano-SL-1.0- exchanges branch. Unfortunately, the DevOps team did not have time to work on this user story due to higher priority tasks. The Wallet Backend Benchmarking code has been packaged as a viable solution and can be used as a standalone benchmarking tool by everyone who needs it. Currently, that tool can be used to test API V0 only. It has been designed in such a way that it can (and will) be extended to work with API V1. Optimization work has a PR which still needs to be closed and then this user story can be considered as done. Also, the team engaged in the effort of adding server side TLS checks. The code has been written, however, currently the performance is not satisfactory. The team feels that they need to assign a specialist with intimate expertise in TLS. This task has been put on hold, due to the fact that the needed specialist is currently assigned to a higher priority task. A prototype, capable of not only restoring the wallet balance but also the wallet history incrementally has been developed in order to achieve asynchronous restoration of a wallet from seed. This prototype is currently being tested. After the tests have been successfully finished, the team feels that the following tasks will remain to be done:

-- Expanding of the (V0|V1) endpoints to reflect the restoration status.

-- Making sure all the edge cases are properly handled.

-- Writing of the CT (Cardano Test project) tasks for smoke testing/ integration testing.

  • API rewrite

The pull request aimed at design and implementation of the /api/v1/transactions endpoints is still open and is awaiting review.

NETWORKING

The team is currently working on Block Syncing and NTP SUBSYSTEM (ISSUE WITH the 1.1.0 release)

DEVOPS

The team successfully created a pull request with a working Linux installer. Next up is a code review and internal testing. Last week’s 1.1.0 release deployment took two days and went mostly well. The team managed to migrate the remainder of the legacy infrastructure and thus successfully completed a major chunk of work. The team also provided support pertaining to Zendesk classification automation and benchmarking infrastructure.

MISCELLANEOUS WORKSTREAMS

  • Delegation

An initial pass of the research paper has been completed and reviewed. A request has been made to have an internal paper produced on Ouroboros rules and lightweight certificates. Currently, this request is awaiting approval from senior management and a subsequent assignment of necessary resources. A decision has been made by senior management that exchange addresses are required to be included in the delegation scheme. However, the team still need to meet to discuss the requirements.

  • K/IELE

The team continues to make good progress with the Mantis team, evolving design on how the testnet will work, modularising code for better maintainability, supporting QA, building tools for RV to test IELE and creating components needed for the testnet. The RV team is making reasonable progress but the lack of precise details on testing status and errors is making it difficult to know exactly how ready their components are. Differing approaches in terms of documenting issues, software QA and project management are causing some challenges, however these will be resolved over time. The project manager needs to provide teams with clarity on testnets (RV and IOHK).

  • Sidechains

The Sidechains team had an important meeting with engineering and there is an evolving plan on how to get the experimental results needed for the May paper submission.

  • Smart contract language

The team have started using YouTrack to keep track of ideas and research tasks they are performing. The intention is to set a target for the design proposal to be presented to senior management when the team is next available (team members are travelling or attending conferences this week).

  • Other developments

Reagan has also had some good progress in terms of test cases executed (over 6000 more) and understanding the meaning of some (now determined) spurious results. Additional compute capacity is needed for the next stage, provided that it will get approval from the stakeholders. The Marlowe team have revised the conference target. They decided not to submit to a crypto conference, however, the paper is planned to be completed in March. Presentations are planned for early April on progress, a workable demo and a plan. Asset locality and Accounting has seen completion of the extended work on UTxO formalisation to cover Bitcoin-style redeemer/validator style addresses and transactions. Work has begun on asset locality design.

Tech Support

Last week saw an uptick in the number of tickets received. The tech support team received a total of 1625 tickets, out of which 279 were successfully resolved and the remaining 1346 are being followed up. The top reported issues were:

  • Unable to connect to network
  • Unable to update wallet
  • Antivirus-related issues
  • Cannot launch
  • Transaction-related questions