原英文文档地址: https://book.clarity-lang.org/ch07-01-creating-a-new-project.html
创建一个新项目
对于我们的第一个项目,我们将创建一个多人计数智能合约。该智能合约将有以下特点。
一个数据存储,为每个用户保存一个计数器。
一个公共函数 count-up ,为 tx-sender 增加计数。
一个公共函数 get-count ,返回用户当前的计数器值。
一旦智能合约完成,我们将研究如何与项目进行手动交互以及如何编写自动测试。
初始化项目文件夹
让我们从创建一个新的文件夹开始,这个文件夹将包含各种项目。给文件夹命名 projects 。在编辑器 Visual Studio Code 中打开该文件夹,通过进入终端菜单项并选择新终端来打开内置的终端模拟器。
我们将使用 Clarinet 创建一个名为 counter 的新项目。在终端屏幕上输入以下内容。
clarinet new counter
Clarinet 将创建一些目录和文件。我们稍后将讨论这些文件。
Creating directory counter
Creating directory counter/contracts
Creating directory counter/settings
Creating directory counter/tests
Creating file counter/Clarinet.toml
Creating file counter/settings/Development.toml
Creating file counter/settings/Mocknet.toml
Creating directory counter/.vscode
Creating file counter/.vscode/settings.json
counter 目录将是我们的工作目录。你可以在 Visual Studio Code 中重新打开这个文件夹,或者在终端中用 cd counter 的命令找到这个文件夹。
添加一个新的智能合约程序
在 counter 文件夹内,我们用命令创建一个新的 Clarity 智能合约程序。
clarinet contract new counter
Clarinet 将创建一个模板式的 Clarity 智能合约程序和测试文件,并将智能合约程序添加到配置文件中。
Creating file contracts/counter.clar
Creating file tests/counter_test.ts
Adding contract counter to Clarinet.toml
现在让我们打开 Clarinet.toml 。这是这个项目的 Clarinet 配置文件。它包含对所有智能合约文件及其依赖关系的引用。在我们的例子中,只列出了一个智能合约,但对于多智能合约项目,你可以指定它们之间的关系。
[project]
name = "counter"
requirements = []
[contracts.counter]
path = "contracts/counter.clar"
depends_on = []
在 settings 目录中找到这些文件用于部署智能合约。
Development.toml 包含了在运行测试和控制台模式下使用的配置。
Mocknet.toml 是一个用于在 mocknet 链上部署的模板。
我们将在后面的章节中学习它们。它们的内容对我们目前的项目并不重要,但提前知道它们的用途是很好的。
下面是最终结果的样子。你可以看到你的项目文件在左边,终端窗口在右下方,编辑器在右上方。