Status Updates

October, 2017

Jump to

October 30, 2017

Weekly Development Report

CSL CORE

In the past week the team has successfully fixed several bugs and perfomed several tasks including:

  • Protocol magic check
  • Fix incompatibility of master and cardano-sl-1.0

New feature-rich interactive CLI for auxx is finished. Work is ongoing on testnet clusters setup. The current focus is on documentation & adjustments. The Txp Document is currently being internally reviewed. On the matter of Delegation, the documents are also passing internal review and refinement phases. More effort was put into Block retrieval. The issue with add unchecked serialization is mostly done. Benchmarking has shown significant performance improvement.As for Update system issues, the task of Debugging cardano-launcher on Windows is currently in review.

Furthermore, the team focused on Refactoring:

  • Get rid of ssc type parameter is close to being completed.
  • Move Block definitions to cardano-sl-core is about 2/3 done

Lastly, the team was tackling:

  • Merging cardano-sl-1.0 to master
  • Work on Compress logs before sending to log server has began.
  • Doc on how to adjust tx size limit on mainnet has been provided
  • API for checking current version info for exchanges integration is now complete.

DAEDALUS

Will be available shortly.

MIDDLEWARE

Here's what the team focused on last week:

  • Ledger integration workshops with a decentralized system advisory firm.
  • Finish gathering requirements
  • Start prototyping the new wallet API
  • Sev1 hotfix for transaction exceeding the max size

This week the team will focus on:

  • Write/review/update technical documentation on our Address format & encryption for the upcoming Ledger workshop on Wednesday;
  • Provide a tentative API specification (as a Swagger document) for the new endpoints needed for the Ledger integration.
  • Provide test-vectors for cardano-crypto to be used by a blockchain consulting firm in their tests;
  • Make a start on paper wallets integration;
  • Improve post sev-1 patch with review's feedback from a senior team member;
  • Continue working on the redesign of the middleware by starting integration of the old version of the API so that multiple versions can co-exist in the same node.
  • Review the mempool handling and concurrency support

EXPLORER

The team spent the week revamping the Explorer. The BA is starting to work with team to review existing features and requirements. No new features are currently planned. The current plan is to work with the Daedalus team to document any other use cases / user stories. Working ongoing to merge explorer and wallet code is ongoing This has a number of benefits:

  • No sperate explorer config
  • Explorer and wallet executable together
  • A run time flag to run explorer, wallet or both
  • Optimization of performance, CPU and memory

NETWORKING

Last week the team concentrated on (de)serialization performance and slow block retrieval. This is relevant for Shelley as slow (de)serialization chokes performance of the whole network (blocks must be deserialized, then re-serialized, at each hop in the network). Benchmarks show a big improvement by removing verification checks (irrelevant to the well-formedness of the serialized representation). Changes to the network layer interface will be required to avoid unnecessary (de)serializations. It's a challenge to do this while maintaining some semblance of type safety. This week started off with detailed technical planning of individual work items for Shelley networking requirements (including aforementioned serialization issue). A new team member is on board and will get started on implementing what's necessary for peer discovery, which is currently being written up and is almost complete.

DEVOPS

Here are the teams highlights for the past week:

  • Report-server log storage improvement (cloud hosting provider, space)
  • Feedback on procedural documentation by core team
  • Preliminary Youtrack migration
  • Continued work with AV vendors
  • Partial update proposal automation
  • Sign more of Daedalus/Windows executables

This week the team is focusing on:

  • Public documentation for cache-backed builds of cardano-sl
  • Continued work with AV vendors
  • Scheduled staging deployment
  • CDN setup for faster Daedalus downloads
  • Feedback on procedural documentation by core team
  • Enabling developers to deploy dev-env clusters on their own

Work is ongoing for YouTrack migration. Test migration complete and full migration planned between 9-11 November.

IOHK CODE AUDIT

Here is the latest from the Code Auditing team:

Spec Audit

  • The team reports no new issues.

Code Audit

The team found minor issues (DEVOPs) on daedaluswallet.io audit,

  • Hosting windows binary on build server
  • HSTS for daedaluswallet.io already has a ticket since it was reported earlier therefor a new ticket was not created.
  • No issues to report in HD Wallet audit or Delegation Audit

Tech Support

Last week has seen a continued decrease in new tickets. There are currently 446 tickets in the system.

The top issues reported were:

  • Cannot connect
  • Cannot redeem
  • Cannot see transaction
  • Anti virus issue
  • Feature question
  • Feature bug

October 23, 2017

Weekly Development Report

CSL CORE

Last week the Core team spent a considerable amount of time on source management and refactoring. The team was able to extract explorer code out of lib/ folder and are now very close to completely getting rid of s sc type parameter refactoring.

In regards to c omponent testing (block processing) the team was able to successfully fix a number of failing tests. Furthermore, the team worked on debugging few issues which appeared on mainnet. The issue with “S SC couldn't compute seed: NoSecrets for epoch epoch No.1 ” on mainnet has been resolved. The team also tackled the issue with N TP time sync check.

Implemented core part: Detect current time out of sync, report it. In regards to Interactive CLI , the team implemented a number of improvements to streamline the usage of CLI. The guys are looking to finish this task by end of sprint #50.

On the tasks regarding Transaction processing documentation, work has began on documenting transaction processing checks & etc. As for Performance, block retrieval speed, pertaining to the Core, the team engaged in review & discussion with the networking team. Unchecked deserialization still remains a work in progress.

DAEDALUS

Daedalus team was focused on Mantis/Ethereum Classic integration in the sprint. The architecture of the solution stabilized, and work was focused on delivering features. Generating Ethereum Classic account from mnemonic seed, backup procedure, and fetching wallet balance was finalized. Next sprint will also be focused on delivering Ethereum Classic wallet features.

MIDDLEWARE

The team spent the week working on scaling getting the wallet endpoint. Work has began on the api v2 design. Effort was applied to improving component tests for wallet api. Lastly, the team successfully added an endpoint that checks if the local time is in sync with global clock.

EXPLORER

The focus of the week was test coverage.

BENCHMARKING

The team engaged in planning of how to improve the networking layer for full decentralisation. They also spent time on looking at performance of block retrieval.

DEVOPS

Update coming soon.

IOHK CODE AUDIT

Here is the latest from the Code Auditing team:

Spec Audit

  • Last week the team have not been assigned any new tasks on Spec Audit. A key member has been helping the code team by answering their questions.

Code Audit

  • Minor dependency issue The team noticed the following dependency path cardano-sl -> cardano-crypto -> cardano-crypto (c bits) -> cryptonite . But cryptonite has haskell bindings, therefore it could be used directly in haskell which is probably the safer way to do it. On a related note, cryptonite comes with its own Scrypt , so instead of using the separate lib, the code could just use the one bundled with cryptonite .
  • The team's currenty finishing HD-Wallet code audit. They have finished the first set of paths given to them by a key member. The team is currently still looking at second set of paths.
  • The team hopes to be done with cardano-sl delegation audit in 2 weeks.
  • Furthermore, the team looked at Scrypt bindings but did not find an issue. The branches cardano-sl-1.0 and cardano-sl-1.0-exchanges do not seem to touch anything related to Scrypt . So anything that was correct before, should be correct after.

Tech Support

Last week saw a slightly lower volume of tickets as the week before. There are currently 515 tickets in the system. The top issues reported were:

  • Cannot redeem
  • Cannot connect
  • Feature related bugs
  • Feature related questions
  • User cannot see tx

October 16, 2017

Weekly Development Report

CSL CORE

Will be available shortly.

DAEDALUS

Autocomplete React Polymorph input control has been integrated with Daedalus to improve user experience and reduce the number of errors when entering mnemonic during wallet backup and restoration.The new version of React Polymorph UI library was published to NPM after improving theming support and modernizing setup by upgrading to Webpack 3 and introducing support for React 16.Ethereum Classic integration work has continued.

MIDDLEWARE

Last week the team concentrated on the following tasks:

  • Fixed bug with fluctuating wallet balance on epoch boundary
  • Optimized performance of getWallets and getAccounts API calls
  • Testing: continuing working on specifications and integration tests for API endpoints
  • Refactorings: moved remained parts of wallet-specific code to cardano-wallet package
  • Planning on working towards Shelley release

EXPLORER

Last week the team successfully fixed a delay in updating blocks. Previously there was a delay of 2min for a new block to appear in the UI. Furthermore, ample time was spent on refactoring Explorer logging and error handling. The team finished off the week and is now continuing work on back-end test coverage.

BENCHMARKING

This week the team concentrated on the following:

  • Helping out with improving performance in the wallet middleware
  • Investigated ways to improve block download speed and overall performance

DEVOPS

This week devops reviewed and carried out update system on mainnet and staging. The team helped setting up a few development clusters for high severity issues carried out. They also are slowly catching up on operational tech debt and will soon start working on developer tech debts. Today the team is rolling out an update to stabilize our monitoring alerts.

IOHK CODE AUDIT

Spec Audit

  • The team raised the heavy weight delegation issue again, it was decided that they will escalate it to Research

Code Audit

  • daedaluswallet.io 301 from HTTP -> HTTPS combined with the HTTPS link returning the Strict-Transport-Security header should guarantee that if someone’s not MITM’d on their first visit, they can’t be MITM’d on any subsequent visit.
  • The team did not find any new issues in delegation and HD Wallet codebase. They hope to finish HD Wallet this week. Delegation will still take time.

Tech Support

Last week saw about the same volume of tickets as the week before. There are currently 572 tickets in  the system.The top issues reported were:

  • Cannot redeem
  • Cannot-connect
  • Feature bug
  • Feature question
  • Mnemonics
  • Cannot sync

October 9, 2017

Weekly Development Report

CSL CORE

Last week the team has tackled the following tasks:

  • “Report misbehavior only from core nodes” is done. The fix should decrease number of false positive by order of magnitude.
  • The issue dealing with “Mainnet report-server logging” needs review: log retention and storage schema. The team prepared a plan and created issues, to be done this week.
  • The issue of “Instruction: how to push software update to mainnet blockchain” has been addressed. The team have written instructions, answered questions from DevOps and fulfilled their requests.
  • “Find a way to use RealMode, vty and haskeline together” had been thoroughly researched by Vlad. The dev work is to be done this week.
  • “Block retrieval is slow” has been investigated by a and passed to networking team since the problem is likely in networking.
  • Some team members spent significant amounts of time on urgent CSM issues. They also assisted DevOps on deploying a testing cluster.
  • “Cardano-launcher should kill cardano-node process properly” is a Work In Progress.

DAEDALUS

Work on autocomplete React Polymorph input control has been started and finalized. In the next sprint, this control will be integrated with Daedalus to replace the current textarea control for entering mnemonics when verifying wallet backup and restoring wallet from backup which will significantly improve the speed of these processes and reduce the possibility of typos.Opt-in error logging was updated to send only errors to central logging service which will reduce the volume of logs recorded.The rest of the sprint was spent on Ethereum classic integration. New design for multi-asset support has been stabilized, it is expected for it to be fully finalized during the next two weeks during which focus will shift from design and prototyping to building features.

MIDDLEWARE

Last week the team worked on scaling wallet api - mostly history fetching endpoint. They are currently working on optimizing fetching wallets endpoint. “Request serialization issue” in Daedalus, which caused failure on big requests, was successfully fixed.

EXPLORER

Most time was spent on writing db migration code for epoch/slot search. The team is continuing work on cpu/memory profiling to find cost centers and preparing for optimizations.

BENCHMARKING

Last week the team helped resolve performance and scalability issues for Bittrex.

DEVOPS

Last week the team worked on the following issues:

  • Staging 0.6 was successfully shut down
  • Setup sev1 email for bittrex
  • Implemented docker image for exchanges
  • Implemented elastic ip rotation for core nodes to mitigate possible ddos
  • Bumped node restarts to 36h
  • Reduced CI times.
  • Prepared deployments to be able to profile/debug nodes

Tech Support

Last week saw a bit of a rise in tickets. In total there were 632 tickets in the system. The most common issues reported were:

  • Wallet name issue
  • Cannot install
  • Cannot connect
  • Cannot redeem
  • Feature question
  • Feature bug report
  • Cannot see transaction.

October 2, 2017

Weekly Development Report

DAEDALUS

Daedalus team had the first sprint fully dedicated to Ethereum classic integration. The main goal of the sprint was designing an architecture that will support multiple blockchain assets by building universal and configurable wallet API capable of supporting both UTXO and account based accounting and configurable and composable user interface components. Significant progress was made and architecture will be refined and finalized in the scope of upcoming sprints in which concreted Ethereum classic features will be built in Daedalus. The team have also built auto-complete input component in React Polymorph library which will be integrated into Daedalus for entering mnemonic backup/recovery phrases.

MIDDLEWARE

Most of the effort was focused around improvements for Bittrex integration (mostly wallet performance optimizations). Issue when wallet is showing zero balance in specific use-case was tackled and successfully fixed. (this fix is not yet released and will be included in the next update). Currently the team is working on further wallet performance improvements.

EXPLORER

Last week the Explorer team concentrated on extending genesis page. The update was successfully finished but not released as of yet. Total ada endpoint has been added (needed for CoinMarketCap). Search by epoch/slot has been optimized but not yet released as well. Profiling found why Explorer was crashing - workaround is ready but once again, has not been released as of yet.

BENCHMARKING

Last week the team concentrated on the following tasks:

  • Planning session in Edinburgh
  • Fixed (most of) the space leaks
  • Helped the explorer team to identify the cause for the memory explosions
  • Ran another stress-test with the current cardano-sl-1.0 branch, to make sure there were no regressions in - the last weeks that would require an adjustment to the networking policies
  • Helped resolving the last minute issues that came up with Bittrex

DEVOPS

Last week the team's main goal was stabilizing mainnet and it's monitoring. It's all quiet now and the team reports that everything is well in hand.

Tech Support

With the release of mainnet, the amount of tickets has naturally increased. However, the volume is not higher than was expected. Currently, we have had 483 tickets that have come through. The following is a breakdown of the reported issues:

  • Helpdesk tour
  • Wallet creation issue
  • Cannot connect
  • Cannot redeem
  • Feature-question
  • Feature-bug

MAJOR GOAL ASSESSMENTS

Mainnet Release

The mainnet launch was a success. From hereon this report will focus on outlining efforts for the next update and its current state.