Skip to content

TON blockchain web-extension. Fast, secure solution that will help you to interact with TON blockchain in the modern format.

License

Notifications You must be signed in to change notification settings

mytonwallet/web-extension

Repository files navigation

This repository is archived

Please use https://github.com/pertinaxwallet/web-extension

My TON wallet (MTW)

This repository contains source code for web-extension that allow interaction with Free Ton (freeTON) blockchain from your browser.

Security

  • Based on TON SDK with minimal required dependencies
  • Wallet keys decrypt only when needs and via in-memory password, that stores in the one variable
  • IndexedDb stores only common information, like transaction history, etc.
  • Key pair is encrypted with AES-GCM
  • Password checking is provided by the comparison of a random hex key with length 256 that is stored in indexedDb and its encrypted hash that was obtained by AES-GCM with password inclusion. In this case to get master password needs to decrypt encrypted data that must be equal to the hex string by 256 length
  • Code develops accordance with state-of-the-art security standards

Browser supporting

Architecture

Application

User flow

Tests

Testing system is based on selenium and mochajs for e2e testing and testing-library for components

To test need to run:

npm run test

Technical stack

Contribution

Anyone can participate in contribution. Pull request (PR) is welcome.

License

This repository provides by Apache License 2.0

Distribution and mode for developers

To prepare environment need to run:

npm i

To run developer mode:

npm start

To prepare build need to run:

npm run dist

This command will generate a zip file for each browser.

For the best developer environment we recommend to use launch tonlabs/local-node

To run local TON node you have to install docker

To start the local TON node just run:

npm run run-tonos

Documentation

All documentation you can find by this link

Translations

For now the extension is available on the followed languages:

  • English
  • Arabic
  • Amharic
  • Bulgarian
  • Bengali
  • Catalan
  • Czech
  • Danish
  • German
  • Greek
  • Spanish
  • Estonian
  • Persian
  • Finnish
  • Filipino
  • French
  • Gujarati
  • Hebrew
  • Hindi
  • Croatian
  • Hungarian
  • Indonesian
  • Italian
  • Japanese
  • Kannada
  • Korean
  • Lithuanian
  • Latvian
  • Malayalam
  • Marathi
  • Malay
  • Dutch
  • Norwegian
  • Polish
  • Portuguese (Brazil)
  • Portuguese (Portugal)
  • Romanian
  • Russian
  • Slovak
  • Slovenian
  • Serbian
  • Swedish
  • Swahili
  • Tamil
  • Telugu
  • Thai
  • Turkish
  • Ukrainian
  • Vietnamese
  • Chinese (China)
  • Chinese (Taiwan)

If you are native speaker on any other language and can help with translation, please use this file as source

Steps for a new release

  • Run tests
  npm run test
  • Create a commit with a description

  • Increase a version in package.json and manifest.json and update CHANGELOG file

  npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]

Usually after common commit needs to use patch

  npm version patch
  • Create builds for browsers
  npm run build

Requested features

  • Multi accounts
  • Dapp connector for the signing transactions, the signing messages, the encrypt/decrypt messages
  • Creating multisign wallet (many owners, requirement count more than 0)
  • Adding tokens and interactions with them
  • DePools supporting
  • Loading ABI for the smart contract interaction
  • Smart contract editing/compiling/deploying right from the web extension
  • Mobile version for IOS/Android platforms with the same functionality as in browsers
  • Qr codes for the payment system via the mobile version (the payment sending, ask payment, the deep link)
  • Onboarding library for Dapp for the quick installation of the web extension or the mobile version
  • Swipe operations
  • DEX supporting
  • Buying on external exchanges
  • Supporting of easy conversion between currencies
  • Hard wallet supporting
  • Fishing blacklist with the voting process on Free TON blockchain

About

TON blockchain web-extension. Fast, secure solution that will help you to interact with TON blockchain in the modern format.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published