Skip to content

romanovichim/TonFunClessons_Eng

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lessons on developing smart contracts on FunC for The Open Network(TON)

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.

Create Smart Contracts on TON

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 🌟

Create a Pipeline to work with smart contracts

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

Get requests in TON

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

Authorization and sending transactions from UI in 5 minutes with TON Connect React UI

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

Golang Scripts - convenient scripts for working with TON

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

Bonus

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

Архив

Go to the lesson arhive

Development assistance

Ton: EQAvmc9oVnOvLFlUAgeNmZNZoKeDg9vTEiAQxNFw-t5mh3m7

LICENSE

CC BY-NC-ND 4.0 https://creativecommons.org/licenses/by-nc-nd/4.0/