Welcome to the #14 edition of Rust in Blockchain, the hypest newsletter about the hypest tech. Previous: #13.
We’re seeing a bunch of interesting Rust blockchain and crypto projects, so this month the “Interesting Things” section is loaded up with news, papers, and project links.
This month, Elrond, appeared on our radar with the launch of their mainnet. Although not written in Rust, it runs Rust smart contracts on its Arwen WASM VM, which itself is based on the Rust Wasmer VM. Along with NEAR, Nervos, and Enigma (and probably others), this continues an encouraging trend of blockchains enabling smart contracts in Rust. See the “Interesting Things” section for examples of Elrond’s Rust contracts.
Rust continues to be popular for research into zero-knowledge proofs, with Microsoft releasing Spartan, a zk-SNARK system without trusted setup.
In RiB news, we published a late one-year anniversary blog post. It has some reflection on the changes to, and growth of, RiB over the last year.
The Awesome Blockchain Rust project, which is maintained by Sun under the rust-in-blockchain GitHub org, has received a stream of updates recently, and is now published as the Awesome-RiB page on rustinblockchain.org.
It’s a pretty good resource for finding blockchain-related Rust projects, with links to many of the more prominent and mature projects noted in the RiB newsletter. It could use more eyes on it though.
RiB needs help to keep up with Rust blockchain projects. If you follow a particular project, or otherwise find information that is beneficial to the Rust & blockchain community, please contribute to the next issue. Either submit a PR to the #15 draft, or Tweet @rust_blockchain.
Each month we like to shine a light on a notable Rust blockchain project. This month that project is…
ethers.rs then provides a strongly-typed alternative for writing software that interacts with the Ethereum network.
Note that there is also a Rust alternative to web3.js, rust-web3.
- NIST’s Post-Quantum Cryptography Program Enters ‘Selection Round’. Not Rust, but relevant to the future of cryptography.
- Rust is now a top 20 language in all of the 5 most major language popularity listings. Looks like we bet on the right horse.
- Microsoft open sources Spartan: High-speed zkSNARKs without trusted setup.
- Elrond, a sharded blockchain, whose mainnet went live in July, has several Rust projects.
- World’s first practical hardware for zero-knowledge proofs acceleration
- From Rust Crypto – The
k256crate (pure Rust secp256k1 elliptic curve implementation) just landed an impressive new scalar/field arithmetic backend inspired by bitcoin-core’s libsecp256k1 Party popper.
- zkPorter: Composable Scalability in L2 Beyond zkRollup. A scaling architecture proposal.
- What’s It Good For?. Lane’s take on the blockchain tech: “blockchain is very good at a narrow set of applications and pretty bad at just about everything else. When you get past the hype, it’s really just a slow, expensive, distributed, permissionless, append-only ledger, nothing more and nothing less.”
- Distaff VM: approaching Turing-completeness
- Hunting down a non-determinism-bug in our Rust Wasm build
- NEAR Accounts and Access Keys as Identities for Textile Integration
- Demystifying the Role of zk-SNARKs in Zcash
- Performance Trade-offs in Design of MimbleWimble Proofs of Reserves
- Elrond’s Rust smart contracts:
- elrond-wasm-rs. Rust smart contract library designed for Elrond’s Arwen VM. Also provides a debugging mode with mocks.
- sc-bitswing-rs. BitSwing smart contract by Band Protocol.
- sc-busd-rs. BUSD stablecoin smart contract implementation and tests.
- sc-delegation-rs. Smart contract for managing staking delegation in Elrond.
- sc-dns-rs. Elrond DNS smart contract, written in Rust.
- flux-protocol, the open market protocol build on NEAR protocol, is launching their Beta Program. Check their latest Flux Community Update.
- Forest. Rust Filecoin Node Implementation.
- Graph Node indexes data from blockchains such as Ethereum and serves it over GraphQL.
- Minsc, a Miniscript-based scripting language for Bitcoin contracts.
- Neptune is a Rust implementation of the Poseidon hash function tuned for Filecoin.
- Polymesh. Polymesh is a blockchain for regulated securities and open finance.
- Radicle Link. A secure, p2p network for code collaboration. It has many Rust projects under its GitHub organization
- rusty-blockparser. Bitcoin Blockchain Parser written in Rust.
- rust-fil-proofs. The Filecoin Proving Subsystem (or FPS) provides the storage proofs required by the Filecoin protocol. It is implemented entirely in Rust, as a series of partially inter-dependent crates – some of which export C bindings to the supported API.
- Shuffler uses StarkWare’s VeeDo VDF to seed a seedable RNG, and shuffle a randomisable list of items.
- SputnikVM: Rust Ethereum Virtual Machine Implementation.
- Stacks 2.0 is an open-membership replicated state machine produced by the coordination of a non-enumerable set of peers.
- Tezos node/shell in Rust
- Yew. Rust / Wasm framework for building client web apps. Perhaps we’ll we writing our dapps completely in Rust soon.
- zeroize.rs. Securely zero memory while avoiding compiler optimizations.
- ZoKrates. A toolbox for zkSNARKs on Ethereum.
- zkSync is a fully trustless, secure, user-centric protocol for scaling payments and smart contracts on Ethereum.
Podcasts and Videos
- Hashing It Out #87-Informal Systems Ethan Buchman
- Trail of Bits (Dan Guido) – The Evolution of Smart Contract Security
Most Active in July
- PR: Add request/response take order NB by @tcharding
- PR: Enable cnd to run over Tor by @tcharding
- PR: Add configurable ledger to ordebook by @tcharding
- News: Crypto.com Chain Dev Update #10
- Open sourcing Chain Indexing Service. It can index on chain data into structured records for query.
- Successfully complied chain core written in Rust into WebAssembly.
- News: Released Thaler Testnet Block Explorer 2.0 and Faucet
- News: Revamped Chain Website with brand new Products and Releases Page for developers engagement.
- News: Node.js library supports latest Testnet
- Promotion: Calling for validators and staking pools to join Crypto.com Thaler Testnet.
- PR: Problem (Fix #2040): mls implementation not up with latest spec draft by @yihuang
- PR: Problem: Transaction builder is accepting unnecessary data by @calvinlauco
5 merged PRs (1), 0 closed issues, 0 open issues
- News: The Host Release of HoloFuel
- News: Monthly Roundup for Holo & Holochain
- News: Dev Pulse 76, 75
- Blog: Mutual Credit, Part 1: A New Type of Cryptocurrency, As Old As Civilisation
- PR: Validation timeout fixes by @zippy
- PR: Cache validation packages by @zippy
- PR: [move prover] improvements to pure move function call feature by @emmazzz
- PR: [executor] fuzzing for execute_and_commit_chunk by @mimoo
- PR: [db-bootstrapper] support commit genesis with waypoint at startup by @zekun000
- News: Lighthouse Update #27
- PR: Write new blocks and states to the database atomically by @adaszko
- PR: swap out rust-crypto for RustCrypto libraries for key management by @realbigsean
- PR: Fix race condition in VC block proposal service by @michaelsproul
- PR: Mob url by @garbageslam
- PR: Initial fog authority key signature with schnorrkel by @sugargoat
- PR: Mc sig by @garbageslam
- News: NEAR Bringing Chainlink’s Leading Oracle Solution to its Open Web Ecosystem
- News: Community Update
- Video: Whiteboard Series with NEAR
- Video: Community Talk: Blockchain & AI
- PR: feat: Network indexer by @khorolets
- PR: Mocknet load testing (#2899) by @birchmd
- PR: fix: prevent repetitive initialization on node start by @bowenwang1996
- Nervos kicks off first CKLabs cohort with Portal Wallet and Tocial
- Nervos joins Coinbase’s Rosetta to simplify blockchain integration
- Introducing Nervos’ integration with China’s Blockchain-based Services Network (BSN)
- Grant Approved: LeapDAO to Build EVM-Compatible Sidechain Framework
- The Nervos Foundation announced a donation of 10 BTC to Grin
- News: Nervos CKB Development Update #38
- News: CKB Weekly #13, #12, #11, #10, #9
- PR: refactor: use a new method to detect headers sync timeout by @yangby-cryptape
- PR: feat: add sync state rpc by @driftluo
- PR: improvement: don’t cache all data of header map in memory during IBD by @yangby-cryptape
- Video: Gavin Wood - A Walkthrough of Polkadot’s Governance
- PR: CandidateBackingSubsystem by @montekki
- PR: Make a test crate to make the runtime-test usable by @cecton
- PR: Add a back-pressure-friendly alternative to NetworkService::write_notifications by @tomaka
- PR: Downward & Upward messages by @bkchr
- Blog: Programmable Privacy: Turning Smart Contracts into Secret Contracts
- Blog: Secret Network MathWallet Tutorial
- Blog: The Secret Nodes Cookbook
- PR: Implement query_chain() by @assafmo
- PR: Node auth error messages - take 3 by @reuvenpo
- Announcing the Solana Arweave Interoperability Hack
- FTX Chooses Solana for Serum: A High-Speed, Non-Custodial Decentralized Derivatives Exchange
- FTX Listed SOL — Trading Is Now Live
- Solana (SOL) Is Now Open For Deposits On BitMax — Trading Will Begin At 2 PM UTC, July 20th
- Solana (SOL) Is Now Trading On Bithumb Global
- SOL Pairs Now Available For Trading On MXC
- Solana Newsletter: July, June
- PR: fix rewards points by @rwalker-com
- PR: Use BlockCommitmentCache for RPC slots by @garious
- PR: Add replay votes to gossip vote tracking by @carllin
- News: Latest proposals to ZF Grants, Viewkeys in Zecwallet
- News: Weekly forum update: July 31, July 24, July 17, July 3
- Thread: @hdevalence highlighted major work on Zebra
- PR: Start work on new Amount type by @yaahc
- PR: Command execution tests by @oxarbitrage
- PR: sync: add backpressure to syncer by @hdevalence
Aug 9-11 | Online
Aug 15 | Online
ACAS2020. 2nd Workshop on Advanced Cryptography Applications and Standards
Aug 20 | Online
Aug 28-29 | Online
Chainlink’s Smart Contract Virtual Summit #0
Sep 17-18 | Surrey, UK
Oct 2-30 | Online
ETHOnline 2020. Summits + Hackathon.
Oct 21-23 | NYC, US
Oct 27-28 | Dubai
Equilibrium | Remote
Findora | Menlo Park, CA
Informal Systems | Berlin, Toronto, Remote
Kraken | Remote
- Backend Engineer - Rust
- Senior Backend Engineer - Rust
- Backend Engineer - Crypto/Payments
- Backend Engineer, Data Processing – Rust
Libra | San Francisco, CA or Geneva, Switzerland
NEAR | Remote
Protocol Labs | Remote
- Software Engineer, Cryptography & Systems
- Software Engineer, Peer-to-Peer Networks
- Sr. Software Engineer, libp2p
- Sr. Software Engineer, Filecoin
Revault | Portugal or Remote
- Build a Bitcoin vault architecture
Solana | (Probably)Remote
Soramitsu | Remote
Trail of Bits | Remote
Join the discussion on RiB telegram group ❤️