Introducing REACH, An Algorand based DApp Builder

Iam Chijamz
4 min readNov 27, 2020

Until now, building decentralized applications continues to prove a daunting task for developers, mainly traditional developers without the skill set to compile multiple, complex codes, as are existing requirements for DApp development across current blockchains.

Until small scale developers can build decentralized applications (DApps) conveniently across various blockchains, the world of blockchain development and decentralized finance (DeFi) will remain at its nascent stage.

This problem had long existed without a solution until recently, with the introduction of “Reach” into the Algorand space courtesy of the Algorand Foundation grant.

Reach is a consensus network-agnostic language, supporting the development of decentralized applications across several blockchains. It makes use of a domain-specific language (DSL), which specifies DApps and uses a particular compiler that is responsible for the specification into each’s outer components. At the same time, it performs automatic verification of the correct properties.

Reach guarantees that millions of developers, rather than a handful of thousands, will be able to participate in the development of DApps by lowering the barrier of entry, thus raising the productivity of DApp developers and advancing the world of blockchains.

In this article, we shall be highlighting the problems faced by current DApp development and the solutions Reach provides in actualizing its goal of making DApp development easier.

Existing DApp development problems

Current DApp development requires a high degree of understanding complex codes and programming languages before a single DApp may be launched.

This complexity leads to a higher amount of time spent writing every bit of code, which could be very stressful to the developer. Because of the complexity and the large number of codes required to develop a DApp, the margin of error becomes very high, and a single mistake in the coding may lead to re-editing the entire code.

Also, due to the complex and elaborate nature of the required codes, the likelihood of loopholes is not eliminated. If there is an eventual hack following the launching of the DApp, it can result in a loss of both developer and user assets.

Additionally, DApps currently developed on a protocol can only run on that protocol. If there’s a chance that the developer wishes to transfer the DApp to another protocol, he would need to re-write the code afresh. This is called protocol lock-in. Take, for instance, a developer who writes a blockchain game on Ethereum. To transfer that game into Algorand, that developer will have to re-write all the codes in the language used by Algorand.

Reach’s Solutions

It is fair to say that these problems associated with existing methods put the average developer in the back seat, are hugely insecure and very much strenuous and time-consuming. Interestingly, Reach proffers the solutions to these challenges and offers lots more besides.

By using Reach, developers can cut down on the amount of time required to compile a full length of code because Reach raises the abstraction levels, allowing developers to code at the level of business logic. Code complexity is further reduced as developers wouldn’t have to trouble themselves building both the smart contract and client endpoints because Reach outputs the entire protocol level of the DApp.

With Reach, developers need not worry over their DApps’ security because Reach automatically mathematically guarantees protection against categories of potential bugs, giving developers the liberty to insert inline custom assertions that would ordinarily be done by highly skilled consultants putting in many hours.

Meanwhile, with the use of Reach, the problem of protocol lock-in is eliminated. Developers can quickly transfer their applications from one protocol to another without having to re-write it from scratch. Developers can also interact with each other and collaborate regardless of protocol since their apps are built upon the same language.

How Reach Achieves Its Solutions

High-Level Language: Reach makes use of a domain-specific language that uses a subset of JavaScript to provide specifications to the entire DApp — the smart contracts, the servers on the backend, clients run on the front-end and every piece communication among them. This language enables developers to create quickly and deploy DApps since every specification is done in a single language.

Blockchain Agnostic: As mentioned earlier, Reach is consensus-agnostic, meaning developers can build their DApps on any blockchain protocol. This is possible because the DApps are outputted to a generalized backed language. Then “connectors” are used to translate the backend language into the correct byte code while still keeping faithful to interfaces offered by the networks it runs on.

Safety Guarantees: Reach guarantees error-free DApps because developers write down what their DApp must not do instead of what it should do. With this information, Reach promises that these bad results never happen. The compiler uses type-checking, a normal-form transformation, information-flow security, and endpoint projection to derive each component from the specification correctly. It is also able to check the correctness of the application built on it.

Final Thoughts

Reach guarantees the safest, easiest, and fastest way of building decentralized applications across blockchains. It lowers DApp developers’ bars by providing a language and tutorials that can lead to a DApp in as little as nine simple steps.

Currently, Reach runs on the Algorand blockchain and also works on the Ethereum blockchain, amidst its anticipated inroads across other blockchains.

Reach makes everyone a developer. It is easy to use, simple and could lead to developing a working DApp on the Algorand blockchain within days with much fewer code lines required. What do you think about Reach? Do share with me in the comment section.

--

--