Starter template for a new TWA interacting with the TON blockchain
This project is part of a set of 3 typical repositories needed for a blockchain dapp running on TON blockchain:
- Smart contracts in FunC that are deployed on-chain
- Web frontend for interacting with the dapp from a web browser (coming soon)
- Telegram bot for interacting with the dapp from inside Telegram messenger (this repo)
The project is highly-opinionated, and there are many other alternate routes it could have taken. Some examples:
- Supports only tonhub and its corresponding session mediating library, ton-x. Feel free to contribute support for other wallets!
- Uses vite with react (alternative to create-react-app)
- Uses the
ton
npm package
- Node.js v16 (other versions may work, needs more testing)
- Tonhub wallet installed on a mobile phone
- A react-based TWA-ready app, interacting with TON
- Github actions set to deploy app to github pages
- A script to connect a telegram bot to the deployed app
-
Create a template from this repo with the "Use this template" button
-
Clone this repo and run
npm install
-
Create a new bot with botfather
- Type
/newbot
- Choose a name for your bot, e.g.
My Ton TWA
- Choose a username for your bot, e.g.
my_ton_twa_482765_bot
- Take note of the access token, e.g.
5712441624:AAHmiHvwrrju1F3h29rlVOZLRLnv-B8ZZZ
- Run
node configure.js
to link your bot to the webapp
- Type
- Run
npm run dev
and edit the code as needed - On push to the
main
branch, the app will be automatically deployed via github actions.
- Jetton transfer support
- Light/dark theme handling
MIT