Status Updates

August, 2017

Jump to

August 28, 2017

Weekly Development Report

CSL CORE

Here's the latest from the core team: This week the team concentrated on working out internal fixes to the core (nothing critical). Most of these fixes were sanity checks. Also, some tooling for technical operations was addressed. Reporting review was postponed, but it is not deemed critical. Also, Test stake locking was worked on. Manual testing is not finished yet and has been postponed.

DAEDALUS

This week the team successfully implemented the Exporting a wallet to a file and importing a wallet from the file functionality. However, this feature remains not merged due to some changes that are required on the backend. “About screen”, invoked from the system menu, was introduced. Screen for including or excluding transaction fees from the entered amount on Ada send form was prepared and updates to the endpoints were specified. The endpoint is still not done, so this feature was not merged.Work on removing Client API from Daedalus was started and the goal for this sprint was achieved by building a working prototype of direct usage of HTTP API endpoints with TLS secured communication and Flow type definitions.Logging to a remote log management service was improved by sending logs directly using a custom logging implementation instead of tailing the log file from the hard drive.

MIDDLEWARE

The team successfully finished implementing the Resubmitting of transaction functionality. QA was started on unable to send transaction (spending password hashing changed), fixing installers. Fees calculation improvements are still a work in progress. Furthermore, the team spent time on adding component tests

EXPLORER

The team has timestamp reimplemented and merged. Also, Serialization problems with hashing have been fixed.

BENCHMARKING

The team found a race condition in the current code that caused nodes to ignore 5-10% of incoming transactions. The Benchmarking team worked with the Core team to solve this via more rigorous locking, and will, in the coming week, improve the lock to avoid an adverse effect on block processing.

More issues in the staging cluster were found and fixed. These issues were a result of integrating networking changes with the cardano codebase. Those issues decreased the chain quality on the staging cluster. Now that they are resolved, perfect chain quality has been observed.

With help from DevOps, the team made progress towards setting up experiments that will allow to fix the networking policies on the relay nodes. In particular, the team wants to determine the transaction rate that the core cluster can handle, and apply backpressure accordingly. Additionally, the team will probe the ability of relays to serve a large number of edge nodes, so that they will be in a position to determine the number of relays that should be run.

DEVOPS

This week the team:

  • Fixed the CI issues regarding timeouts
  • Refactored stack2nix to speed up the process by factor of 2 and fix some of the issues (build tooling)
  • The week has seen various fixes to staging chain quality
  • Benchmarks now have a stable chain, working on getting the transaction generator to run
  • Managed cloud DNS hosting related work is blocked on communication and requires the involvement of other teams.

MAJOR GOAL ASSESSMENTS

Testnet 5 release

The week saw an increase in tickets, due to the issue with block syncing. A sum of 35 support tickets have been created.

The top most reported issues were:

  • Issue with block synchronization: 29
  • Issue with redemption: 3
  • Daedalus bug: 1
  • Question about mainnet launch: 1
  • Cannot connect to the network: 1

Mainnet Release

Following a all hands meeting, a new timeline for launch has been agreed upon.

August 21, 2017

Weekly Development Report

CSL CORE

SCRAPE integration -Ready to be merged. At this point only minor tweaks need to be made.

Delegation/stake locking -Address type modification (having stake distribution as part of it) is merged. The team expects to have a working prototype by midweek and have everything merged by the end of the week.

Test stake locking Although great progress has been made, manual testing has been postponed.

Automated testing -The week was dedicated to making sure that testing reliability is high. Also, a lot of bug fixing, previously discovered by testing, has been accomplished. -Due to a lot of high priority issues, Work on testing invalid payloads (txs) has not yet began.

DAEDALUS

The work on theming support was finished and 3 themes were polished with small inconsistencies with the design specs fixed. In the scope of the theming support, all vector graphics were refactored to SVG format to support coloring of monochrome icons programmatically which enables support for a larger variety of themes.

TLS issue in communication with backend was fixed which was a major blocker for the continuation of testing and QA of the new backend code from the master branch.

UI for exporting wallets to a file was completed and will be integrated with the backend when the endpoint is ready in the next sprint.

Other than the abovementioned points, smaller issues were detected and fixed an test coverage was improved.

MIDDLEWARE

During this sprint, the team accomplished a lot of long overdue tasks, such as refactoring of the middleware code as well as finishing some important features such as transaction fees.

Unfortunately not much progress was made with issues such as testing tx creation logic or profiling wallet sync logic, due to critical core issues that took priority.

EXPLORER

This week the team has finally put the Timestamp reimplementation into review.

BENCHMARKING

Here are the latest developments from the Benchmarking team:

There were some hiccups with deploying the staging cluster with the new networking mechanism. The team worked with Devops to resolve them, and written proper documentation of how to set up a cluster with the new setup of core, relay, and edge nodes.

Unfortunately, with the changes, recovery mode (i.e., a node that has been offline for some time or otherwise unable to communicate with the rest of the network trying to catch up with the network) broke, due to a misunderstanding of how the implementation of recovery works. This has now been fixed.

DEVOPS

  • setup new macOS/Linux slaves for CI and document it's setup
  • plugin the new stack2nix CI and fix problems with macOS
  • deployed staging using the new core/relay split
  • shutdown TN 0.3

Current WIP:

  • DNS round-robin for relays (Domen)
  • 3 hosting accounts
  • Ops
  • automated benchmarks

MAJOR GOAL ASSESSMENTS

Testnet 5 release

The last two weeks have seen a bit of an increase in tickets, due to the issue with block syncing. A sum of 18 support tickets have been created.

The top most reported issues were:

-Issue with block sync: 10 tickets -Cannot connect: 3 tickets -Issue with redemption: 2 tickets -Cannot install: 1 ticket -Question about Daedalus: 1 ticket -Question about mainnet release: 1 ticket

Mainnet Release

We are currently in the process of planning a all-hands meeting, for a new timeline for launch. However, due the te delegation code freeze only happening by the end of this week, those dates might slightly fluctuate.

August 14, 2017

Weekly Development Report

CSL CORE

SCRAPE integration

  • Currently some problems still remain, but the team believes that the issues are occurring on the CSL side. This issue is pending investigation

Delegation/stake locking

  • CSL-1483 Address type modification (to have stake distribution as part of it) is nearly complete. The team feels that they can have a working prototype by the end of the week.

Test stake locking

  • Manual testing is not yet done.

Automated testing

  • In order to give the team the ability to accomplish various tests,  blockchain event framework was deployed.After the framework was applied, various obscure bugs were revealed immediately.Most important parts are covered with at least positive tests
  • Due to some high priority tasks, Work to start testing invalid payloads (txs) has not yet commenced.

MIDDLEWARE

-There were various significant accomplishments this week: -Transaction fees were finally enabled and tested (though only locally) -Important work on module refactoring and code simplifying has began -Running Daedalus acceptance tests is now part of workflow in Middleware team. Immediately following this improvement a couple of -important issues were found and quickly resolved. -Work on unit test coverage of middleware code has commenced

EXPLORER

Explorer project was fully merged into the cardano-sl project. Transaction Fees functionality has finally been implemented. Transaction resubmitting still remains as a work in progress

August 7, 2017

Weekly Development Report

CSL CORE

This week significant progress has been made. In regard to Mainnet launch, the following is a breakdown of important points and the state of their development:

SCRAPE integration - this task is very close to completion and will most likely be done in the first half of this week. Last week the team received various fixes, integrated them and spent time debugging CSL. Currently some problems remain, however, they are most likely originating on the CSL side

Plutus integration - to be able to sign, various bits of serialization were reimplemented in Plutus. However, after CBOR refactoring these serialization bits stopped working properly and are now in need fixing. The following tasks are Work In Progress

Delegation/stake locking - Significant progress was made in making researchers and others understand the team's proposal. Refactoring will most likely be required on the existing scheme. The Change proposal, included in the document sent to researchers, is currently pending review

Test stake locking - Unfortunately this task is now overdue by 2 weeks. However, since no critical issues have yet surfaced, it is likely that most problems are due to bad tooling support. Tools have not yet been addressed in depth.

Automated testing - the team is close to attaining testing in various dynamic flows (dynamic apply-rollback of blocks) with adequate DSL support. Most important parts are covered by positive tests. Previously planned work to start testing invalid payloads (txs) is yet to be undertaken. However, it will most likely be addressed this week.

DAEDALUS

Since most of the Daedalus team had a week off, no big features were implemented. Smaller improvements and fixes were implemented, such as:

  • Handling long wallet import/restore times.
  • Fixes for transaction assurance level calculation.

Note: For the next week 1/3 of usual developer hours will be available due to holidays.

MIDDLEWARE

EXPLORER

This week the team was busy with merging Explorer into the Cardano project. Additionally, testing and documenting daedalus backend has been done.

BENCHMARKING

This week the team worked to reduce the number of dependencies of cardano-sl, which was necessary to get the CI working again. They finally merged the big pull requests, both for serialisation via cborg, and for the new networking mechanisms Some brainstorming regarding the federated network was done. The benchmarking team have provided input to DevOps. Some strange behaviour has been observed in master when running a cluster locally for benchmarks. The team thinks those are bugs, which will have to be fixed before mainnet. The benchmarking team has since notified the core team, started investigating possible causes, and is currently filing tickets.

DEVOPS

Here's the latest from the DevOps team:

  • Stack2nix work is ready, but blocked on the macOS linker size problem.
  • Lots of time was spend on thinking about the new federation model.
  • Benchmark automation is a temporarily on halt due to rest of the work load.
  • Made 2 staging deployments and testnet 0.5 update.
  • Core/relay securing is working, it's ready (pre-federation state)

MAJOR GOAL ASSESSMENTS

Testnet 5 release

Last week saw a few more support tickets than the week before. However, the amount is still very low. A sum of 15 support tickets have been created.

The top 5 most reported issues were:

  • Cannot redeem: (3 tickets)
  • Issue with wallet restoration: (3 tickets)
  • Cannot download wallet: (2 tickets)
  • Cannot connect: (2 tickets)
  • Issue with transaction: (1 ticket)

Mainnet Release

The previously agreed upon code freeze is still on schedule. However, depending on the path taken in regard to Node Federation and the protocols required, Mainnet might be slightly delayed past the end of the month date, previously mentioned. More information will be available as soon as a course of action is agreed upon as far as the Federated Nodes are concerned.