前端框架选型是企业提升开发效率与用户体验的关键因素
1187
2022-10-10
IOV Weave - 用于构建Tendermint ABCI应用程序,易于使用的框架(iov客户端)
Iov Weave
IOV Weave is a framework for quickly building your custom ABCI application to run a blockchain on top of the best-of-class BFT Proof-of-stake Tendermint consensus engine. It provides much commonly used functionality that can quickly be imported in your custom chain, as well as a simple framework for adding the custom functionality unique to your project.
Note: Requires Go 1.9+
It is inspired by the routing and middleware model of many web application frameworks, and informed by years of wrestling with blockchain state machines. More directly, it is based on the official cosmos-sdk, both the 0.8 release as well as the future 0.9 rewrite. Naturally, as I was the main author of 0.8.
While both of those are extremely powerful and flexible and contain advanced features, they have a steep learning curve for novice users. Thus, this library aims to favor simplicity over power when there is a choice. If you hit limitations in the design of this library (such as maintaining multiple merkle stores in one app), I highly advise you to use the official cosmos sdk.
On the other hand, if you want to try out tendermint, or have a design that doesn't require an advanced setup, you should try this library and give feedback, especially on ease-of-use. The end goal is to make blockchain development almost as productive as web development (in golang), by providing defaults and best practices for many choices, while allowing extreme flexibility in business logic and data modelling.
For more details on the design goals, see the Design Document
Prerequisites
golang 1.9+
Instructions
First, make sure you have set up the requirements. If you have a solid go and node developer setup, you may skip this, but good to go through it to be sure.
Once you are set up, you should be able to run something like the following to compile both mycoind (sample app) and tendermint (a BFT consensus engine):
go get github.com/iov-one/weavecd $GOPATH/src/github.com/iov-one/weavemake depsmake install# test it built properlytendermint version# 0.29.1-xxxxxmycoind version# v0.11.1
Note that this app relies on a separate tendermint process to drive it. It is helpful to first read a primer on tendermint as well as the documentation on the tendermint cli commands.
Once it compiles, I highly suggest going through the tutorials on readthedocs
Compatibility Charts
Weave | Tendermint |
---|---|
v0.11.1 | v0.29.1 |
v0.11.0 | v0.27.4 |
v0.10.x | v0.27.4 |
v0.9.3 | v0.25.0 |
Weave | Protobuf compatible to previous version |
---|---|
v0.11.1 | |
v0.11.0 | |
v0.10.2 | |
v0.10.1 | |
v0.10.0 | |
v0.9.3 |
History
The original version, until v0.6.0 was released under confio/weave. The original author, Ethan Frey, had previously worked on the Cosmos SDK and wanted to make a simpler framework he could use to start building demo apps, while the main sdk matured. Thus, confio/weave was born the first few months of 2018. This framework was designed to be open source and shared, but the only real usage and development was by IOV, so it was donated to that organization in August 2018 to be developed further for their BNS blockchain, as well as a companion to iov-core client libraries that deprecated confio/weave-js
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~