Welcome to the Ethos Dev Diary – progress updates from the Ethos engineering team in the home stretch of building Universal Wallet! We’ll also be tracking progress of larger features and milestones on our Trello board, viewable here. To learn more and join the pre-reg list, visit the Wallet Page.  Thanks for your support!


Mon May 21, 2018

Mia and the Coin Crew have rolled a bunch of new coins into the Universal Wallet!  This is cool on three levels,

  1. There’s more coins!
  2. It is proving out the unusual path Ethos chose with our Block Parser and Blockchain Abstraction Layer (in that it’s working), and,
  3. These coins are being tested in MainNet in our RC2 instance.

On that last point: Pete and the IT team are currently maintaining 4 environments: staging, RC1, RC2 and Production) and we are testing across all of them.  Currently the plan is to keep staging and RC1 on TestNet and have RC2 and Production be MainNet. And our newly created dedicated QA team will be ensuring rigorous testing and success benchmarks as we progress final builds from staging through to production.

Sweet screenshot from KDP below:


Wed May 16, 2018

We have a special development update today from Shingo! Read it right here


Mon May 14, 2018

Many thanks to our tireless testers and QA team who put real tokens at stake to test out the UW beta.  We are so grateful for your efforts.

This testing has identified some data and edge cases we have decided to use to improve our block parsing scalability and error handling. An issue that has surfaced has been abnormal transactions preventing recording of other transactions in the block.  So we are breaking the blocks up into “mini blocks” on the transaction level on a wallet and coin basis.  This will have the benefits of improved resilience, easier debugging, better visibility for support and more control over the load placed on our hosted nodes.

We anticipate checking the changes into Production in the next day or two.  We will first do some sanity and user testing on Testnet, and then roll the changes into a wider Mainnet testing cycle.  When these changes are all vetted and ready, we are anticipating expanding the beta test program to 2,000 participants as the final stage before initial country release.

Also, expecting initial penetration testing results this evening.

Shingo will have more details this week.


Wed May 9, 2018

The refactored Price and Price History queries have been optimized 10x.  Product council and beta testers immediately noticed the different.  Also we have moved the price service to its own dedicated database.

Internal testing of Mainnet has started.  Currently we are maintaining versions on both Testnet and Mainnet.  Seeing mostly cleanly parsed blocks on Mainnet.

The dedicated QA team has been expanded from 1 to 4 and interfacing directly with our support team who are dealing with the now 200+ beta testers.


Sun May 6, 2018

This weekend, Tim started the process of preparing to scale to other blockchains.  This entails new wrappers on our node services that can interface with our block parsing services.  Additionally, we have identified developer operation alerts and health checks on our servers and blockchain nodes to implement.

The security penetration testing team is hammering away on the current Android APK of the app. We are addressing bugs that are strengthening our authentication and recovery method for users that were uncovered by the product council during user testing and as well as rapidly crossing off a shrinking list of P0 bugs.


Fri May 4, 2018

Last few days have been about security, which obviously is an extremely important issue for a universal crypto wallet.  We have been working with a solid white hat hacker firm – alas they must remain anonymous for security purposes, but these guys are exceptionally qualified.

The penetration test turned up some useful information. The hackers mapped our external infrastructure, and identified several endpoints and legacy applications/services that we now no longer have exposed, along with recommendations for DNS configuration. Ethos brute force protections proved effective as the enumeration was stifled, and our public site is not vulnerable to XSS.  Kudos to Alec for setting up and conducting the pen test and Mia for same-day implementation of several of the recommended changes.


Wed May 2, 2018

Exciting day: we have a build that is pointed at Mainnet and are testing Mainnet nodes!  We are still working out kinks and proceeding with care, but it’s an extremely important milestone nonetheless.  So at this point we have dev and staging environments pointed to Testnet, and a live production environment pointed at Mainnet.

Also thank you to everyone in the Product Council who has been banging away on the wallet.   In the first day of testing on this latest release we logged over 7 days worth of time in the Android app alone and had over 590 public addresses successfully created along with over 350 watch folios.  We will be expanding out product council and pre-registration testing as we drop more releases.


Tue May 1, 2018 - BUG CRUSHER EDITION

Since Saturday the team has crushed 17 major P-0 bugs and a bunch of smaller ones.  Shout out to Deepak who has been doing a huge amount of the bug crushing personally and Alec who discovered an obscure Android wallet syncing issue.  No mercy or quarter- we do not negotiate with bugs!

Also a huge development last night for Ethos continuous integration and deployment (CICD) pipeline.  Derek has setup automated mobile builds for staging, RC1 and Production across Testnet and Mainnet.   What does this mean, you ask?  It means we can stage and test new coins while launching production wallets, all from the some client code base with a push of a button.  Really awesome work!


Mon April 30, 2018

Thank you to all of our Product Council and pre-reg members who banged on the Universal Wallet beta app.  We received a ton of incredibly helpful feedback!  Our objective now is to get a new release out to you with fixes and updates ASAP, especially on login, fee estimation and pending transactions.

There was also a core use case of “if I lose my email how do I get back into my wallet” that we are looking at solving using the smart key mnemonic itself, although this is a new feature not a bug fix eg may impact schedule.  However it seems important enough that we should figure this out so we are doing a fast scope evaluation.


Sun April 29, 2018

Weekend focus is getting block listeners to process bulk test transactions.  This is the basis of how airdrops will work post-launch, so important that we thoroughly test this process.  Also received a ton of feedback from Product Council on login flows and tuning and polishing those.  Last but not least working on fee estimation for Bitcoin and ETH transfers;  some nuances between test and main net.


Fri April 27, 2018

First Product Council build dropped yesterday to 200 or so devices.  Found an issue with the blockchain listener where transactions stop recording when it finds a bad block;  fixing that.  All the usage is uncovering very useful issues in our system tracers across multiple devices.  Also found an issue where existing accounts have to go through tutorial and terms of service acceptance on logout / login.

Planning to build and drop an update this afternoon.


Wed April 25, 2018

We are preparing to launch first product council testing against our production environment. Also planning to drop micro funds into product council wallets for main net testing with an eye towards testing our Airdrop scripts with participating coins and ensuring end-to-end functionality.


Tues April 24, 2018

Dev team made a ton of progress over the weekend and we were able to kick off the penetration test and third party security audit. Today we are working on hardening everything and doing one last round of internal testing to prepare for Product Council and limited pre-reg release on 4/26. All pre-reg members who were selected have already received emails and gone through the verification process to be added to this release.


Mon April 23, 2018

We are hardening the front and back end, and preparing to build from RC to Production.  Today’s focus is integrating CDN and DDOS on Production;  we’ve decided to roll this across Dev and RC as well.  Fingers crossed, on track to distribute a new build to PC tomorrow.


Sun April 22, 2018

In our efforts to keep you informed, here’s an update on the Universal Wallet.

We have just completed another round of intensive testing of the Universal Wallet App. This is an essential part of the process as it allows us to collect feedback and data to ensure stability and robustness across both new and old device types and models. We have team members in 8 time zones hard at work 24/7 implementing improvements from rounds of testing, which they are incorporating into the latest version of the app over the next few days. Every iteration is miles ahead of the previous one and it is incredible to see all the rapid progress that is being made.

With this latest round of testing completed, we are excited to let you know that we are now ready to move on to the next stage. This next stage involves two critical elements:

  1. A full process-level 3rd party security audit and penetration test of the Universal Wallet, infrastructure and back-end that will kick off Monday April 23rd.
  2. Expanding the number of early testers to a broader audience including all Product Council members and select Pre-registration users by the end of this coming week.

We understand that there is a high level of demand for the UW and a certain level of frustration with the pace of rolling out the app to each and everyone of you, but we remain committed to security and stability as our primary objectives. Once the app moves past this phase of development it will be ready for a global rollout.

“A delayed game is eventually good, a bad game is bad forever.”
― Shigeru Miyamoto

Thank you for your patience.


Sat April 21, 2018

Edition

Bedrock: Tim finished data backfilling into RC1 environment with Andrew using our new backfill rate limiting logic. RC1 will be our master source of historical coin data going forward for all environments and assets we spin up in the future.  Also Tim is load testing transaction tests on Bedrock’s block listeners. Edward stepped on 9 P0 login and signup edge case bugs. Nidish is cross training on the node wrappers, block listeners and txn recorder code.

Client: Derek is adding a crash reporting hub for all devices to zero in on problem or new devices quickly. Deepak nailed 10 P-0 bugs last night.

Dev Ops: Mia is working on the dev ops run book as well as prepping us for wrapping and launching new nodes and ERC20 tokens. Pete focused on RC and Production environments. Tanuj picking up slack on the mobile dev ops.

Security: Alec getting us prepped for the security penetration test which we’ll conduct on our Production environment.

Support & Product: KDP working w/ Thijmen and Kenley to clean up the support desk pipeline end to end. Shingo aims to have the best support in the crypto space, drawing people from the community.


Fri April 20, 2018

Adding Firebase which will give us much richer Crashlytics data.

Building RC1 environment, the stage prior to Production and refining our CI/CD.

Implementing SMA (Simple Moving Average) into graphs.

Refining and enhancing transaction view.


Thurs April 19, 2018

Universal Wallet Genesis Build 85 showing good engagement on a Time in App per User from the Product Council G1 and the first few Pre-reg testers.


Wed April 18, 2018

Updated extended key registration and coin slot creation complete.  Also Build 83 has dramatically increased the performance of real-time coin graphs.

Also Derek is working his ass off:


Mon April 16, 2018

Identified an fine-grained issue with extended key registration for multiple blockchains with BIP-32 and BIP-44 hierarchical keys.  Decision was made to generate a key in a way that won’t be backwards compatible with other wallets, but will enable easier support of existing and future blockchains.


Friday, April 13, 2018

Android and iOS Genesis builds to demonstrate at the Ethos Summit.