Rust in Blockchain Newsletter #3

Welcome to the fourth edition of Rust in Blockchain, the hypest newsletter about the hypest combination of technologies. Previous #2.

August was an exciting month, thanks to the very stunning RustConf and Berlin Blockchain Week! There were many rust & blockchain related meetups during this period. Let’s look forward to videos and reflect on these events in the coming days.

The RustinBlockchain telegram group has reached more than 100 people so far. A shoutout to all of our friends in the Rust Community for helping with the contribution call. It may be too early to call it a RustinBlockchain community at the moment, but we believe people’s curiosity will be the sources for building the decentralized future.

 

Project updates

Grin

Improve checking for p2p connection limits #2985: @j01tz thinks the connection limiting can be improved by adding a check against maximum allowed peer count immediately after a connection is accepted.

Grin Newsletter

Near

Fix runtime tests broken by fees. Fixes #1185 #1187: @nearmax explains that runtime tests are too wide and assert irrelevant numbers, like they assert that the hash of the account did not change and the exact balance of the account. The unit tests are integration tests which they might should have fewer integration tests because of the maintenance cost. Instead, unit tests should be verifying one or a few specific numbers.

Storage usage #1202: @mikhailOK starts a discussion about storage usage in Near.

Nervos CKB

Refactor: apply new serialization to all crates #1249: @yangby-cryptape applies new serialization to all crates. The new serialization format will be used in p2p messages, database storage and hash digest. After the change, it is possible to compute transaction hash and block hash in other programming languages. We’ll publish the serialization wire format specification soon.

Feat: difficulty adjustment rfc version #1307: @zhangsoledad updates the difficulty adjustment algorithm according to the consensus paper.

Nervos Development Updates

Parity

Substrate

Make it easier to just rebuild the WASM files #3510: @bkchr adds a new env variable WASM_TARGET_DIRECTORY that controls the target directory for copying the built WASM binary; adds script build-only-wasm.sh to only build the WASM binary; and further improvements to wasm-builder to reduce the number of required rebuilds.

Implement HTTP request in offchain workers #3447 Just give it a read.

Refactor key management #3296 This PR is turning into a major refactoring over the crypto and key management system.

Solana

Rust BPF: Panic investigation #5520: @jstarry found issues show that the original VM didn’t expect large programs and so jump calculations were done with i16 types.

Add datacenter node setup scripts #5517: @TristanDebrunner adds bash scripts that do all the setup, and the helper scripts that do parts of the setup if something breaks.

 

Challenges

Does anybody want to build dev tutorials together? If there are anyone who would be willing to produce small bite-size education chunks occasionally?

 

Learning

The Rise of Rust and Blockchain

Rust Blockchain Tutorial: What is Rust and Why is it Important?

Build A Decentralized Chat Using JavaScript & Rust (WebAssembly)

Coding a P2P blockchain in Rust: Part 1

Substrate Blockchains and Runtime Modules: An Introduction

Libra and Exonum: A Comparison of Rust-Based Blockchain Solutions

Exploring an essential data structure in CKB— the transaction

 

Events

September 6-8 | Boston, US

EthBoston

September 11-12 | Tel Aviv, Israel

Scaling Bitcoin Workshops

September 14-15 | Riga, Latvia

Baltic Honeybadger 2019

September 14-15 | Shanghai, China

Wanxiang Blockchain Hackathon 2019

September 20-21 | Colorado, US

Colorado Gold Rust

October 8-11 | Osaka, Japan

DevCon

October 19-20 | Berlin, Germany

Lighting Conference

October 19-20 | Berlin, Germany

Diffusion 2019: Blockchain Hackathon

October 26 | Tokyo, Japan

Rust Tokyo

October 28 - November 3 | San Francisco & Berkeley, US

SF Blockchain Week 2019

 

Careers

TTi Global | Des Moines

Senior Software Developer (OpenGL / WebGL)

Calliere Group | Toronto

Blockchain Developer

Consensys | Europe, US, Remote

Systems Engineer (Rust)

Parity | Berlin, London, Remote

Rust Core Developer

Runtime Engineer

Polymath Network | Toronto, Remote

Rust/Blockchain Developer

Gnosis | Berlin, Remote

Rust Developer (m/w/d)

Transparent Systems | Seattle

Sr. Software Engineer - Rust, blockchain

 

Interesting Things

A thread on thinking about using RISC-V to replace WebAssembly for the execution engine.

Join the action on our subreddit ❤️