본문으로 건너뛰기

개요

하이레벨 언어인 FunC는 TON에서 스마트 컨트랙트를 프로그래밍하는 데 사용됩니다.

FunC는 도메인에 특화된 C와 유사한 정적 타입의 언어입니다. 다음은 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);
}

FunC 프로그램은 Fift 어셈블러 코드로 컴파일되어 [TON 가상 머신]에 해당하는 바이트코드를 생성합니다(/learn/tvm-instructions/tvm-overview).

또한 이 바이트코드(실제로는 TON 블록체인의 다른 데이터와 마찬가지로 셀 트리입니다)는 블록체인에서 스마트 컨트랙트를 생성하는 데 사용하거나 TVM의 로컬 인스턴스에서 실행할 수 있습니다.

FunC 요리책

FunC 문서

컴파일러

JS로 컴파일

스마트 컨트랙트 개발과 컴파일을 시작하는 가장 편리하고 빠른 방법은 블루프린트 프레임워크를 사용하는 것입니다. 자세한 내용은 [블루프린트](/개발/스마트 컨트랙트/sdk/자바스크립트) 섹션을 참조하세요.

npm create ton@latest

원본 바이너리로 컴파일

로컬에서 네이티브 TON 컴파일러 FunC를 사용하려면 컴퓨터에 바이너리를 설정해야 합니다. Windows, MacOS(Intel/M1) 및 Ubuntu용 FunC 컴파일러 바이너리는 다음에서 다운로드할 수 있습니다:

정보

동시에 언제든지 다음과 같은 소스에서 바이너리를 만들 수 있습니다:\ FunC 컴파일러 소스 코드(소스에서 컴파일하는 방법 참조).

TON 코스: FunC

톤 블록체인 코스](https://stepik.org/course/176754/)는 톤 블록체인 개발을 위한 종합 가이드입니다.

모듈 4는 FunC 언어와 스마트 컨트랙트 개발을 완전히 다룹니다.

TON 블록체인 코스 확인

튜토리얼

시작 팁

FunC를 사용하여 개발을 시작하기 가장 좋은 곳: 소개

커뮤니티의 전문가들이 친절하게 제공하는 기타 자료도 있습니다:

콘테스트

콘테스트](https://t.me/toncontests)에 참여하는 것도 FunC를 배울 수 있는 좋은 방법입니다.

학습 목적으로 이전 대회를 공부할 수도 있습니다.

콘테스트 레거시

콘테스트 설명작업솔루션
TSC #5(2023년 12월)작업
TSC #4(2023년 9월)작업솔루션
TSC #3(2022년 12월)작업솔루션
TSC #2(2022년 7월)작업솔루션
TSC #1(2022년 3월)작업솔루션

스마트 컨트랙트 예시

지갑, 선거인(TON에서 검증을 관리), 다중 서명 지갑 등과 같은 표준 기본 스마트 컨트랙트는 공부할 때 참고할 수 있습니다.

변경 로그

funC 업데이트 내역.