Skeleton and Rust Architecture
In this article, you'll learn about the basic architecture behind the FT contract that you'll develop while following this "Zero to Hero" series. You'll discover the contract's layout and you'll see how the Rust files are structured in order to build a feature-complete smart contract.
If you are new to Rust and want to dive into smart contract development, our Quick-start guide is a great place to start.
Introduction
This tutorial presents the code skeleton for the FT smart contract and its file structure. You'll find how all the functions are laid out as well as the missing Rust code that needs to be filled in. Once every file and function has been covered, you'll go through the process of building the mock-up contract to confirm that your Rust toolchain works as expected.
Files structure
The repository comes with many different folders. Each folder represents a different milestone of this tutorial starting with the skeleton folder and ending with the finished contract folder. If you step into any of these folders, you'll find that they each follow a regular Rust project. The file structure for these smart contracts have:
Cargo.tomlfile to define the code dependencies (similar topackage.jsonin JavaScript and node projects)srcfolder where all the Rust source files are storedtargetfolder where the compiledwasmwill output to.
Source files
| File | Description |
|---|---|
| ft_core.rs | Contains the logic for transferring and controlling FTs. This file represents the implementation of the core standard. |
| lib.rs | Holds the smart contract initialization functions and dictates what information is kept on-chain. |
| metadata.rs | Defines the metadata structure. This file represents the implementation of the metadata extension of the standard. |
| storage.rs | Contains the logic for registration and storage. This file represents the implementation of the storage management standard. |
skeleton
├── Cargo.lock
├── Cargo.toml