Overview
This article helps you choose the right tools for application development in TON Ecosystem.
TMA development
- Use Mini Apps SDKs for Telegram Mini Apps development.
- Choose JS/TS-based SDK to interact with TON Blockchain.
DApps development
- Use Tolk, FunC, or Tact programming languages to develop TON Blockchain smart contracts for your dApp.
- To interacts with TON Blockchain and process its data, choose one of the listed SDKs. One of the most popular languages for this purpose include:
- To integrate user authentication and payments processing via with their TON wallets, use TON Connect.
TON data analytics
Developers often need to run analytical queries on top of on-chain data—for example, to track historical changes and aggregate data from multiple accounts. Since blockchains are not designed for analytical workloads, you need to build an indexing pipeline and run off-chain analytical queries. Creating such pipelines from scratch can be resource-consuming, so you can use one of these alternatives:
- Dune analytics provides tables with TON data, including raw transactions and messages, jetton events, and DEX trades. Dune allows building custom charts and dashboards, fetch query results via API and set up alerts. Before writing queries, check this guide for best practices, tips, and tricks.
- Dune integration is runs on the public data lake from the ton-etl project. This parsing and decoding pipeline dumps raw and decoded data into an S3 bucket s3://ton-blockchain-public-datalake/v1/ in AVRO format. The bucket is publicly available and everyone can use it with Amazon Athena (see DDLs) or Apache Spark. The data updates daily.
- If you need real-time on-chain data tracking, you can run your own Ton Node and launch ton-etl or ton-index-worker.
- Chainbase offers a set of raw and decoded tables with TON data. It allows you to run SQL queries and fetch results via API.
Infrastructure status
- status.toncenter - Displays various node activity statistics from the last hour.
- Tonstat.us - A real-time Grafana dashboard, updated every 5 minutes.