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 OverviewProgramming 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 OverviewFift language
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 OverviewSmart Contract Examples
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.