Free TON

extraTON browser extension

Русскую версию читайте ниже.

As has been said at the SDK contest announcement:

Wide TON adoption depends of DApps ecosystem (Decentralized applications) that don't exist yet.

FreeTON community showed good examples of decentralized applications. For instance DApp Easy Vote which helps to save time for jurors. The main problem of such DApps is it requires your private keys. That might be a potential threat of security risk or loosing funds. By the way, my concern of keys leaking prevents me use these applications.

We pondered the problem and along the way researched solutions of other networks. Fortunately, we are not the first who was faced with such problem and not the first who tried to solve it. We were encouraged by solution in a form of a browser extension. It works like isolated layer which provides transparent and a secure mechanism for interaction DApps with blockchain and storing keys.

We made extension for google chrome browser and DApp for demonstrating how it works. If you don’t want to mess about installation you can watch video on youtube. It has taken our team (qwertys318 and maxvx) about one month.

Now details.
We named it extraTON. We made following functional for the start:

  • Creating keys and getting address in one click.
  • Deploying wallet contract.
  • Getting access to wallet by seed phrase.
  • Choosing network between main.ton.dev and net.ton.dev.
  • Ruby faucet.
  • Tokens transferring.
  • Deploy contracts by tvc and abi.
  • Call external contract functions.

Also DApps can interact with extension and blockchain:

  • Getting information about chosen network.
  • Call external contract functions.
  • Init tokens transferring.
  • Init contract deploying with custom amount.

The extension became available in the Chrome Store just yesterday after lengthy moderation. During this time, we released a new version and the extension went into a repeated moderation cycle. Therefore, we recommend using the latest version of the extension from the extraton.io website (there is a video tutorial), and not from the Chrome Store. Also there you can find links to the source code, roadmap, telegram group and much more soon.

image

To demonstrate the interaction of websites with the extension, we created the KINGTON application, in which you can publish a short message and then save it in the FreeTON blockchain.

Now it is important for us to get feedback from the community in order to synchronize our ideas with the FreeTON development vector. We believe that this will allow to focus on the things that really matter and benefit developers and ordinary users.

Join us on github and telegram group.


Как точно было сказано пару дней назад в анонсе к конкурсу SDK:

Массовое принятие TON зависит от экосистемы DApps (Децентрализованных приложений), которой пока не существует.

Сообщество FreeTON открыло примеры хороших децентрализованных приложений или DApps. Например, приложение Easy Vote, которое помогает жюри экономить время при голосовании. Основная проблема подобных приложений — все они запрашивают приватные ключи от кошельков, что может выступать потенциальной угрозой безопасности и риска потери денежных средств. К слову, моя обеспокоенность утечкой приватных ключей не позволила решиться на использование Easy Vote.

Мы размышляли о проблеме и попутно исследовали решения для других сетей. К счастью, мы не первые кто столкнулся с подобной проблемой и не первые, кто попытался её решить. Нас вдохновило решение в виде расширения к браузеру. Оно выступает в виде изолированной прослойки, которая обеспечивает для пользователя прозрачный и безопасный механизм хранения ключей, а также удобный интерфейс для приёма оплаты на сайтах и обращений к методам смарт-контрактов.

Мы сделали расширение для браузера Chrome и приложение демонстрирующее приём оплаты с его помощью. Если не хотите возиться с установкой, посмотрите видео на YouTube. На это нашей команде, состоящей из qwertys318 и maxvx, ушло около месяца разработки в свободное от работы время. А теперь подробности.

Мы назвали расширение extraTON и на старте добавили следующие возможности:

  • В один клик создавать пару ключей и получать адрес в сети
  • Деплоить контракт кошелька
  • Получать доступ к кошельку по существующей парольной фразе
  • Перключаться между сетями main.ton.dev и net.ton.dev
  • Быстро пополнять баланс рубинов для тестовой сети
  • Выполнять переводы рубинов и кристаллов TON
  • Деплоить смарт-контракты на основе tvc и abi
  • Вызывать методы внешних контрактов для получения данных

При этом веб-сайт может проверить установку браузерного расширения и воспользоваться его API для различных целей

  • Получать информацию о подключении к сети
  • Вызывать методы внешних контрактов и получать из них данные
  • Инициализировать перевод рубинов и кристаллов TON
  • Инициализировать деплой контракта с запросом суммы платежа

Расширение буквально вчера стало доступно в Chrome Store после продолжительной модерации. За это время мы успели выпустить новую версию и расширение ушло на повторный цикл модерации. Поэтому, рекомендуем воспользоваться свежей версией расширения с сайта extraton.io(есть видеоинструкция), а не из Chrome Store. Так же там вы можете найти ссылки на исходный код, дорожную карту, группу в телеграм и скоро многое другое.

image

Для демонстрации взаимодействия веб-сайтов с расширением, мы создали приложение KINGTON, в котором можно опубликовать короткое сообщение с последующим сохранением в блокчейне FreeTON.

Сейчас нам важно получить обратную связь от сообщества, чтобы синхронизировать наши идеи с вектором развития FreeTON. Мы верим, что это позволит сфокусироваться на действительно важных вещах и принести пользу разработчикам и обычным пользователям.

Присоединяйтесь к нам на github и telegram.

21 Likes

Great job! :fire:
However, I will abstain from inputting my seed phrase until the resource is officially approved and accepted as a secure one .

5 Likes

Wonderful work! Thanks!

2 Likes

Thanks for your effort in improving your project! This is indispensable for many TON users, and increases confidence when they see TON project managers working to facilitate things for their users. This means that the TON it is on the good hands.

2 Likes

Quite a necessary project/solution. Full support!

1 Like

Very much impressive :heart_eyes: so informative thanks for sharing such an amazing publication. We appreciate your efforts to write up a long topic in both english and Russian language. The project aims to facilitates a lot of thing which shows how much the teams are working hard towards the projects.

3 Likes

Great effort!
However when i use the same seed on your extension and in Surf they give different account addresses.

Example:
seed: “trouble aim flight click caution skill involve oak quality basket matrix acid”
extraTON says my address is 0:11684118bc3062a07126191bf17a650dbb101aff809eb79a9c64b061f4b9b97b
TON Surf says my address is 0:ed9dbd03cb988ad8a3d8965dad6cf2c4682560c9209ab61ba554a5e9769fb16f

Did you use the precompiled SetcodeMultisigWallet from tonlabs/ton-labs-contracts repository?
Or did you compile it by yourself?
Or maybe you used another wallet contract?

Anyway nice work man.

3 Likes

Hello, thank you.
Yes, we are using precompiled SetcodeMultisigWallet.tvc by ton-labs.
You found very interesting thing.
I tried to get address by tonos-cli:

tonos-cli getkeypair ./tmp/tmp.keys.json "trouble aim flight click caution skill involve oak quality basket matrix acid"
tonos-cli genaddr ./SetcodeMultisigWallet.tvc ./SetcodeMultisigWallet.abi.json --setkey ./tmp/tmp.keys.json
Raw address: 0:11684118bc3062a07126191bf17a650dbb101aff809eb79a9c64b061f4b9b97b

So, this address matching with extraTON address and not matching with surf.
Easy to assume we using different contracts. However, i have one seed phrase and i’m getting same address either in surf and extraTON by this phrase.
So, i will try to discuss that with surf developers.

Thank you

3 Likes

You can check in ton.live that SetcodeMultisig contract used by the main givers and Surf contract have different code hashes. The Surf code is only different in the phrase on license but it produces a completely different hash. So, if you deploy a contract with a new service, you are able to check the code hash of the deployed contract whether it’s the same as in the main givers.

4 Likes

Yes, thank you very much.
We found the problem.
Surf is using 2 contracts:

  1. SetcodeMultisigWallet2.sol for wallets not older 2 months.
  2. SetcodeMultisigWallet.sol for wallets older 2 months.

Probably, when owner is logging in, surf checking both addresses and choose contract dynamically.

So, now we are thinking about best way for extraTON to solve this problem.
Actually, we already had an idea to provide option of choosing contract in settings.

1 Like

Actually, Surf automatically updated all user contracts to SetcodeMultisigWallet2.sol with set code. You can find the previous contract version only in those apps that have not been updated since mid August. How Surf retains the old addresses for contracts deployed before that date - it’s an interesting question that could be asked in the Surf chat.

2 Likes

All these updates, facilities, and attention to the benefit and security of users are testament to the power of the Ton Project which is developing itself every day. Cryptocurrencies are those that really follow cryptocurrency’s basic ideas of anonymity and decentralization.

2 Likes

Good news. I think that extension for Dapp is very important for users. I believe we will see a lot of Dapps in the future.

2 Likes

Dapp creation to a project help to improve the popularity of a project and derives attentions of user to that project. Therefore there is assurance that if more dapps at created there I full assurance that the project future will be potential with time😉.

2 Likes

Documentation now available https://docs.extraton.io/

2 Likes

Version 0.3.1 now available in Google Chrome Store
The main feature of this release is functional for choosing wallet contract you want to use.
Also was fixed some minor bugs.

4 Likes