Ink 开源项目使用教程
inkPolkadot's ink! to write smart contracts.项目地址:https://gitcode.com/gh_mirrors/ink4/ink
1. 项目的目录结构及介绍
Ink 项目的目录结构如下:
ink/
├── Cargo.toml
├── README.md
├── src/
│ ├── lib.rs
│ ├── contract.rs
│ ├── traits.rs
│ └── ...
├── .gitignore
└── ...
Cargo.toml
: 项目的依赖和元数据配置文件。README.md
: 项目介绍和使用说明。src/
: 源代码目录。lib.rs
: 项目的主入口文件。contract.rs
: 合约逻辑实现文件。traits.rs
: 合约接口定义文件。
.gitignore
: Git 忽略文件配置。
2. 项目的启动文件介绍
Ink 项目的启动文件是 src/lib.rs
。这个文件是项目的入口点,包含了合约的基本配置和初始化逻辑。
#[ink::contract]
mod my_contract {
#[ink(storage)]
pub struct MyContract {
value: u32,
}
impl MyContract {
#[ink(constructor)]
pub fn new(init_value: u32) -> Self {
Self { value: init_value }
}
#[ink(message)]
pub fn get(&self) -> u32 {
self.value
}
}
}
3. 项目的配置文件介绍
Ink 项目的配置文件是 Cargo.toml
。这个文件包含了项目的依赖、版本信息和其他元数据。
[package]
name = "my_contract"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]
edition = "2018"
[dependencies]
ink_primitives = { tag = "v3.0.0-rc3", git = "https://github.com/paritytech/ink" }
ink_lang = { tag = "v3.0.0-rc3", git = "https://github.com/paritytech/ink" }
[lib]
crate-type = ["cdylib"]
[package]
: 项目的基本信息,如名称、版本和作者。[dependencies]
: 项目的依赖库,如ink_primitives
和ink_lang
。[lib]
: 库的类型,指定为cdylib
以便于生成 WASM 文件。
inkPolkadot's ink! to write smart contracts.项目地址:https://gitcode.com/gh_mirrors/ink4/ink