Przejdź do głównej zawartości

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:

informacja

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

wskazówka dla początkujących

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:

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 konkursuZadaniaRozwiązania
TSC #5 (grudzień 2023 r.)Zadania
TSC #4 (wrzesień 2023 r.)ZadaniaRozwiązania
TSC #3 (grudzień 2022 r.)ZadaniaRozwiązania
TSC #2 (lipiec 2022 r.)ZadaniaRozwiązania
TSC #1 (marzec, 2022)ZadaniaRozwią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.

Dziennik zmian

Historia aktualizacji funC.