This repo helps you create a mini application integrated with Ethereum and Telegram. Follow the steps below to set up and run the project.
Ensure you have the following installed on your machine:
-
Clone the repository or click on the "Use this template" button:
git clone https://github.com/HAPPYS1NGH/tg-mini-app-nextjs
-
Navigate to the project directory:
cd tg-mini-app-nextjs
-
Create a
.env.local
file in the root directory and copy the contents of.env.sample
:-
Obtain the WalletConnect project ID from WalletConnect.
-
Make sure to select the App Kit.
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=<your_wallet_connect_project_id>
- According change the other environment details to development or production.
-
-
Install dependencies:
Using npm:
npm install
or using yarn:
yarn install
-
Start the development server:
Using npm:
npm run dev
or using yarn:
yarn dev
-
Open your web browser and navigate to
http://localhost:3000
to view the application.
To test your application within Telegram, you need to expose your local server using a tunneling service like ngrok or localtunnel.
Start the development server:
Using npm:
npm run expose
or using yarn:
yarn expose
Alternatively:
You can always use ngrok or any proxy service to expose the endpoint.
-
Open Telegram and search for
BotFather
. -
Register a new bot by using the /newbot command and follow the prompts to choose a name and username.
-
While in BotFather, use the /setmenubutton command (It may not autocomplete).
-
Paste the URL for your App in which will be LocalTunnel's during development.
-
Set the name of the button which will be used to start the mini app.
-
Go to the Bot and now you can see a small button next to the chat which will bring up the Mini App.
-
Repeat the steps 3-7 when you have the production URL.
Web Apps inside Telegram in the form of a bot.
Mini Apps offer Telegram-specific UI elements like Main Button, Popups, Telegram Theme Params, and Viewport. They also provide features like Telegram Authentication, Cloud Storage, and more.