70 个版本 (10 个稳定版)
2.0.0 | 2023年11月15日 |
---|---|
1.8.0 | 2023年9月12日 |
1.7.2 | 2023年8月30日 |
1.7.0 | 2023年6月28日 |
0.1.0 | 2020年8月24日 |
#1081 in 神奇豆子
每月下载量 88 次
在 8 crates 中使用
720KB
18K SLoC
clarity-repl
Clarity 是一种 可判定 的智能合约语言,由 Blockstack 设计,旨在优化可预测性和安全性。智能合约允许开发者在区块链上编码关键业务逻辑。
一种编程语言是可判定的,如果你能从代码本身确定程序将做什么。Clarity 故意设计为图灵不完整,以避免 Turing complexity
。这允许对给定智能合约的整个调用图进行完全的静态分析。此外,我们支持类型和类型检查器,可以消除整个类别的错误,如意外的类型转换、重入性错误和读取未初始化的值。
读取-评估-打印循环 (REPL),也称为交互式顶层或语言外壳,是一个简单的交互式计算机编程环境,它接受单个用户输入(即单个表达式),评估(执行)它们,并将结果返回给用户;在REPL环境中编写的程序是分步执行的。
快速开始
从 cargo 构建
cargo install clarity-repl
从源代码构建 CLI
第一步是确保你已经安装了 Rust 和支持软件。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
然后,你可以克隆此仓库
git clone https://github.com/hirosystems/clarity-repl.git
cd clarity-repl
默认情况下,您将处于我们的开发分支,develop
,其中包含尚未发布的代码。如果您计划提交任何代码更改,那么这个分支适合您。如果您只需要最新稳定版本,请切换到主分支
git checkout main
然后进行构建和安装
cargo install --bin clarity-repl --path .
然后可以使用以下命令运行REPL
clarity-repl
构建WASM库
cargo install wasm-pack
wasm-pack build --target web --release -- --no-default-features --features wasm
初始功能集
- 评估清晰度表达式(算术、逻辑、哈希函数)
- 显示格式化错误
- 能够生成WASM构建
- 完全支持持久化数据(定义映射、定义数据变量、定义可变代币、定义非可变代币)
其他期望的功能(非详尽,非优先级排序)
- 显示文档
- 显示成本分析
- 显示事件
- 当检测到公共函数或特质时,将片段保存为可
contract-call?
的合约 - 能够播种STX余额
- 在浏览器中测试WASM构建
- 能够在Jupyter笔记本中编写Clarity合约
- 更简单的安装(通过brew等)
依赖项
~8–31MB
~458K SLoC