Lessons on developing smart contracts on FunC for The Open Network(TON). The lessons are located in the appropriate folders in .md format, and a code is attached to each lesson. Our community - here. The lessons are first done in Russian here, and then I gradually translate them into English, if you want to help - the donation addresses are below.
Number | Lesson | Considered concepts | Link |
---|---|---|---|
1 | Simple FunC Smart Contract | Types, exceptions, functions, contract deployment, GET requests in testnet | LINK |
2 | FunC tests for the first smart contract | FunC test logic, test structure, tuples | LINK |
3 | Messages, let's write a proxy contract | Messages, message modes, primitives, cell references | LINK |
4 | Testing messages | Addresses, TL-B, register c5 and output actions | LINK |
5 | Flags and data storage in a contract | Op - for identification of operations, Computational fees, primitive data storage in the contract | LINK |
6 | Testing flags and data storage in the contract | Various tests for flag messages and data storage in register c4 | LINK |
7 | HashMap storage | Working with Dictionaries (hashmap): storage, deletion, search | LINK |
8 | Testing HashMap storage | Testing HashMap(dictionaries), special toncli functions for testing, register c7 | LINK |
9 | Analyzing the Jetton Standard(Fungible Token) | Tokens, standards, Jetton standard, StateInit, workchains | LINK |
10 | Analyzing the NFT Standard (Non-Fungible Token) | NFT, standard NFT, collections and individual NFTs | LINK |
Writing such tutorials is a lot of work - I will be glad to see your star on the repository 🌟
Lesson | Considered concepts | Link |
---|---|---|
Simple smart contract in ton-community/sandbox | create a ton-community/sandbox project, write and compile a contract | LINK |
Writing tests in ton-community/sandbox | jest framework tests | LINK |
Deploying a smart contract using a QR code | pipeline for deploying a smart contract to the test network | LINK |
Chatbot smart contract | analyzing the smart contract for future message tests | LINK |
Writing onchain tests on the testnet | message test logic, onchain tests | LINK |
Author of lessons publishes new tutorials, writes about interesting blockchain companies here
Lesson | Considered concepts | Link |
---|---|---|
ton.js | Getting data from a smart contract using JS(ton.js) | LINK |
ADNL Protocol Intro | Connection to ADNL, getAccountState, getMasterchaininfo | LINK |
ADNL Run GetMethod | Get method call, NFT sales analytics logic | LINK |
Collect account txes using ADNL | Logical time, recent account transactions | LINK |
Lesson | Considered concepts | Link |
---|---|---|
TON Connect auth button | a simple site with authorization through TonConnect, the concept of separation into wallets and Web3 applications | LINK |
TON Connect send transaction | contract wrapper usage, send transaction, call get-method from ui | LINK |
Lesson | Considered concepts | Link |
---|---|---|
Create a wallet and deploy a smart contract | Working with TON using GO, creating a wallet, hexBOC contract form, sending messages, calling the GET method | LINK |
NFT collection creation | We get information about the NFT collection and an individual element, Deploy the collection and element to the network | LINK |
We issue our own tokens: ICO | Jettons ICO, Jetton wallet balance | LINK |
Lesson | Considered concepts | Link |
---|---|---|
Random in TON | Raffle Smart Contract, global variables and c4, admin functions for contract balance | LINK |
NFT Sale | Sale logic based on smart contracts,how to "burn" contract | LINK |
Hacking a simple contract | Vulnerability due to compiler optimization of the code in the absence of impure | LINK |
Ton: EQAvmc9oVnOvLFlUAgeNmZNZoKeDg9vTEiAQxNFw-t5mh3m7
CC BY-NC-ND 4.0 https://creativecommons.org/licenses/by-nc-nd/4.0/