Skip to content

Collect libraries and packages about blockchain/cryptography in Rust

Notifications You must be signed in to change notification settings

brson/awesome-blockchain-rust

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 

Repository files navigation

Awesome Blockchain Rust

Collect libraries and packages about blockchain in Rust. include: cryptography, distributed, p2p, consensus and so on

Blockchain

  • CITA A high performance blockchain kernel for enterprise users.
  • CodeChain Programmable multi-asset chain.
  • Conflux The Rust implementation of Conflux protocol.
  • Exonum An extensible open-source framework for creating private/permissioned blockchain applications.
  • Grin Minimal implementation of the MimbleWimble protocol.
  • Holochain The core Holochain framework written in rust, a container API for running it (with rust and node implementations), and hdk-rust library for writing Zomes.
  • NEAR NEAR Protocol - scalable and usable blockchain.
  • Nervos CKB Nervos CKB is a public permissionless blockchain, the common knowledge layer of Nervos network.
  • Parity Bitcoin The Parity Bitcoin client.
  • Parity Ethereum The fast, light, and robust EVM and WASM client.
  • Parity Zcash Rust implementation of Zcash protocol.
  • Polkadot Polkadot Node Implementation.
  • Shasper Parity Shasper beacon chain implementation using the Substrate framework.
  • Solana Blockchain Rebuilt for Scale.
  • Witnet Open source implementation of Witnet decentralized oracle network protocol in Rust.
  • Zero-chain A privacy-preserving blockchain on Substrate.
  • Tari The Tari Digital Assets Protocol

Cryptography

Collection library

  • mesalink MesaLink is a memory safe and OpenSSL-compatible TLS library.
  • ring Safe, fast, small crypto using Rust. (curve25519, aes-gcm, sha-256, sha-384, sha-512, hmac, hkdf, pbkdf2, p-256, p-384, x25519, chacha20-poly1305, ed25519).
  • rust-crypto A (mostly) pure-Rust implementation of various cryptographic algorithms.
  • rustls A modern TLS library in Rust.
  • sodiumoxide Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium).

Symmetric cryptography

  • block-ciphers Collection of block cipher algorithms written in pure Rust. (AES, Blowfish, DES + 3DES, Kuznyechik, Magma, RC2, Twofish).
  • stream-ciphers Collection of stream cipher algorithms.

Public-key Cryptography / Asymmetric Cryptography

RSA
  • RSA RSA implementation in pure Rust. (PKCS1v1.5: Encryption & Decryption, Sign & Verify)
DH
  • x25519-dalek Fast and efficient ed25519 signing and verification in Rust. (dalek)

One-way Hash Function

  • hashes Collection of cryptographic hash functions written in pure Rust. (sha1, sha2, sha3, md4, md5, BLAKE2, RIPEMD-160, RIPEMD-320, GOST94, Grøstl, Streebog, Whirlpool)
  • tiny-keccak A tiny implementation of SHA-3, SHAKE, Keccak, and sha3sum in rust.
  • poseidon252 Starkad and Poseidon: New Hash Functions for Zero Knowledge Proof Systems.

Message Authentication Code (MAC)

  • MACs Message authentication code algorithms written in pure Rust. (CMAC, DAA, HMAC, PMAC)

Digital Signature

ECDSA
  • curve25519-dalek A pure-Rust implementation of group operations on Ristretto and Curve25519. (dalek)
  • ed25519-dalek Fast and efficient ed25519 signing and verification in Rust. (dalek)
  • signatures Cryptographic signature algorithms (e.g. ECDSA, Ed25519).
  • rust-secp256k1 Rust language bindings for Bitcoin secp256k1 library. (rust-bitcoin)
  • libsecp256k1-rs Pure Rust Implementation of secp256k1. (Wei Tang)
  • Jubjub Implementation of the Jubjub elliptic curve group.
  • BLS12-381 Implementation of the BLS12-381 pairing-friendly elliptic curve group.
  • bls Aggregatable BLS sigantures. (w3f)
Threshold Signature & Multi Party Signatures
  • multi-party-ecdsa Rust implementation of {t,n}-threshold ECDSA (elliptic curve digital signature algorithm).
  • multi-party-schnorr Rust implementation of multi-party Schnorr signatures over elliptic curves.
  • threshold_crypto A pairing-based threshold cryptosystem for collaborative decryption and signatures.

Rseudo Random Number Generator (PRNG)

  • rand A Rust library for random number generation.

Zero-Knowledge Proofs

  • bulletproofs A pure-Rust implementation of Bulletproofs using Ristretto.
  • bellman zk-SNARK library. (zcash - librustzcash).
  • bulletproofs Bulletproof Rust implementation for Aggregated Range Proofs over multiple elliptic curves.
  • rust-secp256k1-zkp ZKP fork for rust-secp256k1, adds wrappers for range proofs, pedersen commitments, etc
  • ZoKrates A toolbox for zkSNARKs on Ethereum
  • sonic a protocol for quickly verifiable, compact zero-knowledge proofs of arbitrary computations.
  • Dusk-Zerocaf Fast, efficient and bulletproof-friendly cryptographic operations.

Homomorphic Encryption

Others

  • nalgebra Linear algebra library for Rust.
  • librustzcash Rust-language assets for Zcash. (bellman-zk-SNARK, pairing-elliptic curves)
  • zexe Rust library for decentralized private computation.
  • RustySecrets A Rust implementation of threshold Shamir's secret sharing.
  • Double Ratchet Pure Rust implementation of the Double Ratchet algorithm. (communicate securely).
  • molasses A Rust implementation of the Message Layer Security group messaging protocol.
  • KDFs Collection of Key Derivation Functions written in pure Rust.
  • PAKEs Password-Authenticated Key Agreement protocols. (SRP, spake2)
  • password-hashing Password-based key derivation functions. (PBKDF2, scrypt)
  • rcmixed Mixed cryptosystem. inspired by PGP.
  • kms-secp256k1 Multi Party Key Management System (KMS) for Secp256k1 Elliptic curve based digital signatures.
  • MLSAG Multilayered Linkable Spontaneous Anonymous Group, This particular version leverages Ristretto255.
  • vdf An implementation of Verifiable Delay Functions in Rust.
  • schnorrkel Schnorr VRFs and signatures on the Ristretto group.

Consensus

  • Raft Raft distributed consensus algorithm implemented in Rust.
  • parsec Protocol for Asynchronous, Reliable, Secure and Efficient Consensus.
  • Tendermint ABCI A rust implementation of the ABCI protocol for tendermint core.
  • hbbft An implementation of the paper "Honey Badger of BFT Protocols" in Rust.

P2P Network

  • crust Reliable p2p network connections in Rust with NAT traversal. One of the most needed libraries for any server-less / decentralised projects
  • libp2p The Rust Implementation of libp2p networking stack.
  • p2p A multiplexed p2p network framework that supports custom protocols. (漂流)
  • quic-p2p peer-to-peer communications library for Rust based on QUIC protocol.
  • p2p NAT Traversal techniques for p2p communication. (Spandan Sharma)
  • chamomile p2p implement on Actor. Everything is for ease of use.
  • routing Routing - specialised storage DHT.
  • rckad Efficient and flexible S/Kademlia implementation.

Build Blockchain Infrastructure

  • Substrate Substrate: The platform for blockchain innovators.
  • slingshot A new blockchain architecture under active development, with a strong focus on scalability, privacy and safety.
  • TDN Trusted Distributed Network.

Build Dapp Tool

  • rust-eos Rust crates for building smart contracts and full-stack applications on EOSIO blockchains.
  • rust-mosaic Asynchronous, heterogeneous composition of blockchains.

Contribute

Contributions are most welcome

License

Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License.

About

Collect libraries and packages about blockchain/cryptography in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published