Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.
IOTA is an open-source distributed ledger built with the Internet of Things in mind. It can be leveraged for a number of purposes, including messaging with data integrity and feeless microtransactions.
Trinity was initially developed as a community wallet for the IOTA network, to improve the user experience of sending value tokens between different parties. However the Trinity codebase is currently being modularised to allow different components to be easily reused, in order to build other frontend applications that use the IOTA network.
Eclipse Trinity is a toolkit to support the cross-platform development of frontend applications on the IOTA network, based on the popular Trinity IOTA wallet.
The IOTA client libraries (eg https://iota.readme.io/docs/overview) and node software (eg https://github.com/iotaledger/iri, https://github.com/iotaledger/entangled) are out of scope for this project.
Eclipse Trinity is a cross-platform toolkit built with React / React Native, and with additional native components where necessary.
Core modules support basic functions such as seed storage, address generation and signing.
Feature modules may add functionality such as network dashboards, messaging and data management.
Design modules add UI customisability.
This project provides a quick entry point for developers exploring the IOTA network, and allows them to rapidly prototype concepts and business models. The governance framework and guidance of the Eclipse Foundation will help to ensure that development meets the requirements of the wider community.
The codebase is separated into three sections: mobile, desktop and shared. The mobile and desktop folders contain platform-specific code covering both functionality and UI. The shared folder contains all transactional logic, shared utils and libraries. Desktop is written in React and built with Electron. Mobile is written primarily in React Native and supports both Android and iOS. Some areas of both the mobile and desktop codebases use native modules, including signature generation, Proof of Work and address generation.
Intellectual Property currently lies with the IOTA Foundation, licensed under Apache 2.0.
Dependencies/licenses report (as of commit 997b0ba)
We are currently also considering adding as a dual license (on top of Apache v2.0):
EPL-2.0 with Secondary License GNU General Public License, version 2 with the GNU Classpath Exception.
All parts of the code were produced by the listed team, but they depend upon standard libraries. No problems are foreseen.
The initial contribution is already available and undergoing development. The first builds of the wallet are currently undergoing public beta testing (https://trinity.iota.org/). The roadmap for development is available here: https://trinity.iota.org/roadmap.
The codebase is currently being refactored to separate concerns and provide a more modular structure to reflect its evolution into a frontend toolkit for the IOTA network.
The current roadmap is available at https://trinity.iota.org/roadmap. Since open desktop beta, the code has been open-sourced and we are beginning to see more public contributions. There will also be a drive to increase engagement among IOTA’s development community, including improved documentation and design challenges.
A design team will undertake initial PoC development on different use cases to highlight the flexibility and functionality. The toolkit will also be made available during upcoming hackathons to drive uptake.