Przegląd
Język wysokiego poziomu FunC jest używany do programowania inteligentnych kontraktów w TON.
FunC jest specyficznym dla domeny, podobnym do C, statycznie typowanym językiem. Poniżej znajduje się prosta przykładowa metoda wysyłania pieniędzy napisana w FunC:
() send_money(slice address, int amount) impure inline {
var msg = begin_cell()
.store_uint(0x10, 6) ;; nobounce
.store_slice(address)
.store_coins(amount)
.end_cell();
send_raw_message(msg, 64);
}
Programy FunC są kompilowane do kodu asemblera Fift, który generuje odpowiedni kod bajtowy dla [TON Virtual Machine] (/learn/tvm-instructions/tvm-overview).
Ponadto ten kod bajtowy (w rzeczywistości [drzewo komórek] (/learn/overviews/cells), jak każde inne dane w TON Blockchain) może być wykorzystywany do tworzenia inteligentnych kontraktów w łańcuchu bloków lub może być uruchamiany w lokalnej instancji TVM.
Książka kucharska FunC
Dokumentacja FunC
Kompilator
Kompilacja z JS
Najwygodniejszym i najszybszym sposobem na rozpoczęcie tworzenia i kompilowania inteligentnych kontraktów jest użycie frameworka Blueprint. Więcej informacji znajdą Państwo w sekcji Blueprint.
npm create ton@latest
Kompilacja z oryginalnymi plikami binarnymi
Jeśli chcą Państwo używać natywnego kompilatora TON FunC lokalnie, potrzebne są binaria zainstalowane na Państwa komputerze. Binaria kompilatora FunC dla systemów Windows, MacOS (Intel/M1) i Ubuntu można pobrać ze strony:
Jednocześnie zawsze można utworzyć pliki binarne ze źródeł, np:\ kod źródłowy kompilatora FunC (proszę przeczytać jak skompilować kompilator FunC ze źródeł).
Kurs TON: FunC
Kurs [TON Blockchain Course] (https://stepik.org/course/176754/) to kompleksowy przewodnik po rozwoju TON Blockchain.
Moduł 4 w całości obejmuje język FunC i rozwój inteligentnych kontraktów.
Proszę sprawdzić kurs TON Blockchain
CHN
RU
Samouczki
Najlepsze miejsce do rozpoczęcia programowania przy użyciu FunC: WPROWADZENIE
Inne materiały zostały z wdzięcznością dostarczone przez ekspertów ze społeczności:
- Func & Blueprint by @MarcoDaTr0p0je.
- Naucz się FunC w Y minut by @romanowiczim
- TON Hello World: Przewodnik krok po kroku, jak napisać swój pierwszy inteligentny kontrakt
- TON Hello World: Przewodnik krok po kroku dotyczący testowania pierwszego inteligentnego kontraktu
- 10 FunC Lessons by @romanovichim, using blueprint
- 10 lekcji FunC (RU) przez @romanovichim, używając blueprintu
- FunC Quiz by Vadim - Dobry do samodzielnego sprawdzenia. Zajmie to 10-15 minut. Pytania dotyczą głównie FunC z kilkoma ogólnymi pytaniami o TON
- FunC Quiz (RU) by Vadim - FunC Quiz po rosyjsku
Konkursy
Udział w konkursach to świetny sposób na naukę FunC.
Mogą Państwo również zapoznać się z poprzednimi konkursami w celach edukacyjnych.
Konkursy Dziedzictwo
Opis konkursu | Zadania | Rozwiązania |
---|---|---|
TSC #5 (grudzień 2023 r.) | Zadania | |
TSC #4 (wrzesień 2023 r.) | Zadania | Rozwiązania |
TSC #3 (grudzień 2022 r.) | Zadania | Rozwiązania |
TSC #2 (lipiec 2022 r.) | Zadania | Rozwiązania |
TSC #1 (marzec, 2022) | Zadania | Rozwiązania |
Przykłady inteligentnych kontraktów
Standardowe podstawowe inteligentne kontrakty, takie jak portfele, elektorzy (zarządza walidacją w TON), portfele z wieloma podpisami itp. mogą być punktem odniesienia podczas nauki.