3em 开源项目教程
1. 项目的目录结构及介绍
3em/
├── cli/
│ ├── src/
│ │ ├── main.rs
│ │ └── ...
│ └── Cargo.toml
├── contracts/
│ ├── js/
│ │ ├── contract.js
│ │ └── ...
│ ├── wasm/
│ │ ├── contract.rs
│ │ └── ...
│ └── evm/
│ ├── contract.sol
│ └── ...
├── docs/
│ ├── README.md
│ └── ...
├── helpers/
│ ├── js/
│ │ ├── helper.js
│ │ └── ...
│ ├── wasm/
│ │ ├── helper.rs
│ │ └── ...
│ └── evm/
│ ├── helper.sol
│ └── ...
├── src/
│ ├── lib.rs
│ └── ...
├── tools/
│ ├── benchmarks/
│ │ ├── smartweave/
│ │ │ ├── index.js
│ │ │ └── ...
│ │ └── ...
│ └── ...
├── Cargo.toml
└── ...
目录结构介绍
- cli/: 包含命令行工具的源代码和配置文件。
- src/: 命令行工具的主要源代码。
- Cargo.toml: Rust 项目的配置文件。
- contracts/: 包含不同语言编写的智能合约示例。
- js/: JavaScript 智能合约。
- wasm/: WebAssembly 智能合约(Rust 和 AssemblyScript)。
- evm/: EVM 智能合约(Solidity 和 Yul)。
- docs/: 项目文档,包括 README 文件。
- helpers/: 包含不同语言的辅助工具和库。
- js/: JavaScript 辅助工具。
- wasm/: WebAssembly 辅助工具(Rust)。
- evm/: EVM 辅助工具(Solidity)。
- src/: 项目的主要源代码。
- tools/: 包含用于测试和基准测试的工具。
- benchmarks/: 基准测试工具。
- Cargo.toml: 项目的 Rust 配置文件。
2. 项目的启动文件介绍
启动文件
- cli/src/main.rs: 这是命令行工具的入口文件,负责解析命令行参数并启动相应的功能。
- src/lib.rs: 这是项目的主要库文件,包含了项目的核心逻辑和功能。
启动流程
- 命令行工具: 用户通过命令行工具(
cli/src/main.rs
)启动项目,执行特定的命令(如运行合约、干运行等)。 - 核心库: 命令行工具会调用
src/lib.rs
中的函数,执行具体的操作。
3. 项目的配置文件介绍
配置文件
- Cargo.toml: 这是 Rust 项目的配置文件,定义了项目的依赖、版本、作者等信息。
- cli/Cargo.toml: 这是命令行工具的配置文件,定义了命令行工具的依赖和构建信息。
配置项
-
Cargo.toml:
[package]
: 定义项目的名称、版本、作者等信息。[dependencies]
: 定义项目依赖的库和版本。[features]
: 定义项目的特性(可选)。
-
cli/Cargo.toml:
[package]
: 定义命令行工具的名称、版本、作者等信息。[dependencies]
: 定义命令行工具依赖的库和版本。[features]
: 定义命令行工具的特性(可选)。
通过以上配置文件,开发者可以管理和配置项目的依赖和构建过程。