21个发布版本
0.1.14 | 2022年2月27日 |
---|---|
0.1.13 | 2022年1月31日 |
0.1.10 | 2021年12月8日 |
0.1.9 | 2021年11月23日 |
0.0.2 | 2021年7月30日 |
#3 在 #ewasm
每月49 次下载
36KB
1K SLoC
SewUp
Secondstate EWasm Utility Program,一个库,帮助你使用Rust将Ethereum项目缝合起来,就像在常见的后端开发一样。SewUp是基于Ethereum WebAssembly的区块链Rust合约框架,适用于任何Ethereum WebAssembly区块链。如果你对Rust合约框架有疑问,以及它们之间的区别,你可以查看合约框架的此维基页面。关于在Doc.rs上构建文档的问题,请使用主分支的文档。此外,还有一个维基网站可以帮助你使用SewUp,一旦你遇到问题或困惑,你可以在维基上了解更多。
幻灯片 & 演示
日期 | 事件 | 版本 | 幻灯片 | 视频 | 材料 |
---|---|---|---|---|---|
2021/12/03 | ParaState黑客松IV | 0.1.9 | hackthon4 | todo应用 | |
2021/11/12 | ParaState黑客松III | 0.1.7 | hackthon3 | 实用代币 | |
2021/11/3 | ParaState黑客松II | 0.1.6 | hackthon2 | record2 | 材料,拼图游戏 |
2021/10/30 | COSCon'21 | 0.1.4 | coscon21 | ||
2021/10/26 | ParaState黑客松 | 0.1.4 | hackthon1 | record1 | 材料 |
2021/09/07 | 版本0.1发布 | 0.1.0 | Hello,KV,RDB,ERC-20,ERC-721,ERC-1155 | ||
2021/06/19 | Rust聚会(北京) | 0.0.1 | 预发布 |
用法
将sewup
及其特性以及sewup-derive
添加到Cargo.toml中,然后按照以下设置其他部分,然后你就可以使用SewUp构建合约了。
特性列表(应选择以下之一或一个都不选)
- kv - 用于将合约编写为具有桶分区键值数据库
- rdb - 用于将合约编写为关系数据库
- token - 用于写入ERC-20、ERC-721、ERC-1155代币
- single-bucket(正在开发中)- 用于无桶分区的存储
此外,我们建议您使用anyhow
来处理结果和错误,但不限于,如果您想使用其他错误包,请查看#[ewasm_main(rusty)]
并了解更多。如果您想根据不同的处理程序编写返回不同类型数据的合约,请查看#[ewasm_main(auto)]
和EwasmAny
或rdb功能示例,了解如何使用ewasm编写灵活的智能合约。
开发
使用以下命令,您可以使用cargo-sewup轻松设置您的sewup项目。
cargo安装 cargo-sewup
cargo sewup init
您可以使用-m <rusty|auto>
选项初始化不同类型的sewup项目,您可以从ewasm_main!的文档和部署指南的wiki页面中了解更多关于项目配置的信息。
交互
有许多客户端可以与合约进行交互。
对于ERC代币,我们在wiki页面中提供了web3js
示例。您可以在kv或rdb功能的示例中找到与合约交互的客户端。您可以在修改合约地址后,在示例项目中对kv和rdb进行修改,然后使用Cargo run
与合约交互。
测试
运行cargo build --release --target=wasm32-unknown-unknown
,然后合约将在target/wasm32-unknown-unknown/release/*.wasm
中构建。此外,您可以在WasmEdge上运行部署的ewasm合约,并使用cargo test
对其进行测试,此外,当合约在WasmEdge上部署时,构造函数也将运行。如果您想了解更多关于测试流程的详细信息,请查看开发指南wiki页面中的测试合约部分。
调试
此外,您可以使用调试宏 sewup::ewasm_dbg!
对您的 ewasm 合同进行调试。另外,使用 ewasm_storage_debug!
可以轻松了解存储的详细信息。所有这些调试方法都应通过 cargo test -- --nocapture
输出的消息来测试合同。要了解更多关于使用方法,请查看 示例 文件夹中的示例。
部署
一旦您想使用 sweup 命令行工具将合同部署到支持 Ewasm 的任何网络,请阅读 部署指南 维基页面。
SewUp 开发
工作空间中有两个项目和几个示例,合同项目应使用目标 wasm32-unknown-unknown
和标志 -C link-arg=--export-table
构建。您可以在每个示例文件夹中运行 cargo test
来检查您的修改。
依赖关系
~23–41MB
~602K SLoC