This is the first of resurrected regular updates from the Trinity team. Every two weeks, we will be posting a brief overview of the team’s recent focus, together with any ideas and longer-term plans surrounding the project.
Here’s a refresh on where we currently stand. Trinity was released to mobile beta in late May and desktop beta in late August 2018. The codebase was open sourced with the release of desktop beta. Since then we have had an overwhelming response, with 10,000 active iOS users, 20,000 installs on active Android devices, and over 80,000 total desktop downloads across all versions. Over 740,000 transactions have been sent with Trinity, with a staggering total transaction value of around 2.7 Peta IOTA (i.e. the total supply of tokens). Furthermore, we now have hardware wallet support with the community team’s implementation for Ledger Nano S.
Public beta has been an invaluable time period in which we have been able to refine the core feature-set, ensure the wallet is feature complete, while still having a secure, functional app in people’s hands. But now we must look towards full release. Indeed many users will not feel completely comfortable using the wallet until the beta tag has been removed.
So what are the necessary steps to reach full release? In our Summer update we listed a number of important outstanding features. These have since been implemented and are either already in the latest beta release, or currently being tested in alpha. The last of the features we would like to have before full release (Realm database) will be released to alpha testers shortly.
We’d like to ensure that Trinity is as secure as possible, so a second comprehensive third party audit will be conducted before full release. While we’d love to give explicit timelines, there are always unpredictable extraneous factors that can delay things. However, we can tell you that we will be finalizing the codebase in the coming weeks, to be passed to audit in late February.
Here is a summary of some of the recent work completed and areas being worked on. The majority of work covers mobile and shared (desktop-specific updates have already been released).
- Add node quorum - Trinity will query multiple nodes on particular API calls (wereAddressesSpentFrom and getBalances) and only accept a result with 67% consensus, otherwise fallback to a safe result (#631) - Implement Realm database (#375) - Add additional spend status checks on send (#862) - Add address validation check to ensure last trit is 0 (#868) - Leverage new IRI 1.6 'features' prop to check attachToTangle availability (#913) - Block requests to nodes running beta, alpha and release candidate IRI releases (#805) - Validate https default port for custom nodes (#849) - Remove unnecessary sync checks (#884) - Temporarily remove getLatestInclusion from Quorum (#900) - Refine quorum timeouts (#903) - Fix a bug where another account's addresses are attached in snapshot transition (#889) - Fix selector for account names with special characters (#896) - Suggest to check device time in event of wrong 2FA token (#865)
- Update forced garbage collection when handling secrets in memory (#885)
- General UI overhaul (#514, #595, #624, #669, #771) - Upgrade to React Native 0.57 - various improvements, including performance (#438) - Update receive page UI (#796) - Add multi account polling -> accounts do not need to be selected to receive updates (#841) - New slider and progress bar component on Send page (#514, #781) - Page transition animations (#514, #595) - Dashboard animations (#595) - Tabbar animations (#595) - Modal window redesign and update styling for all modals (#514) - Fix frozen splash screen on Android (#855) - UI fixes for iPhone X/XS/XR (#624) - Fix text field keyboard avoidance (#767) - Ensure checksum is displayed in View Addresses (#646) - Fix View Addresses scrollable area (#834) - Replace loading animation (#781) - Re-enable SeedVault on iPhone X/XS/XR (#623, #624) - Update Android biometric UI (#931) - Reset node list on state migration (#810) - Fix modal layout issues on Android and iPhone X (#916) - Prevent RNDeviceInfo from creating a UIWebView -> load time improvements on iOS (#873) - Do not animate chart on tab switch to balance page (#834) - Check for NaN values in seed picker — fixes characters showing on multiple rows (#850) - Display an alert if an update is available (#617) - Add confirmation slider component (#514) - Animate onboarding complete balloons (#781)
If you have not been following the project, you can do so by starring the repo on Github. We welcome community pull requests and can help you get up to speed with everything in our discord channel #trinity-dev.
Join the IOTA Discord server here.