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.
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.
Parity
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
September 11-12 | Tel Aviv, Israel
September 14-15 | Riga, Latvia
September 14-15 | Shanghai, China
Wanxiang Blockchain Hackathon 2019
September 20-21 | Colorado, US
October 8-11 | Osaka, Japan
October 19-20 | Berlin, Germany
October 19-20 | Berlin, Germany
Diffusion 2019: Blockchain Hackathon
October 26 | Tokyo, Japan
October 28 - November 3 | San Francisco & Berkeley, US
Careers
TTi Global | Des Moines
Senior Software Developer (OpenGL / WebGL)
Calliere Group | Toronto
Consensys | Europe, US, Remote
Parity | Berlin, London, Remote
Polymath Network | Toronto, Remote
Gnosis | Berlin, Remote
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 ❤️