概述
Hyperledger Sawtooth 是一个用于构建分布式账本应用程序和网络的企业区块链平台。设计理念的目标是保持分类帐分布式并使智能合约安全,特别是对于企业使用。
Sawtooth 通过将核心系统与应用程序域分离来简化区块链应用程序开发。应用程序开发人员可以使用他们选择的语言指定适合其应用程序的业务规则,而无需了解核心系统的底层设计。
Sawtooth 也是高度模块化的。这种模块化使企业和联盟能够做出他们最有能力做出的政策决定。Sawtooth 的核心设计允许应用程序选择支持其独特业务需求的交易规则、许可和共识算法。
Sawtooth 是 Hyperledger 旗下的一个开源项目。
Sawtooth特点
Sawtooth 通过在应用程序级别和核心系统级别之间提供清晰的分离,使应用程序的开发和部署变得容易。Sawtooth 提供智能合约抽象,允许应用程序开发人员以他们选择的语言编写合约逻辑。
应用程序可以是本地业务逻辑或智能合约虚拟机。事实上,这两种类型的应用程序可以共存于同一个区块链上。Sawtooth 允许在交易处理层做出这些设计决策,这允许多种类型的应用程序存在于区块链网络的同一实例中。
每个应用程序都为其独特的需求定义自定义事务处理程序。Sawtooth 提供了几个示例交易系列,用作低级功能(例如维护链范围设置和存储链上权限)和特定应用程序(例如性能分析和存储块信息)的模型。
交易处理器 SDK 以多种语言提供,以简化新合约语言的创建,包括 Python、JavaScript、Go、C++、Java 和 Rust。提供的 REST API 通过使验证器通信适应标准 HTTP/JSON 来简化客户端开发。
具有Sawtooth许可功能的专用网络
[hidecontent type="logged" desc="隐藏内容:登录后可查看"]
Sawtooth 旨在解决许可(私有)网络的挑战。Sawtooth 节点集群可以通过单独的许可轻松部署。没有可能泄露交易模式或其他机密信息的集中式服务。
区块链存储指定权限的设置,例如角色和身份,以便网络中的所有参与者都可以访问此信息。
并行交易执行
大多数区块链需要串行事务执行,以保证网络上每个节点的顺序一致。Sawtooth 包含一个高级并行调度程序,可将事务拆分为并行流。基于事务访问的状态位置,Sawtooth 将事务的执行彼此隔离,同时保持上下文更改。
在可能的情况下,交易并行执行,同时即使对同一状态进行多次修改也能防止双花。与串行执行相比,并行调度在性能方面提供了巨大的潜在增长。
事件系统
Hyperledger Sawtooth 支持创建和广播事件。这允许应用程序:
- 订阅发生的与区块链相关的事件,例如提交新区块或切换到新分叉。
- 订阅由事务系列定义的应用程序特定事件。
- 将有关事务执行的信息中继回客户端,而不将该数据存储在状态中。
详细使用教程请参阅:
网页链接
[/hidecontent]