This proposal has been approved and the Eclipse IOTA Trinity project has been created.
Visit the project page for the latest information and development.

Eclipse IOTA Trinity

Thursday, October 18, 2018 - 18:28 by Navin Ramachandran
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

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.

Scope

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.

Description

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.

Why Here?

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.

Future Work

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.

Project Scheduling

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.

Initial Contribution

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)

Source Repository Type