• Stars
    star
    610
  • Rank 73,473 (Top 2 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Client libraries for Tendermint/CometBFT in Rust!

tendermint-rs

Crate Docs Build Status Audit Status Apache 2.0 Licensed Rust Stable

Tendermint in Rust with TLA+ specifications.

Tendermint is a high-performance blockchain consensus engine for Byzantine fault tolerant applications written in any programming language.

Tendermint Core Compatibility

tendermint-rs has been tested for compatibility with Tendermint Core v0.34.21.

Requirements

Tested against the latest stable version of Rust. May work with older versions.

Semantic Versioning

We do our best to follow Semantic Versioning. However, as we are pre-v1.0.0, we use the MINOR version to refer to breaking changes and the PATCH version for features, improvements, and fixes.

We use the same version for all crates and release them collectively.

Documentation

See each component for the relevant documentation.

Libraries:

Releases

Release tags can be found on GitHub.

Crates are released on crates.io.

Contributing

The Tendermint protocols are specified in English in the tendermint/tendermint repo. Any protocol changes or clarifications should be contributed there.

This repo contains the TLA+ specifications and Rust implementations for various components of Tendermint. See the CONTRIBUTING.md to start contributing.

Resources

Software, Specs, and Documentation

Papers

License

Copyright Β© 2020 Informal Systems and contributors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use the files in this repository except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

More Repositories

1

quint

An executable specification language with delightful tooling based on the temporal logic of actions (TLA)
TypeScript
811
star
2

hermes

IBC Relayer in Rust
Rust
441
star
3

apalache

APALACHE: symbolic model checker for TLA+ and Quint
Scala
417
star
4

atomkraft

Advanced fuzzing via Model Based Testing for Cosmos blockchains
Python
77
star
5

cosmos.nix

A reproducible package set for Cosmos, IBC and CosmWasm
Nix
56
star
6

basecoin-rs

An example ABCI application making use of tendermint-rs and ibc-rs
Rust
55
star
7

modelator

Model-based testing tool
Python
53
star
8

tm-load-test

tm-load-test tool - Tendermint load test application
Go
46
star
9

themis-contract

A command line-based parameterized contracting tool
Go
46
star
10

unclog

Unclog your changelog
Rust
36
star
11

multisig

Painless multisig for many keys across many cosmos-sdk chains
Go
35
star
12

cross-chain-validation

TLA
33
star
13

modelator-py

Utilities for the TLA+ ecoystem and model-based testing using TLA+.
Python
28
star
14

CometMock

Drop-in replacement for CometBFT in end-to-end tests
Go
25
star
15

sovereign-ibc

Implementation of IBC modules by `ibc-rs` that can run with Sovereign SDK rollups
Rust
22
star
16

tla-apalache-workshop

Material for a workshop on Apalache and TLA+. To be populated with more examples.
22
star
17

vdd

Verification-Driven Development
21
star
18

testnets

Various different test network-related configurations for Tendermint
Python
15
star
19

audits

Security Audits by Informal Systems
TLA
15
star
20

hermes-ibc-workshop

Hermes IBC Workshop - Fungible Token Transfer (ics-20) between two Starport chains
TypeScript
14
star
21

cosmwasm-to-quint

Semi-automated modelling and Model-Based Testing for CosmWasm contracts
Rust
14
star
22

gm

Tool to manage local gaiad instances - without docker
Shell
13
star
23

flex-error

Rust
13
star
24

atomkraft-cosmos

TLA
12
star
25

verification

Specifications of the protocols and the experiments on their verification
9
star
26

hermes-sdk

Rust
9
star
27

jsonatr

JSON Artifact Translator
Rust
8
star
28

apalache-tests

Benchmarks for apalache
SMT
6
star
29

context-generic-programming

Context-generic programming guide
Rust
6
star
30

gopherator

Modelator's cousin for Golang
Go
5
star
31

apalache-bench

Apalache Bench Tests
HTML
5
star
32

vscode-itf-trace-viewer

VS Code extension for viewing ITF traces
TypeScript
5
star
33

mtcs

Multilateral Trade Credit Set-off
Rust
5
star
34

itf-rs

Rust library for consuming Apalache ITF traces
Rust
5
star
35

audit-celestia

Workspace set up for collaboration in the Celestia audit
Makefile
5
star
36

ibc-starknet

Meta repository for managing IBC Starknet projects
Cairo
4
star
37

stakooler

The koolest tool for Cosmos stakers
Go
4
star
38

megablocks

Prototype to investigate an Atomic IBC solution based on Megablocks
Go
4
star
39

quint-ml-experiments

F*
4
star
40

got

Game of Tendermint
Shell
4
star
41

themis-tracer

A tool for managing complex contexts for developing critical systems
Rust
4
star
42

quint-sandbox

Material used in interactive demos and tutorials
Bluespec
3
star
43

gravity-dex-demo

Instructions to run the Gravity Dex Demo
Go
3
star
44

chainpulse

Monitoring tool for IBC relayers
Rust
3
star
45

agoric-kernel-models

TLA+ models for Agoric Swingset Kernel
TLA
3
star
46

hydro

Hydro (aka AtomWars) project repo
Rust
3
star
47

kvstore-plus-plus

KVStore++ is an ABCI application that can be used for testing with multiple CometBFT releases
Go
2
star
48

hermes-hackatom-demo

Demo for Hackatom - Hermes
TypeScript
2
star
49

cycles-sandbox

A playground for Cycles demos, experiments and prototypes.
Rust
2
star
50

apalache-chai

Chai: Client for Human-Apalache Interaction
Python
2
star
51

ics29-fee-tla

TLA
2
star
52

consumer-chain-tool

One-click Consumer Chain Tool
Go
2
star
53

sov-rollup-starter

Rust
2
star
54

itf-go

Go library for un/marshalling ITF files
Go
2
star
55

quint_awesomwasm24_workshop

Bluespec
2
star
56

merkleeyes

Go
1
star
57

OsmosisAtomkraft

Informal Systems Atomkraft adaptations and TLA specs for Osmosis audit project
TLA
1
star
58

euc

End-user computing for a better user experience
Shell
1
star
59

safe-regex

Fork of https://gitlab.com/leonhard-llc/safe-regex-rs
Rust
1
star
60

noir-ecies

Roff
1
star
61

ignite-blog

Cosmos-SDK blockchain following Ignite's Blog tutorial
TypeScript
1
star
62

economics-analysis

Economics analysis for various projects
1
star
63

ibc-proto

IBC Proto Rust implementation
Rust
1
star
64

reactor-experiments

Experiments to help us establish a concurrency architecture for Tendermint in Rust
Rust
1
star
65

cgp-workshop

Workshop materials for context-generic programming
Rust
1
star
66

partnership-heliax

Bluespec
1
star
67

cosmwasm-ibc

Facilities for implementing ibc-rs-powered light clients and applications as CosmWasm contracts.
Rust
1
star
68

hermes-sovereign-relayer

IBC Relayer for Sovereign SDK, powered by Hermes SDK
Rust
1
star