본문으로 건너뛰기

개요

FunC는 TON의 스마트 컨트랙트를 프로그래밍하는 데 사용되는 고수준 언어입니다.

FunC는 도메인 특화(domain-specific), 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 프로그램은 TON Virtual Machine용 바이트코드를 생성하는 Fift 어셈블러 코드로 컴파일됩니다.

이 바이트코드(TON 블록체인의 다른 모든 데이터처럼 본질적으로 cell의 트리)는 블록체인에 스마트 컨트랙트를 생성하거나 TVM의 로컬 인스턴스에서 실행하는 데 사용할 수 있습니다.

FunC Cookbook

FunC 문서

컴파일러

JS로 컴파일

스마트 컨트랙트 개발 및 컴파일을 시작하는 가장 편리하고 빠른 방법은 Blueprint 프레임워크를 사용하는 것입니다. Blueprint 섹션에서 자세히 알아보세요.

npm create ton@latest

원본 바이너리로 컴파일

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

정보

또는 FunC 컴파일러 소스 코드와 같은 소스 코드에서 바이너리를 생성할 수 있습니다(소스에서 FunC 컴파일러를 컴파일하는 방법 참조).

TON 코스: FunC

TON 블록체인 코스는 TON 블록체인 개발에 대한 종합적인 가이드입니다.

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

TON 블록체인 코스 보기

CHN

RU

튜토리얼

초보자 팁

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

커뮤니티 전문가들이 제공한 추가 자료:

콘테스트

콘테스트에 참여하는 것은 FunC를 배우는 좋은 방법입니다.

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

콘테스트 기록

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

스마트 컨트랙트 예시

월렛, 일렉터(TON의 검증을 관리), 다중 서명 월렛 등과 같은 표준 기본 스마트 컨트랙트는 학습할 때 참조로 사용될 수 있습니다.

변경 로그

funC 업데이트 기록.