Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/notional-labs/kitteh
tendermint in rust
https://github.com/notional-labs/kitteh
Last synced: 3 months ago
JSON representation
tendermint in rust
- Host: GitHub
- URL: https://github.com/notional-labs/kitteh
- Owner: notional-labs
- License: gpl-3.0
- Created: 2023-11-07T18:10:28.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2023-11-07T18:10:49.000Z (12 months ago)
- Last Synced: 2024-04-09T14:23:15.060Z (7 months ago)
- Size: 15.6 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ccamel - notional-labs/kitteh - tendermint in rust (Misc)
README
# Kitteh: tendermint in Rust
## Why rust?
* C is too slow to write this much code rapidly
* C++ is dying, outside of the Boost libraries
* Go presents problems
* CGO FFI
* memory leaks
* it is necessary to use Go in a non-idiomatic manner when building a blockchain, because we require determinism
* goroutines aren't good for deterministic software
* channels aren't
* emxample
* Better low level library support
* Lower memory consumption for blockchain applications in production
* More rigorous compiler
* V, Nim, and Zig aren't mature enough yet##
## Theses
* IBC or similar proof based systems will be used for:
* blockchain scaling
* safety
* communication between distinct networks
* Rust is the most suitable language for:
* blockchains
* static blockchain applications, like the cosmos-sdk
* smart contracts
* Substrate/Grandpa/BEEFY lack the clear finality guarantees that tendermint brings
* In every known case, when building these systems in Go, we encounter:
* Issues with the garbage collecgtor
* Issues with CGO FFI
* Memory Leaks
* Tendermint can be ported to rust for less than $1,000,000 in less than one year
* The "surgical" practices of Informal Systems result in the dumb kind of conservatism
* Context switching between Rust and Go as currently seen throughtout Cosmos is extremely harmful to developer productivity.
* This also seems to affect the productiivty of humans leveraging LLMs and such
* AI systems will soon do most programming tasks, but they'll require skilled humans to verify the code.## Tools
Kitteh should be primarily developed by humans using LLMs. This approach will let us move more rapidly than our counterparts, and deliver software at a lower cost than our counterparts.
To ensure the growth of an ecosystem around kitteh, we should document our techniques. Within 2 years we should anticipate the development of systems that are able to read, understand, and optimize kitteh's codebase.
* OpenAI 128k token "turbo"
*
* xAI
* 01ai
* cursor editor## What shouldn't change
* ABCI
* Consensus
*## What needs to be removed
* 26657
* the RPC & websocket## What needs to change
* tight coupling of consensus and p2p -- consensus code should not be in p2p and vice versa
* the current p2p stack in favor of libp2p