diff --git a/guides/first-smart-contract.mdx b/contract-dev/first-smart-contract.mdx similarity index 99% rename from guides/first-smart-contract.mdx rename to contract-dev/first-smart-contract.mdx index fa2e33ba7..14df538b3 100644 --- a/guides/first-smart-contract.mdx +++ b/contract-dev/first-smart-contract.mdx @@ -96,7 +96,7 @@ Every smart contract in TON is typically divided into three sections: **storage* - **Getters**: Provide read-only access to contract data without modifying state. For example, we’ll create a getter to return the current value of the counter. - Due to the [TON architecture](/guides/from-ethereum#on-chain-get-methods), getters cannot be called from other contracts. + Due to the [TON architecture](/from-ethereum#on-chain-get-methods), getters cannot be called from other contracts. Inter-contract communication is possible only through **messages**. diff --git a/docs.json b/docs.json index 97aba4ec5..b95f5402f 100644 --- a/docs.json +++ b/docs.json @@ -37,39 +37,7 @@ "pages": [ "start-here", "get-support", - { - "group": "Step-by-step guides", - "pages": [ - "guides/first-dapp", - "guides/first-smart-contract", - "guides/from-ethereum", - "guides/payment", - "guides/airdrop", - "guides/debug", - "guides/telegram", - "guides/tma", - "guides/react", - "guides/auth", - "guides/game", - "guides/dapp", - "guides/wallet", - "guides/cex", - { - "group": "Frontend", - "expanded": true, - "pages": [] - }, - { - "group": "Backend", - "pages": [] - }, - { - "group": "Mobile", - "pages": [] - }, - "guides/more" - ] - }, + "from-ethereum", { "group": "Ecosystem", "pages": [ @@ -137,6 +105,8 @@ "group": "TON Connect", "pages": [ "ecosystem/ton-connect/index", + "ecosystem/ton-connect/dapp", + "ecosystem/ton-connect/wallet", "ecosystem/ton-connect/manifest", "ecosystem/ton-connect/message-lookup", { @@ -342,6 +312,7 @@ { "group": "Contract development", "pages": [ + "contract-dev/first-smart-contract", { "group": "IDEs and editor plugins", "pages": [ diff --git a/ecosystem/interoperability/oracles/overview.mdx b/ecosystem/interoperability/oracles/overview.mdx index 3a0d7e714..fba7276f4 100644 --- a/ecosystem/interoperability/oracles/overview.mdx +++ b/ecosystem/interoperability/oracles/overview.mdx @@ -59,7 +59,7 @@ Read more: [Randomness in TON](/contract-dev/random) ## Oracles in TON -Since the TON execution model is asynchronous, the classic ways to interact with oracles (get methods during transaction) can't be applied here. You can learn about the differences in ["Coming from Ethereum"](/guides/from-ethereum) article. The best pattern to retrieve data from an oracle is the [Request-Response pattern](/contract-dev/carry-value) - you send an internal message to the oracle contract and verify the response, getting the needed data. +Since the TON execution model is asynchronous, the classic ways to interact with oracles (get methods during transaction) can't be applied here. You can learn about the differences in ["Coming from Ethereum"](/from-ethereum) article. The best pattern to retrieve data from an oracle is the [Request-Response pattern](/contract-dev/carry-value) - you send an internal message to the oracle contract and verify the response, getting the needed data. This model works well with pull oracles, since you can always guarantee the lowest possible latency for real-world data. If you use push oracle, you will still need to process two internal messages (request and response) to retrieve data. However, data relevance is limited by the data provider's up-time and pushing intervals: if the data provider pushes updated data every 10 minutes, you will commonly receive information that is outdated by 5 minutes. But using pull oracle, you can ensure pushes as often as your service needs by updating the data yourself. diff --git a/ecosystem/rpc/price.mdx b/ecosystem/rpc/price.mdx index d36ba8736..0e7f7a217 100644 --- a/ecosystem/rpc/price.mdx +++ b/ecosystem/rpc/price.mdx @@ -20,7 +20,7 @@ There is no established solution for real-time jetton swap market data; however, ## On-chain API -Currently, it is not possible to retrieve **historical** jetton prices on-chain - since TON contracts [are limited by storage](/guides/from-ethereum#limited-contract-storage), it is quite hard to implement such an API fully on-chain. However, it is possible to retrieve **current** prices via the Request-Response pattern on some DEXes; refer to the specific service documentation to learn more about it. +Currently, it is not possible to retrieve **historical** jetton prices on-chain - since TON contracts [are limited by storage](/from-ethereum#limited-contract-storage), it is quite hard to implement such an API fully on-chain. However, it is possible to retrieve **current** prices via the Request-Response pattern on some DEXes; refer to the specific service documentation to learn more about it. For example, on the [DeDust](https://dedust.io) DEX, it is possible to retrieve pool information on-chain using an internal message with the following [TL-B](/languages/TL-B/overview) schema: diff --git a/guides/dapp.mdx b/ecosystem/ton-connect/dapp.mdx similarity index 99% rename from guides/dapp.mdx rename to ecosystem/ton-connect/dapp.mdx index 454723e4d..427d857ec 100644 --- a/guides/dapp.mdx +++ b/ecosystem/ton-connect/dapp.mdx @@ -411,7 +411,7 @@ Discover wallet integration guides or explore complete examples: - + {/* */} diff --git a/ecosystem/ton-connect/index.mdx b/ecosystem/ton-connect/index.mdx index f4724d051..6faf4c92e 100644 --- a/ecosystem/ton-connect/index.mdx +++ b/ecosystem/ton-connect/index.mdx @@ -63,13 +63,13 @@ Proceed with integration and usage recipes. @@ -108,7 +108,7 @@ Follow the step-by-step guide. Or skim the related reference pages. @@ -155,29 +155,29 @@ For more, see the TON Connect articles from Google Docs. /> -## Complete integration recipes +{/* ## Complete integration recipes -Comprehensive guides that walk you through complete integration scenarios, covering everything from initial setup to production deployment. Each recipe includes code examples, best practices, and troubleshooting tips. + Comprehensive guides that walk you through complete integration scenarios, covering everything from initial setup to production deployment. Each recipe includes code examples, best practices, and troubleshooting tips. - + - + */} -## Curated guides and tutorials from the community +{/* ## Curated guides and tutorials from the community -Tutorials and guides created by the TON community to help developers integrate TON into their applications. They provide practical, real-world examples and alternative approaches to common integration challenges. + Tutorials and guides created by the TON community to help developers integrate TON into their applications. They provide practical, real-world examples and alternative approaches to common integration challenges. - + - + */} ## Join the community diff --git a/ecosystem/ton-connect/message-lookup.mdx b/ecosystem/ton-connect/message-lookup.mdx index d79d3d370..07c30938a 100644 --- a/ecosystem/ton-connect/message-lookup.mdx +++ b/ecosystem/ton-connect/message-lookup.mdx @@ -7,7 +7,7 @@ import { Aside } from "/snippets/aside.jsx"; ## Introduction diff --git a/guides/wallet.mdx b/ecosystem/ton-connect/wallet.mdx similarity index 95% rename from guides/wallet.mdx rename to ecosystem/ton-connect/wallet.mdx index 5b1ad4356..26c003654 100644 --- a/guides/wallet.mdx +++ b/ecosystem/ton-connect/wallet.mdx @@ -106,11 +106,11 @@ Discover app integration guides or explore complete examples: - + {/* */} diff --git a/ecosystem/ton-connect/walletkit/index.mdx b/ecosystem/ton-connect/walletkit/index.mdx index 69de19146..1eef54495 100644 --- a/ecosystem/ton-connect/walletkit/index.mdx +++ b/ecosystem/ton-connect/walletkit/index.mdx @@ -21,7 +21,7 @@ First, follow this step-by-step guide: Then, follow relevant usage recipes: diff --git a/guides/from-ethereum.mdx b/from-ethereum.mdx similarity index 100% rename from guides/from-ethereum.mdx rename to from-ethereum.mdx diff --git a/guides/airdrop.mdx b/guides/airdrop.mdx deleted file mode 100644 index 852543784..000000000 --- a/guides/airdrop.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Airdrop: send a lot of tokens" ---- - -import { Stub } from '/snippets/stub.jsx'; - - diff --git a/guides/auth.mdx b/guides/auth.mdx deleted file mode 100644 index c91a5d2bc..000000000 --- a/guides/auth.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Auth with TON" ---- - -import { Stub } from '/snippets/stub.jsx'; - - diff --git a/guides/cex.mdx b/guides/cex.mdx deleted file mode 100644 index aef59b203..000000000 --- a/guides/cex.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "CEX: centralized exchange" ---- - -import { Stub } from '/snippets/stub.jsx'; - - diff --git a/guides/first-dapp.mdx b/guides/first-dapp.mdx deleted file mode 100644 index e1f7e9f1d..000000000 --- a/guides/first-dapp.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Your first dApp" ---- - -import { Stub } from '/snippets/stub.jsx'; - - diff --git a/guides/game.mdx b/guides/game.mdx deleted file mode 100644 index 6b1787cc8..000000000 --- a/guides/game.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Make a web game with Phaser" ---- - -import { Stub } from '/snippets/stub.jsx'; - - diff --git a/guides/more.mdx b/guides/more.mdx deleted file mode 100644 index 4d6c56e53..000000000 --- a/guides/more.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "More tutorials" ---- - -import { Stub } from '/snippets/stub.jsx'; - - diff --git a/guides/payment.mdx b/guides/payment.mdx deleted file mode 100644 index 441571edf..000000000 --- a/guides/payment.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Paying with TON" ---- - -import { Stub } from '/snippets/stub.jsx'; - - diff --git a/guides/react.mdx b/guides/react.mdx deleted file mode 100644 index 493578f76..000000000 --- a/guides/react.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "React apps" ---- - -import { Stub } from '/snippets/stub.jsx'; - - diff --git a/guides/telegram.mdx b/guides/telegram.mdx deleted file mode 100644 index c07356432..000000000 --- a/guides/telegram.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Telegram bots" ---- - -import { Stub } from '/snippets/stub.jsx'; - - diff --git a/guides/tma.mdx b/guides/tma.mdx deleted file mode 100644 index 8dc97fcc9..000000000 --- a/guides/tma.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Telegram apps" ---- - -import { Stub } from '/snippets/stub.jsx'; - - diff --git a/guides/usdt.mdx b/guides/usdt.mdx deleted file mode 100644 index 666ca0d72..000000000 --- a/guides/usdt.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "USDT" ---- - -import { Stub } from '/snippets/stub.jsx'; - - diff --git a/index.mdx b/index.mdx index 220fe5b08..81e84d6db 100644 --- a/index.mdx +++ b/index.mdx @@ -147,13 +147,13 @@ export const JourneyStep = ({ title, icon, iconType, href, cta, children }) => {

- + /> */} { title="Writing your first smart contract" icon="4" iconType="solid" - href="/guides/first-smart-contract" + href="/contract-dev/first-smart-contract" /> { iconType="solid" href="/foundations/glossary#decentralized-application-dapp" /> - + /> */} { title="Coming from Ethereum" icon="ethereum" iconType="solid" - href="/guides/from-ethereum" + href="/from-ethereum" > Compare the execution model and the ecosystem of TON - From nothing to a deployed and working contract with a web frontend - + */} I cannot find where the "Introduction" page is in the new docs!!!!!!! - The best place to start developing with FunC is the [Introduction](/guides/first-smart-contract) section. + The best place to start developing with FunC is the [Introduction](/contract-dev/first-smart-contract) section. Below, you can find additional materials shared by community experts: diff --git a/standard/tokens/jettons/how-to-get-wallet-data.mdx b/standard/tokens/jettons/how-to-get-wallet-data.mdx index 8c544c05a..b969ac5eb 100644 --- a/standard/tokens/jettons/how-to-get-wallet-data.mdx +++ b/standard/tokens/jettons/how-to-get-wallet-data.mdx @@ -5,8 +5,7 @@ sidebarTitle: "Get Jetton wallet data" import { Image } from '/snippets/image.jsx'; -To retrieve the Jetton wallet's account jetton amount, owner identification information, and other details related to a specific Jetton wallet contract, -use the `get_wallet_data()` [get method](/guides/first-smart-contract#6-2-reading-contract-data-with-get-methods) within the Jetton wallet contract. +To retrieve the Jetton wallet's account jetton amount, owner identification information, and other details related to a specific Jetton wallet contract, use the `get_wallet_data()` [get method](/foundations/messages/overview) within the Jetton wallet contract. This method returns the following data: diff --git a/standard/wallets/comparison.mdx b/standard/wallets/comparison.mdx index 2e07d8d00..b4091f22a 100644 --- a/standard/wallets/comparison.mdx +++ b/standard/wallets/comparison.mdx @@ -2,7 +2,7 @@ title: "Comparison" --- -[Unlike some other blockchains](/guides/from-ethereum), wallets in TON are represented as distinct smart contracts. They handle transaction signing, replay protection, and even gasless transfers. Different wallet versions implement different custom logic, suitable for various use cases. +[Unlike some other blockchains](/from-ethereum), wallets in TON are represented as distinct smart contracts. They handle transaction signing, replay protection, and even gasless transfers. Different wallet versions implement different custom logic, suitable for various use cases. This article will cover the differences between these wallets and identify the best pick for each task. diff --git a/standard/wallets/history.mdx b/standard/wallets/history.mdx index a5bfdc11b..9c5aafa63 100644 --- a/standard/wallets/history.mdx +++ b/standard/wallets/history.mdx @@ -13,7 +13,7 @@ In this article, we will explore the various versions and modifications of TON w We should first understand that wallets are not a specific entity in the TON ecosystem. They are still just smart contracts consisting of code and data, and in that sense, are equal to any other actor (i.e., smart contract) in TON. -Read more about [differences](/guides/from-ethereum). +Read more about [differences](/from-ethereum). Like your own custom smart contract, or any other one, wallets can receive external and internal messages, send internal messages and logs, and provide `get methods`. So the question is: what functionality do they provide, and how do they differ between versions?