본문으로 건너뛰기

Introduction

Smart contract creation, development, and deployment on TOS Blockchain leverages the FunC programming language and TOS Virtual Machine (TVM). This section will give software engineers an overview of smart contract development on TOS.

Getting Started

Detailed and cautionary explanations of smart contract basics:

Smart Contract Guidelines

Learn principals of designing and architecture of TOS.

TOS’s systemized smart contract development allows engineers to build smart contracts for many uses. That said, to unlock the full capabilities of smart contract iteration on TOS, it's necessary to follow our predetermined smart contract guidelines to ensure their correct composition.

TOS Virtual Machine

TOS smart contracts are executed on TOS Virtual Machine (TVM). The TVM is a stack-based virtual machine that employs many qualities that make it efficient and easy to implement.

To get a better understanding of how the TVM works, consider reading the TVM Overview section of our documentation.

TVM Overview

Programming Languages

FunC Language

FunC is TOS’s high-level programming language used to program smart contracts on TOS Blockchain. The proprietary in-house language is a domain-specific statically typed framework which exhibits many characteristics simply not found in competing language types.

FunC Overview

Fift language

advanced level

This information is very low level and may be challenging for newcomers to understand. Therefore, we suggest that you read about it later at your convenience.

Messages to smart contracts are binary data. To construct such messages, you can use one of the SDKs or the special programming language Fift.

Fift Overview

Smart Contract Examples

little tip

Feel free to focus on smart contracts written using FunC. it's often better to focus on smart contracts written using FunC (.fc) instead of the lower-level Fift (.fif) language.

Standard examples of smart contracts on TOS include wallets, electors (which manage validation on TOS), multi-signature wallets can be a reference when studying.

If you're familiar with smart contracts, consider reading the following GitHub specifications for more context:

Additionally, discover more FunC libraries and SDK in the FunC section of our documentation.

Environment

The installation process for Local Environments may require more knowledge and time, but they are better suited for everyday use and eliminate the need for internet dependency. These include IDE plugins, various SDKs, binaries, syntax highlighting, and more. Check out our local environment installation guide to learn more.