RiB Newsletter #14 – Are We Smart (Contract) Yet?

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.

 

Thanks

This edition of RiB was produced with contributions from Calvin Lau, Darosior, EnforSys, Paulii Good, Sol, Tony Arcieri, Brian Anderson, and Aimee Zhu. Thank you for your help!

Also, Awesome Blockchain Rust has been updated. Thanks to the awesome contributors: Alfredo Garcia, Andy Nogueira, ChainSafe Systems, Lane Rettig, Michael Sproul!

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.

 

Project Spotlight

Each month we like to shine a light on a notable Rust blockchain project. This month that project is…

ethers.rs

ethers.rs is an Ethereum & Celo library and wallet implementation, implemented as a port of the ethers.js library to Rust.

Ethereum client programming is usually done in JavaScript with either web3.js or ethers.js, with ethers.js being the newer of the two. These clients communicate to an Ethereum node, typically via JSON-RPC (or, when in the browser, via an “injected” client provider that follows EIP-1193, like MetaMask).

ethers.rs then provides a strongly-typed alternative for writing software that interacts with the Ethereum network.

As of now it is only suited for non-browser use cases, but if you prefer hacking in Rust to JavaScript, as some of us surely do, it is worth looking into for your next Ethereum project.

The author of ethers.rs, Georgios Konstantopoulos, accepts donations to sponsor their work.

Note that there is also a Rust alternative to web3.js, rust-web3.

 

Interesting Things

News

Blog Posts

Papers

Projects

  • 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

 

Most Active in July

Parity: 275 merged PRs (1, 2, 3), 105 closed issues (1, 2, 3), 87 open issues (1, 2, 3)

Solana: 252 merged PRs (1), 24 closed issues (1), 43 open issues (1)

Zcash: 144 merged PRs (1, 2, 3), 74 closed issues (1, 2, 3), 58 open issues (1, 2, 3)

Crypto.com Chain: 118 merged PRs (1, 2, 3), 89 closed issues (1), 33 open issues (1, 2)

 

Project Updates

COMIT

152 merged PRs (1, 2, 3, 4), 22 closed issues (1, 2, 3, 4), 8 open issues (1, 2, 3)

Crypto.com Chain

118 merged PRs (1, 2, 3), 89 closed issues (1), 33 open issues (1, 2)

Holochain

5 merged PRs (1), 0 closed issues, 0 open issues

Libra

30 merged PRs (1), 26 closed issues (1), 55 open issues (1)

Lighthouse

29 merged PRs (1), 37 closed issues (1), 33 open issues (1)

MobileCoin

83 merged PRs (1), 2 closed issues (1), 1 open issues (1)

NEAR

83 merged PRs (1), 44 closed issues (1), 32 open issues (1)

Nervos

49 merged PRs (1, 2), 12 closed issues (1), 4 open issues (1, 2, 3)

Parity

275 merged PRs (1, 2, 3), 105 closed issues (1, 2, 3), 87 open issues (1, 2, 3)

Secret Network

61 merged PRs (1, 2), 32 closed issues (1), 14 open issues (1)

Solana

252 merged PRs (1), 24 closed issues (1), 43 open issues (1)

Zcash

144 merged PRs (1, 2, 3), 74 closed issues (1, 2, 3), 58 open issues (1, 2, 3)

 

Events

Aug 9-11 | Online

Community Ethereum Development Conference

Aug 15 | Online

ACAS2020. 2nd Workshop on Advanced Cryptography Applications and Standards

Aug 20 | Online

RustConf 2020

Aug 28-29 | Online

Chainlink’s Smart Contract Virtual Summit #0

Sep 17-18 | Surrey, UK

4th International Workshop on Cryptocurrencies and Blockchain Technology - CBT 2020

Oct 2-30 | Online

ETHOnline 2020. Summits + Hackathon.

Oct 21-23 | NYC, US

ACM Advances in Financial Technologies

Oct 27-28 | Dubai

Future Blockchain Summit

 

Careers

Equilibrium | Remote

Findora | Menlo Park, CA

Informal Systems | Berlin, Toronto, Remote

Kraken | Remote

Libra | San Francisco, CA or Geneva, Switzerland

NEAR | Remote

Protocol Labs | Remote

Revault | Portugal or Remote

Solana | (Probably)Remote

Soramitsu | Remote

Trail of Bits | Remote

 

Want to be included in the next issue? Feel free to submit a PR to the #15 draft, or Tweet @rust_blockchain.

Join the discussion on RiB telegram group ❤️