└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # RustBlock Developer Outpost 2 | 3 | 4 | ![RustBlock Outpost(1)](https://github.com/Rektoff/RustBlock-Outpost/assets/144442822/abaa4ee6-c471-47ea-b3d5-7af5387fe639) 5 | 6 | 7 | 8 | Here [Rektoff](https://twitter.com/rektoff_xyz) presents the RustBlock outpost for developers and enthusiasts. Outpost is the structured knowledge library or fundamental tool that consists of numerous links that any mr/mrs could use for personal navigation or educational purposes within Rust blockchain ecosystem. We have observed a demand in recent months and have received many messages to create something related. So, here it is! 9 | 10 | 11 | We are striving to create a timeless resource that will remain useful for the next 2-5 years, so consistent contributions from the audience would be greatly appreciated. Please feel free to add any requests and let's collectively build a foundation for new **rustecean-based** applications in the web3 field. 12 | 13 | Contributors: [jared](https://twitter.com/0x_retribution), [mikhail](https://github.com/cyphersnake), [gregory](https://twitter.com/youfelll), [yehor](https://twitter.com/turbofakesmile), [officercia](https://twitter.com/officer_cia), [bloqcarl](https://twitter.com/TheBlockChainer).....[Anyone who will help, will be added to this list.] 14 | 15 | - ' 16 | - ' 17 | - ' 18 | - ' 19 | 20 |

Disclaimer

21 | 22 | The information shared below is an addition to our RustBlockSec article that you can check here - [Tap!](https://mirror.xyz/0xc34B1730BA53abD717a1E57A358F39C046053581/DLhgR1FqmKdTZyzxilIzykRCIGzEe0lgkhf6VYvnv-E) 23 | 24 | -------- 25 | 26 | 27 | # **Recent Big News:** 28 | 29 | - [Aztec Network shared an update](https://x.com/aztecnetwork/status/1702338983999799374?s=20) about the launch of a new smart contract framework for their ecosystem-native Noir language, which has 99% syntax similarity to Rust. 30 | 31 | - [Offchain Labs shared an update](https://x.com/OffchainLabs/status/1697232795268177987?s=20) about the launch of an official testnet for their newcome **Rust**, C, C++ smart-contract implementation for Arbitrum L2. 32 | 33 | - [Paradigm's R&D team released](https://x.com/gakonst/status/1671186635814473728?s=20) a new alpha version of Reth built purely in Rust. That is a [great contribution](https://clientdiversity.org/) towards Ethereum decentralization and performance + first [big rust dev conference](https://www.youtube.com/watch?v=aFk0WymgAo8) where they broadly introduced the audience to Foundry 2.0, Alloy, Ruint and other Rust-related innovative tools for Ethereum. 34 | 35 | - Funded in July with [40m$ in series A](https://www.risczero.com/news/series-a), start-up RiscZero presented [Zeth and RiscZero zkEVM](https://www.risczero.com/news/zeth-release), which built using Rust-based tools(revm, ethers, alloy). 36 | 37 | ![Untitled design(6)](https://github.com/Rektoff/RustBlockSec/assets/144442822/4fbcc71b-48b1-4632-921d-85f9ae71a4d7) 38 | 39 | 40 | # Navigation 41 | 42 | | Numbers | Sections | 43 | |-----------------:|------------------------------------------------------| 44 | | 1 | [Smart Contracts](#1) | 45 | | 2| [Tools](#2) | 46 | | 3| [Infrastructure](#3) | 47 | | 4| [Testing/Fuzzing](#4) | 48 | | 5| [Cryptography/ZK](#5) | 49 | | 6| [Additional links](#6) | 50 | 51 | 52 | 53 | --------- 54 | 55 | # 1 56 | 57 | Create and deploy your **smart contracts** using these Rust-inspired platforms/languages/frameworks. 58 | 59 | - [Leo](https://github.com/AleoHQ/leo) (Aleo) 60 | - [Noir](https://github.com/noir-lang/noir) (Aztec ZkRollup) 61 | - [Ink!](https://github.com/paritytech/ink) (Polkadot) 62 | - [Sway](https://github.com/FuelLabs/sway) (Fuel Labs) 63 | - [CosmWasm](https://github.com/CosmWasm/cosmwasm) (Cosmos) 64 | - [Stylus](https://github.com/OffchainLabs/stylus) (Arbitrum) 65 | - [Cairo](https://github.com/starkware-libs/cairo) (Starknet/Starkware) 66 | - [Huff](https://github.com/huff-language/huffc) (Ethereum) 67 | - [Rusk](https://github.com/dusk-network/rusk) (Dusk Network) 68 | - [Fe](https://github.com/ethereum/fe) (Ethereum) 69 | - [Mx-SDK](https://github.com/multiversx/mx-sdk-rs) (MultiverseX) 70 | - [NearSDK](https://github.com/near/near-sdk-rs) (NEAR) 71 | - [SolanaToolkit](https://docs.solana.com/developing/on-chain-programs/developing-rust) (Solana) 72 | - [SecretToolkit](https://github.com/scrtlabs/secret-toolkit) (Secret Network) 73 | - [Anchor](https://github.com/coral-xyz/anchor) (Solana) 74 | - [PolkadotSDK](https://github.com/paritytech/polkadot-sdk) (All-in Polkadot) 75 | - [OasisSDK](https://github.com/oasisprotocol/oasis-sdk) (Oasis Protocol) 76 | - [Scrypto](https://github.com/radixdlt/radixdlt-scrypto) (Radix Defi) 77 | - [ConcRustFramework](https://github.com/Concordium/concordium-rust-smart-contracts) (Concordium) 78 | - [Gear](https://github.com/gear-tech/gear) (Gear Protocol/GearTech) 79 | 80 | -------- 81 | # 2 82 | 83 | **Tools:** 84 | 85 | - [Optimism-rs](https://github.com/refcell/optimism-rs) - Optimism implementation written in Rust(non-official version) 86 | - [Alloy](https://github.com/alloy-rs) - high-performance, well-tested & documented libraries for interacting with Ethereum and other EVM-based chain 87 | - [OrgaTendermint](https://github.com/turbofish-org/orga) - state engine framework powered by Tendermint consensus 88 | - [Sothis](https://github.com/rainshowerLabs/sothis) - tool for replaying historical state on a local anvil/hardhat testnet node 89 | - [Blutgang](https://github.com/rainshowerLabs/blutgang) - load balancer designed with Ethereum's json-rpc 90 | - [Hyperledger Solang](https://github.com/hyperledger/solang) - solidity compiler for Solana&Polkadot 91 | - [DIDKit](https://github.com/spruceid/didkit) - DID toolkit written in Rust 92 | - [tezos-rust-sdk](https://github.com/airgap-it/tezos-rust-sdk) - A set of Rust libraries to interact with the Tezos blockchain 93 | 94 | -------- 95 | # 3 96 | 97 | **Infrastructure:** 98 | 99 | - [Reth](https://github.com/paradigmxyz/reth): A fresh rust-based Ethereum execution client by Paradigm team 100 | - [Revm](https://github.com/bluealloy/revm): Rust Ethereum Virtual Machine 101 | - [Ethers-rs](https://github.com/gakonst/ethers-rs): Ethereum and Celo Rust library 102 | - [Artemis](https://github.com/paradigmxyz/artemis): A framework for writing MEV bots in Rust 103 | - [LightHouse](https://github.com/sigp/lighthouse): Ethereum Consensus client by Sigma Prime 104 | - [Trin](https://github.com/ethereum/trin): Portal Network client implementation 105 | - [Zebra](https://github.com/ZcashFoundation/zebra): Consensus-compatible ZCash node 106 | - [Hermes](https://github.com/informalsystems/hermes): Rust-based IBC relayer 107 | - [Tendermint-rs](https://github.com/informalsystems/tendermint-rs): Blockchain consensus engine for Byzantine fault-tolerant applications 108 | - [VeilidCoDC](https://veilid.com/): P2P application network by (x_X) 109 | - [Rustlibp2p](https://github.com/libp2p/rust-libp2p): Modular peer-to-peer networking framework 110 | - [ZkSyncSDK](https://docs.zksync.io/api/sdk/rust/tutorial/#adding-dependencies): ZkSync Rust SDK 111 | - [TezosSmartRollup](https://docs.rs/tezos-smart-rollup/latest/tezos_smart_rollup/) + [Kernel Gallery](https://gitlab.com/tezos/kernel-gallery): Smart rollups on top of Tezos using Rust 112 | - [StarkNetRust](https://github.com/FuzzingLabs/starknet_in_rust): Starknet library in Rust 113 | - [Gotham](https://github.com/ZenGo-X/gotham-city/tree/master/): A client/server application for issuing two-party ECDSA signatures 114 | - [KZG-Rust](https://github.com/sifraitech/rust-kzg): KZG library for Ethereum Data Sharding(EIP-4844) 115 | 116 | 117 | -------- 118 | # 4 119 | 120 | **Testing&Fuzzing** 121 | 122 | ### Generic fuzzing 123 | 124 | - [Rust Fuzz book](https://rust-fuzz.github.io/book/) - intro to fuzzing in Rust with libfuzzer and afl++ 125 | - [HonggFuzz crate](https://docs.rs/honggfuzz/latest/honggfuzz/) - Rust crate for honggfuzz 126 | - [Cargo Fuzz](https://docs.rs/honggfuzz/latest/honggfuzz/) - cargo tooling for libFuzzer 127 | - [Fzero-Fuzzer](https://github.com/FuzzingLabs/fzero_fuzzer) - grammar-based fuzzer for Rust 128 | - [WASMRuntimeFuzz](https://github.com/FuzzingLabs/wasm_runtimes_fuzzing) - WebAssembly Runtimes fuzzing 129 | - [Cairo-Fuzzer](https://github.com/FuzzingLabs/cairo-fuzzer) - smart contracts fuzzer for Cairo by Fuzzing Labs 130 | 131 | ### Blockchain fuzzing 132 | 133 | - [Foundry 2.0](https://github.com/foundry-rs/foundry) - modular toolkit for ethereum development and testing 134 | - [Circomspect](https://github.com/trailofbits/circomspect) - static analyzer for Circom ZK framework 135 | 136 | ### Static Analyzers 137 | 138 | - [Caracal](https://github.com/crytic/caracal) - static analyzer for Starknet smart contracts 139 | - [Dylint](https://github.com/trailofbits/dylint/tree/master) - Static Analysis tool 140 | 141 | 142 | -------- 143 | # 5 144 | 145 | Cryptography&Zero-Knowledge 146 | 147 | - [ZkCrypto](https://github.com/zkcrypto) / [bellman](https://github.com/zkcrypto/bellman) - crate for building zk-SNARK circuits 148 | - [ark-gro16](https://github.com/geometryresearch/groth16) - library for designing and working with zero knowledge succinct non-interactive arguments 149 | - [Boojum](https://github.com/matter-labs/era-boojum) - high-performance proof system for radical decentralization by ZkSync Era 150 | - [Plonky2Starky](https://github.com/mir-protocol/plonky2) - Zk scaling by mir&polygon 151 | - [ZKWASM](https://github.com/xonoxitron/zk-wasm) - ZkWASM written in Rust 152 | - [RustCrypto](https://github.com/RustCrypto) / [EllipticCurves](https://github.com/RustCrypto/elliptic-curves) - General purpose EllipticCC support 153 | - [ZkSnarksSubstrate](https://brightinventions.pl/blog/zk-snarks-in-substrate-part-1/) - ZkNARKs in Substrate framework 154 | - [BulletProofs](https://github.com/dalek-cryptography/bulletproofs) - [non-interactive ZKPs](https://crypto.stanford.edu/bulletproofs/) implementation 155 | - [Curve25519](https://github.com/dalek-cryptography/curve25519-dalek) - pure-Rust crates for elliptic curve cryptography 156 | - [Circom](https://github.com/iden3/circom) - domain-specific language for defining arithmetic circuits that can be generated by ZKPs 157 | - [Zeth](https://github.com/risc0/zeth) - open-source ZK block prover for Ethereum built on the RISC Zero zkVM 158 | - [Spartan](https://github.com/microsoft/Spartan) - 0k proof system by Microsoft 159 | - [Zk-Paillier](https://github.com/ZenGo-X/zk-paillier) - Paillier (ZenGoX) zk library 160 | - [BLS](https://github.com/ZenGo-X/multi-party-bls) - MPBls 161 | - [ZkEvm circuits](https://github.com/privacy-scaling-explorations/zkevm-circuits) - exploration focused zk evm circuits 162 | - [MPZ](https://github.com/privacy-scaling-explorations/mpz) - Rust ecosystem multi-party computation libraries 163 | - [Arkworks](https://github.com/arkworks-rs) - Rust ecosystem for ZKSnark development 164 | - [LambdaStarkPlatinum](https://github.com/lambdaclass/lambdaworks_stark_platinum) - STARK Prover. 165 | 166 | 167 | -------- 168 | # 6 169 | 170 | **Additional links:** 171 | 172 | - [Alchemy Dev Report q2 2023](https://www.alchemy.com/blog/web3-developer-report-q2-2023) 173 | - [Alchemy Dev Report q1 2023](https://www.alchemy.com/blog/web3-developer-report-q1-2023) 174 | - [JetBrains Developer Ecosystem](https://blog.jetbrains.com/rust/2023/01/18/rust-deveco-2022-discover-recent-trends/) 175 | - [GitHub blog about Rust](https://github.blog/2023-08-30-why-rust-is-the-most-admired-language-among-developers/) 176 | - [StackOverFlow Survey 2023](https://survey.stackoverflow.co/2023/#technology) 177 | - [Interview with Senior Rust Developer](https://youtu.be/TGfQu0bQTKc?si=jVeH6HkL78fq2fI3) 178 | - [Rust NationUK](https://www.youtube.com/watch?v=EFtassAEK5A) 179 | - [Scaling Rust Adoption Through Training](https://security.googleblog.com/2023/09/scaling-rust-adoption-through-training.html) 180 | -------- 181 | ``` 182 | 183 | ........... 184 | ,xkOOOOOO00OOkxol:;'.. 185 | ;0XXXXXXXXXXXXXXXXXK0Oxl;. 186 | ... ;0XXXXXXXXXXXXXXXXXXXXNNNKx:. 187 | .:k00Oxc. ;KXXXXXXXXXXXXXXXXXXXXXXXNWN0l. .'. .,,. ... 188 | ;xKXXXNWW0l. ;0XXXXXXXKOO0KKXXXXXXXXXXXXNWW0c. .'.. .,cc,.':cc;'.;cc,. ..'. 189 | ,xKXXXXXXXNWW0:. ;0XXXXXXXkc:::;:oOXXXXXXXXXXNWMNx. ,cc:,;cccccccccccccccc;,:cc' 190 | .c0XXXXXXXXXXNWKl.cKXXXXXXX0o:;' .:kXXXXXXXXXNWMWO' .,:,',:cccccccccccccccccccccccccc;'',:, 191 | 'o0XXXXXXXXXNNKdxKXXXXXXXKkl;' .c0XXXXXXXXNWWWO' .;cccccccccccccccccccccccccccccccccccc;. ... 192 | 'd0XXXXXXXXXXK0XXXXXXXXXKx:' ;OXXXXXXXXXNNXo. ',. ';,,;:cccccccccccccccccccccccccccccccccccc:,,;;' .;:c' .'. 193 | ,dKXXXXXXXXXXXXXXXXXXNN0o, cKXXXXXXXXKKKO, ',. 'cc;. 'cccccccccccccccccccccccccccccccccccccccccccccc' .,cccc. .,:' 194 | ,dKXXXXXXXXXXXXXXXXNWNk, .kXXXXXXXX0O0Oc 'cc,. .:ccc' ....,cccccccccccccccccccccccccccccccccccccccccccccc,.... 'ccccc. .;cc. 195 | .;xKXXXXXXXXXXXXXXNWWKl........,xXXXXXXXX0kkkc. .;ccc;..:ccc:. ,cccccccccccccccccccccccccccccccccccccccccccccccccccccc' 'ccccc:;ccc,. 196 | .:ccccclllllooookKXXXXXXXXXXXXXXNNNXK0O000000KXXXXXXXXX0kxxc. . . .;ccc:::ccc;. .;cccccccccccccccccccccccccccccccccccccccccccccccccccc;. .,ccccccc:' 197 | ;0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0kxxc. :kx, 'xO: .';cccccc:...'';:cccccccccccccccccccccccccccccccccccccccccccccccccccc:,''..,cccc:'. 198 | ;0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0kxxc. .oX0do0Xo. .';cc:' 'cccccccccccccccccccccldOo'.,:ccccccdkd,.;cccccccccccccccccc:'.,c:,. 199 | ;0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0kxxc. .xWMMWk. ':c;'..,cccccccccccccccccccclOWK; .:ccc:;xWK, .;cccccccccccccccc:,,:c;. 200 | ,OKKKKKKKK0000000XXXXXXXXXXXXXXXXXXXXXX0Okxddoooooollllc:cl; cKKkkKXc ..;:c::ccccccccccccccccccc:',l:. .;ccc:.'c;. 'ccccccccccccccccccc:' 201 | .',,,,,'''''.':kKXXXXXXXXXXXXXXXXXXXXXKOdc,. cK0; .;KXc .,ccccccccccccccccccccccc,. .:cccc' .,ccccccccccccccccccc:,. 202 | .cOXXXXXXXXXXXXXXXXXXXXXXXXXX0xc'. ',. .,' .;ccc:;;:::cccccccccccccccc:,..',:cccccc;''',:ccccccccccccc:;;;::cccc,. 203 | .:kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKOl' .:ccc;..'''',;:::ccccccccccccccccc;'..';ccccccccccccc::;;,....'..;cc:' 204 | ;xKXXXXXXXXKkOXXXXXXXXOk0XXXXXXXXXXNX0d, .,:cc'..... ....',;;;::::ccccccc;'..,:cccc::::;;,,'... ... .:c;. 205 | ,dKXXXXXXXXXOl;oKXXXXXXXkccx0XXXXXXXXXXNNKx;. .,:c,. .. .........''''''''''........ .. .;c,. 206 | 'o0XXXXXXXXXOo;',oKXXXXXXXOl;;:oOXXXXXXXXXXNWNOl. .,:;. . . .,:' 207 | .lKXXXXXXXX0d:,''.cKXXXXXXX0o:;'..l0XXXXXXXXXNNWWKl. .,;. ',. 208 | ,xKXXXX0d:,''. ;KXXXXXXX0dc;' .o0XXXXXXXXXNNWW0l. .'. .'. 209 | ;xKKxc,''.. ;KXXXXXXX0xl;' 'o0XXXXXXXXXXK00x, . . 210 | .,,..... ;KXXXXXXX0xo:' 'o0XXXXXXXX0xxxc. 211 | ;KXXXXXXX0xdc' 'o0XXXXXX0xxxc. 212 | ,xOOOOOOkxddl' 'cloooolcll; 213 | ............. 214 | 215 | 216 | 217 | 218 | 219 | ``` 220 | --------------------------------------------------------------------------------