Skip to content

A highly modularized white-labeling digital wallet framework

License

Notifications You must be signed in to change notification settings

tw-bc-group/TWallet

Repository files navigation


TWallet
TWallet

Contributions welcome Flutter License

A leading-edge digital wallet (blockchain-based) project with a token named DC/EP and DID (Decentralized Identifiers) capability and a DApp browser.

TWallet's What-Is

What Is A Digital Wallet

From wikipedia:

A digital wallet also known as "e-Wallet" refers to an electronic device, online service, or software program that allows one party to make electronic transactions with another party bartering digital currency units for goods and services. This can include purchasing items on-line with a computer or using a smartphone to purchase something at a store. Money can be deposited in the digital wallet prior to any transactions or, in other cases, an individual's bank account can be linked to the digital wallet. Users might also have their driver's license, health card, loyalty card(s) and other ID documents stored within the wallet. The credentials can be passed to a merchant's terminal wirelessly via near field communication (NFC). Increasingly, digital wallets are being made not just for basic financial transactions but to also authenticate the holder's credentials. For example, a digital wallet could verify the age of the buyer to the store while purchasing alcohol. The system has already gained popularity in Japan, where digital wallets are known as "wallet mobiles". A cryptocurrency wallet is a digital wallet where private keys are stored for cryptocurrencies like bitcoin.

What Is DID (Decentralized Identifiers)

From wikipedia:

Decentralized identifiers (DIDs) are a type of identifier that enables a verifiable, decentralized digital identity. They are based on the Self-sovereign identity paradigm. A DID identifies any subject (e.g., a person, organization, thing, data model, abstract entity, etc.) that the controller of the DID decides that it identifies. These identifiers are designed to enable the controller of a DID to prove control over it and to be implemented independently of any centralized registry, identity provider, or certificate authority. DIDs are URLs that associate a DID subject with a DID document allowing trustable interactions associated with that subject. Each DID document can express cryptographic material, verification methods, or service endpoints, which provide a set of mechanisms enabling a DID controller to prove control of the DID. Service endpoints enable trusted interactions associated with the DID subject. A DID document might contain semantics about the subject that it identifies. A DID document might contain the DID subject itself (e.g. a data model).

What Is A DApp

From wikipedia:

A decentralized application (DApp, dApp, Dapp, or dapp) is a computer application that runs on a distributed computing system. DApps have been popularized by distributed ledger technologies (DLT) such as the Ethereum Blockchain, where DApps are often referred to as smart contracts.

What is a DApp Browser

A decentralized app (DApp) browser is a combination of a messaging interface and a UX that enables users to interact with decentralized applications.

User Guide

How To Try The App

We don't plan to release this app to the app market at this stage. If you want to try directly, you can apply here.

Welcome Feedbacks

Please don't be stingy to give us feedback. You can go to issues page and submit with the existed labels or a new one. We will deal with it as soon as possible.

For Developers

Quick Start

  1. make sure you have flutter --version installed
Flutter 3.3.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 4f9d92fbbd (11 days ago) • 2022-09-06 17:54:53 -0700
Engine • revision 3efdf03e73
Tools • Dart 2.18.0 • DevTools 2.15.0
  1. flutter doctor to check your flutter environment and find which device you can use to build the app

  2. flutter pub get install all dependencies if it is the first time

  3. flutter test run all tests

  4. flutter run -d <device> run the project in specific device. please run flutter emulators first if you want to launch a emulator instead of a device.

Contributing

If you have read up till here, then 🎉🎉🎉. There are couple of ways in which you can contribute to this growing project.

  • Pick up any issue marked with labels
  • Propose any feature, enhancement
  • Report a bug
  • Fix a bug
  • Participate in a discussion and help in decision making
  • Send in a Pull Request :-)

Reminding

The codebase follows the BSD 3-Clause License. Please do not package and upload this code to the application market at will!