V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gitandgit
V2EX  ›  区块链

Clarity 智能合约开发语言系列教程—如何创建一个新项目

  •  
  •   gitandgit · 2022-04-02 09:40:57 +08:00 · 1121 次点击
    这是一个创建于 1000 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原英文文档地址: 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 链上部署的模板。

    我们将在后面的章节中学习它们。它们的内容对我们目前的项目并不重要,但提前知道它们的用途是很好的。

    下面是最终结果的样子。你可以看到你的项目文件在左边,终端窗口在右下方,编辑器在右上方。

    image

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3070 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:54 · PVG 18:54 · LAX 02:54 · JFK 05:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.