The Languages of Blockchain

How to speak BLOCKCHAIN 

The hype surrounding blockchain technology is practically unavoidable these days — and whether you’re fully on board with the ethos of decentralized software or remain sceptical about Web3, you might be wondering what sort of tech skills and programming languages will be valuable in the new “Wild West” of the internet.

The good news is lots of coding languages that you already know can be used in blockchain development. And even the newer languages that are specific to smart contracts (the essential building blocks of the programmable blockchain) are relatively easy to transfer your existing skills and pick up the basics.

The obvious cool kid on the block is Solidity, the most used language for writing and deploying smart contracts on the Ethereum chain. It’s a statically typed curly-braces programming language that has familiar features that you might recognize from other languages.

Two other popular names that are quickly gaining momentum and are used by blockchain companies are Rust and GO.

Rust is consistently ranked the most-loved programming language in Stack Overflow’s developer survey, with 87% of developers saying they want to keep using it.

Rust offers many features like memory safety and small runtime. This allows us to write a smart contract that doesn’t have memory bugs and consumes less storage on the blockchain.

Google’s statically-typed open-source language Go (or “Golang”) is often used for back-end development and for creating high-performance applications.

Geth, short for “Go-Ethereum,” is an Ethereum client that’s written in Go.

Go is fast and lean, and allows you to multitask running multiple processes without sacrificing memory resources. With Go, you can build applications from its robust library of functions and packages.

However, we are not here to state the obvious, and we decided to look at the less media-friendly but equally interesting languages:

Clarity

Clarity is the new smart contract programming language introduced by Blockstack for their very own Stacks blockchain. Blockstack is a powerful platform intending to build a decentralized internet. They put users in control of their identity and data.

According to their website, Clarity brings smart contracts to Bitcoin, it’s a decidable language, meaning you can know, with certainty, from the code itself what the program will do.

Clarity is interpreted language, which means it’s not intended to be compiled. In Solidity, the contract must be compiled. Before deploying smart contracts, we need to compile solidity code to Bytecode for EVM (Ethereum Virtual Machine). As per blockchain “code is law”, and rules committed to a blockchain are the source of ultimate truth.

But is it exactly showing what was there in the developer’s mind? The answer to this question is not 100 %.

That’s why, in Clarity, the intermediate step of compilation is avoided and this language intends to publish the developer’s exact intention, written as a contract (source code), to be directly published/ deployed in the blockchain.

Clarity gives developers a safe way to build complex smart contracts for the world’s most secure blockchain.

As per the Blockstack docs, the basic parts of Clarity are dataspaces and functions. Clarity is a LISP (List Processing language) and it has its own native types. Also, in Clarity, by default, all the functions are private, unless it is declared public.

Move

Move is a programming language based on Rust that was created by META for developing customizable transaction logic and smart contracts for the Libra digital currency. Every transaction submitted to the Libra blockchain uses a transaction script written in Move to encode its logic.

According to the Libra whitepaper, the highest priorities when creating Move were safety and security. Move is designed such that assets cannot be cloned to ensure that digital resources can only have one owner at a time and can only be spent once.

Move is an executable bytecode language. Its key feature is the ability to define custom resource types with semantics inspired by linear logic, meaning that digital resources can be moved between program storage locations but they cannot be cloned or implicitly discarded, only moved to different program storage locations. These safety guarantees are enforced statically by Move’s type system.

It is fair to say that blockchains are spoken and written in many languages and interpretations of those languages, all of them with a focus on resolving a particular problem.

Luckily for us, as consumers of these products, the “fit for purpose” approach allows the co-existence of multiple solutions and it may turn out that this new “Wild West” of the internet is not a zero-sum game.

Written by Danny Placinta

📅 This Week in Crypto 📅

The total cryptocurrency market capitalization gained 2% in the past seven days, reaching $850 billion as Bitcoin and altcoins recover from FTX’s collapse.

The Ethereum co-founder was bullish on the rise of decentralized blockchain identities to safeguard user privacy. He continues to say that money, blockchain identities, decentralized finance (DeFi), decentralized autonomous organizations (DAOs) and hybrid applications are the top developments he is excited about in the Ethereum ecosystem.

The FTX collapse impacted the whole crypto ecosystem, but this might have been deeply felt in Web3 gaming because of the ties between Solana and FTX. Some believe the collapse will bring more attention to decentralized projects, while others think GameFi relies on centralization to attract Web2 gamers.