Status Updates
September, 2017
September 25, 2017
Weekly Development Report
CSL CORE
The team reports that everything is still on track and will be meeting all before set deadlines.
DAEDALUS
Work done in last week’s sprint was focused on final things needed for the mainnet launch and completion of integration with the exchanges. As a preparation for the mainnet release of Daedalus, the default theme was changed to a dark theme to further differentiate testnet and mainnet profile and look-and-feel. A final version of Japanese terms of use for the mainnet product was implemented and the “About” dialog was updated to include more people from the Cardano team. Confirmation dialog with a summary of transaction details was implemented as a completely new feature.
MIDDLEWARE
Last week, the team continued work on test coverage. A lot of effort was concentrated on fixing fee calculation problems (doesn't round correctly). Fixing history (sometimes not showing recent transaction until they enter the blockchain) issue was also taken care of. Also, the task of providing modifications required for exchanges to integrate was accomplished.
EXPLORER
The team continued work on test coverage, in conjunction with the Middleware team. Time was also spent on working on performance profiling. Problem with opening address details page (due to recent address serialization change) is Work in Progress. Another task accomplished last week was extending genesis page with more info as well as working on adding initial monitoring for strange/inconsistent blockchain state.
BENCHMARKING
Together with Devops, the team enlarged the network of core and relay nodes by a number of "unprivileged" relays that talk to the core nodes only through the static relays. Those will be the public access points. This gives the team better scalability and DDoS protection. The team also assisted Engineering in auditing and cherry-picking commits for the mainnet. Together, they audited the code for constructing the initial utxo from the genesis input json file. The team wrote a tool to check the utxo in the genesis input file against the AVVM output (plus known and approved manual changes), as well as the initial stakeholder delegation. Also, the team assisted Devops with the deployment of mainnet, and handled a number of minor issues.
DEVOPS
The main accomplishment of last week was the deployment of mainnet. The team is now mainly working on getting the genesis block and its various dependencies done and prepare everything for deployments.
IOHK CODE AUDIT
Currently, key members are looking at HD Wallet feature of Daedalus. Although the team was under the impression that they they found a potential issue but they later realized that they were mistaken. They are still going through the code base and hope to finish auditing it this week. Other members have been looking at the delegation code. The team is currently still looking at delegation code, and plan to finish it this week. Additionally, another member looked into transaction validity. He has been able to find tests that check that transaction is valid but not the code that does it for the production.
MAJOR GOAL ASSESSMENTS
Tech Support
Even though the total amount of tickets went up this week, the bulk of them were concerning the Helpdesk tour, which is planned to start this Saturday. Currently, we have had 91 tickets that have come through. The following is a breakdown of the reported issues:
- Helpdesk tour: 44
- Cannot connect: 21
- Feature bug: 6
- Issue with redemption: 10
- Feature question: 7
- Cannot install daedalus: 3
Mainnet Release
According to the latest assessment, Mainnet release is still on schedule.
September 18, 2017
Weekly Development Report
CSL CORE
The team reports that everything is still on track and will be meeting all before set deadlines.
DAEDALUS
One of the bigger tasks of the week was the implementation of UI imperfections discovered by our regular pre-launch review of implemented UI by our designer. Especially improvements to recently implemented themes. Some design decisions were updated to better fit dark themes. This is important for a professional, polished looking product. The most important update of the week is about work completed on Mantis/ETC integration. We have a working syncing screen. More importantly, architecture and initial solution for a universal API with conditional code compilation to target different coins like Ada, ETC or also mock API is completed which is a big step towards multi-asset wallet. One notable feature built this week is support for asynchronous wallet import and restore. This feature was prepared but it will be released later since supporting backend pull request was not chosen for the initial version of the mainnet release. It is important to release this feature while blockchain is relatively small and the performance issue is not that prominent. Backend bug with failing calculation of transactions fees was discovered by running automated acceptance tests which call affected endpoint frequently in a small window of time. This issue is being investigated by the backend team with help of front end acceptance tests. It is not a critical issue since there is a very small chance it will be reproduced by normal usage of the product. Drag & drop not working on Windows issue was investigated in detail and it was discovered that it is a DevOps issue. It will not be fixed before the mainnet launch since it introduces risks. Instructions for using drag & drop will be removed as a temporary measure.
MIDDLEWARE
Last week the team continued to work on test coverage.
EXPLORER
Just as middleware, the Explorer team continued work on test coverage. Footer fixes were complete. Currently the team is focused on working on performance profiling.
BENCHMARKING
Last week the team accomplished the following:
- Got the code changes to allow connecting additional relays tested and merged. We will need this to accommodate the spike in users when we go live.
- Worked on the dns library that we use to connect end users to our network. Some issues came up in the latest testnet, but they are well understood by now.
- Confirmed the preliminary results from last week regarding the number of end users that each relay can support. In this experiment, the relay also handled a small but steady stream of transactions.
- Probed the stability of the core network when it receives transactions with a high frequency, and tuned the networking policy of the relays, to prevent the core network from being flooded. In the last experiment, we had a steady rate of several transactions per second being written to the blockchain.
- In these experiments, we noticed some opportunities for improvements of the stability and performance of the network. We reaped some of these immediately, and made notes and tickets to not forget about the rest.
- Restructuring of the genesis block.
DEVOPS
Here are the highlights of the work done last week:
- Deployed 1.0 and 0.6.2 to staging
- Setup chain quality monitors and reviewed monitoring in general
- Automated testing is ready, but due to out-of-sync clocks we have put the work on hold due to mainnet being so close
- Docker image for cardano edgenode is built. We just need to pass correct parameters
- Setup macos monitoring to prevent out-of-disk-space errors
- Refactored the way we pin nixpkgs
- We have WIP changes to easily build cardano-sl with debug symbols and profiling enabled
MAJOR GOAL ASSESSMENTS
Tech Support
Compared to the previous week, the amount of tickets has decreased somewhat. Currently, we have had 65 tickets that have come through. The following is a breakdown of the reported issues:
- Issue with Ada redemption: 20
- Cannot connect to the network: 18
- Question about Daedalus feature: 15
- Daedalus bug: 6
- Sync issue: 4
- Cannot install daedalus: 2
Mainnet Release
According to the latest assessment, Mainnet release is still on schedule.
September 11, 2017
Weekly Development Report
CSL CORE
Last week the RC launch was a success. The team spent the rest of the week, post-launch, on tackling some non-critical fixes and bugs The only remaining mainnet showstopper now is using canonical JSON for genesis, which is being actively worked on The team feels confident about meeting the next milestone, (providing necessary fixes and features for operation) and the previously agreed upon mainnet release date.
DAEDALUS
The focus of the work this week was on completing outstanding Daedalus tasks required for the testnet launch and testing/QA on the staging environment. Testnet label was updated for the Release candidate. The issue with unlimited characters for wallet names which were breaking the layout was discovered and fixed. Drag and drop for Ada redemption certificate on Windows issue was investigated and the team came to the conclusion that it is caused by configuration of the Daedalus on windows. For this reason this issue can not be fixed by the frontend team so the Daedalus team will share their findings with DevOps team to solve the issue. The rest of the time was spent on improving the test coverage by writing tests for recently added features that were not covered by acceptance tests and on refactoring some of the code, mostly in tests.
MIDDLEWARE
This week the Tx Fee stabilization algorithm was finally implemented. Wallet ready flag functionality was also successfully implemented. Race condition occurring when creating new wallet fixed. Many smaller bugfixes were also addressed and fixed. Currently the team is focusing its efforts on writing automated tests.
EXPLORER
The week was mostly dedicated to improving automated test coverage and other smaller bugfixes.
BENCHMARKING
Last week the team worked on the following:
- Worked on functionality to make it easy for DevOps to deploy additional relays, so that they would be able to handle periods of increased traffic (such as the launch of the main net)
- Helped resolve issues during the RC launch
DEVOPS
Last week the team accomplished the following:
- Successfully launched RC
- The automated testing of blockchain pr is ready for review
MAJOR GOAL ASSESSMENTS
Tech Support
Following the RC release last week, the amount of tickets increased. Currently, we have had 90 tickets that have come through. The following is a breakdown of the reported issues:
- Cannot connect to the network: 40
- Bug report about Daedalus feature: 14
- Questions about Daedalus: 10
- Cannot redeem: 10
- Cannot install: 8
- Sync issue: 8
Mainnet Release
According to the latest assessment, Mainnet release is still on schedule.
September 4, 2017
Weekly Development Report
CSL CORE
As RC approaches, the team has been tackling issues as they come in and prioritizing them accordingly. Currently there are no blockers pertaining to the RC or Mainnet release from the Core team's end.
DAEDALUS
Phase 1 of removal of the Client API from Daedalus was successfully completed. Notify API, which was only used for node syncing status, was removed and replaced with polling of HTTP endpoint. Also, all typical uses of HTTP API were implemented and small, strongly typed library was developed as a solution for the rest of the work required to remove the Client API. The team will proceed with the remaining work with caution since they have learned that Client API is not just a thin wrapper around HTTP API. It has a lot of functionality that was put in place to fill the gaps in HTTP API implementation. HTTP API needs to be improved a lot in the future since it is very important for integration with exchanges.
Exporting wallets to a file and importing wallets from a file was completed by finishing the integration with the backend.
Asynchronous behavior was implemented for importing and restoring wallets since that functionality takes a lot of time to complete. This is still not complete since “wallet ready” flag needs to be implemented on the backend.
MIDDLEWARE
Last week the team was busy working on improving fee calculation heuristic. Also, time was spent working on "wallet ready flag" that will make UI to be non-blocking on import/restore. Remaining time was spent on working on other smaller bugfixes that are not mainnet critical.
EXPLORER
Last week the team focused on fixing various smaller issues. Additionally Timestamp functionality has been reworked.
BENCHMARKING
Last week, the team concentrated on the following:
- Resolving the issue of DNS lookup of the relays on windows
- Work towards the performance tests that will allow the team to optimise the networking policies. This is impeded by a bug that prevents the nodes from running with the constants needed for benchmarking
- Work towards scalable relay groups, so the number of relays can be changed, according to the demand
DEVOPS
Last week the DevOps team tackled the following:
- Fixes to TLS configuration for the wallet installation.
- Fixes to update system on macOS.
- CI speedups (daedalus and cardano-sl).
- Numerous staging deploys, now including 3 Cloud computing service account feature.
- Automation of deployments.
- Started discussion with the Core team, regarding ways to optimize time consuming bits during deployment.
- Review mode pertaining to all infrastructure work, has begun.
- Last feature missing is DNS round-robin. This is still Work In Progress
IOHK CODE AUDIT
Spec Audit
The team sent a couple of questions regarding Cardano-SL audit via slack and received a reply. The new document needs to be looked at.
Code Audit
IOHK communicated that Cardano-SL mainnet audit takes priority over everything else, however there are questions regarding the scope of the audit, which still need to be addressed. This is currently being discussed and the team will act accordingly.
MAJOR GOAL ASSESSMENTS
Tech Support
The week saw an increase in tickets, due to the continuing issue with block syncing. A sum of 63 support tickets have been created. The top most reported issues were:
- Block synchronization issue: 36
- Question/bug report about daedalus: 17
- Cannot redeem: 6
- Cannot connect: 4
Mainnet Release
As per the latest assessment, here are the tentative guidelines for releases:
- RC (Release Candidate) - Assuming that a green light is given during tonight's Dev meeting, the DevOps team will start deploying shortly.
- Hard Launch (Mainnet) - After some discussion, the release seems to be on schedule.