Coconut Report 30

Minnesota, US

This is summarizing a whole month.

We arrived in Rochester, Minnesota, and will stay here until the middle of November. We do not have any further plans yet. This is an unproductive month for me, since I registered two hackathons but didn’t do any hacks on them.

In Rochester

Rochester is small and modern, and it has everything we need. We immediately got good beers, freshly roasted coffee, and fantastic food options as soon as arrived. It’s AMAZING.

Recently, trees have started to change colors. We see green, yellow, and orange leaves drop and follow the wind. Those colors are then embedded in the green grass. Cutiepies such as cats, chipmunks, squirrels, and birds are everywhere. They seem to search for food in the grass. It’s so lovely to have those cute neighbors.

We came here in the best season: it’s warm in the daytime and chill in the evening; it sometimes rains, which makes the city more romantic; but it’s a bit humid, which my partner complains about a lot.

According to Minnesota’s law, grocery stores are not allowed to sell drinking alcohol. A liquor store is always independent from a grocery store, which is quite convenient for us just looking for drinks.

We updated our silly universe Cocoverse.com with recipes, drawings, and the video channel. I am writing a post about kitchens we experienced during the previous months. We hope to link each kitchen with a recipe in the end.

I started doing push-ups as indoor exercise, and I have made progress from when I started in Marcus. I couldn’t do one push-up on the first day, and now I can do sixty push-ups per day. My muscles are burning. I am pretty happy with my growing muscles.

Rust in Blockchain

RiB got two donations,

  • 666 CKB in August:

https://explorer.nervos.org/transaction/0x4eb46117c218482b84ce19c52ef02f642524b14ef4f39b9ad8c64bb75a8475ca

  • 500,000 CKB in September:

https://explorer.nervos.org/transaction/0xdd9d3d0afaf07a3d91ff101475b3dffec0961e742c8cfdd617da3e7e9cef0c33

We (Brian, Mike, and me) plan to leave it there as a foundation. We can use it to support RiB community-developed projects.

I purchased the rib.rs domain that is currently redirected to https://rustinblockchain.org. I expect to use it for more development content, such as toolings, smart contracts, and libraries. More general teaching resources need to be generated based on in-planning products. I also expect there will be more community-generated content as the Rust projects and blog posts grow. I hope we can connect them together, slowly as my schedule allows.

It’s not easy to maintain an open-source project, not to mention an open-source community. RiB is still small, and I already feel stressed sometimes.

People who contribute in ways other than GitHub PRs (e.g. emails) cause me more work than I am comfortable with. Sometimes people’s submitted PRs couldn’t get fully approved/merged in our repos, which made me feel bad. However, we can’t satisfy everybody all the time.

Future directions

So far, I had the best blockchain product experience with NEAR. I tried to run NEAR and its smart contract examples. Brian wrote a post on that too. He seems to have a good impression of NEAR compared to other layer 1 blockchains: First impressions of NEAR smart contract development in Rust.

I am interested in DeFi and uncensorable content on the blockchain. I look into financial-focused and general dapp platforms that allow dapp developers to actively build on them. It’s the direction I want to take RiB in.

During these four weeks, I researched DeFi projects, such as Uniswap, Kyber, etc. I primarily spent time on their documentation and some of their tech blog posts. I looked into general platforms NEAR and Polkadot, storage project Arweave, financial-focused platform Avalanche, and kept thinking of where to build on.

Just like I need to learn Solidity to build on Ethereum, each platform-type project needs developers to learn its tech stack. The learning cost is high for building a dapp that just runs on a single platform, and I want to write a dapp that runs everywhere.

Platforms, like NEAR, that support general programming languages, like Rust and AssemblyScript, are rare. Most platforms developed, or are developing, their own programming languages. Libra uses Move, Aleo uses Leo, Dfinity uses Motoko, and so on. But for better dapp adoption, there should be a “platform” that supports mainstream programming languages. Rust is a good start.

Rust is suitable for blockchain development. The blog post from a Parity developer in 2018, Why Write Smart Contracts in Rust, clearly explained why dapp development is all about Wasm, and Rust is the language targetting Wasm.

The future of smart contracts, in my eyes and the eyes of many others, lies with WebAssembly. This is a virtual machine specification which essentially acts as a portable and simple RISC ISA - since it matches the runtime model of a CPU many existing languages can be compiled to it unchanged. Apart from special-case DSLs like Solidity most languages expose the runtime model of the CPU somehow. Not only that, but its similarity to the CPU allows it to be compiled to incredibly efficient machine code without complex optimisations that can affect correctness and increase code complexity.

A Dfinity developer introduces their own programming language Motoko, a programming language for building directly on the internet. In this article, he also mentioned how it is necessary for blockchain programming languages to target Wasm.

Although there are many experimental language implementations targeting Wasm already, most are not yet ready for prime time. The ones that are include low-level systems languages like C/C++ and Rust. These are certainly great for their use cases, but they are less-than-ideal tools for developing high-level applications for the Internet Computer, where accessibility, productivity, and high assurance tend to be more desirable than manual meddling with memory management.

Dapp development experience can be much better with the Rust language. Imagine the day you can build a dapp without caring about which platforms it runs on.

Status

Output

Always on

  • RiB
    • Sent tweets
    • Response to people
  • Trading
    • Eth & BTC options

Daily life

  • Moved to Rochester from Marcus
  • Made cookies and new recipes
  • The first time went to a farmers’ market and got fresh food
  • Push-ups from 0 to 60 per day
  • Got flu shots

Next

  • The toy version of BigAnnouncement.eth on other blockchains