Skip to main content

Rell overview

Rell is a programming language specifically designed for dapp development on the Chromia blockchain. Unlike traditional platforms that rely on virtual machines, Rell takes a language-focused approach to better align with Chromia’s relational data model, enabling efficient encoding of queries and operations.

With Rell, developers can define data models, write queries, and implement procedural logic. The language compiles into SQL while ensuring secure and reliable execution.

Key features include strong type safety to prevent mismatches and errors, built-in security measures like overflow protection and mandatory authorization checks, a concise syntax that reduces redundancy and enhances readability, and meta-programming capabilities that allow reusable templates for more efficient development.

Getting started

To begin using Rell templates:

  1. See the Rell Introduction for a basic understanding
  2. Explore available extensions and features on the Chromia Learn platform.
  3. Join the Chromia developer community for support

Start building

This section provides all the essentials to begin dapp development on the Chromia blockchain. It includes instructions for installing and configuring your local development environment. You will also find an extensive guide that will teach you how to install and use the Chromia CLI to write and execute pipelines for testing and deploying Rell code on the Chromia blockchain platform. You should follow these simple steps to start building your dapp: set up your environment, create a basic "Hello World" dapp, acquire testnet tokens, and deploy your dapp to the public testnet.

warning

To test the Governance Tool for EVM, you should obtain test tokens (tCHR) on the Binance Smart Chain testnet.

Configure your project and blockchain

Below, we summarize how to configure a project and blockchain to develop and run a dapp on Chromia. You need to set up your project and configure the blockchain to seamlessly connect the frontend with the Rell backend for efficient data management. For detailed information how to configure your project and blockchain, please refer to the configuration section.

Project Structure

A Chromia project is organized within a directory containing Rell code, a chromia.yml configuration file, and modules for dapp logic. Running chr create-rell-dapp generates a new project with a main.rell entry and test files.

Project Settings File

The chromia.yml file defines the dApp’s configuration, including blockchain settings and deployment details. It can be renamed, and most attributes have default values requiring changes only if customization is needed.

Configuration Properties

Key settings in BaseBlockChainConfiguration include signers, sync, and configuration factory, while block strategy settings define parameters like max block size and minimum inter-block interval. Default values and types are provided for guidance.

Economy Chain Configuration

Defines parameters related to assets, staking, and EVM integration, covering asset identification, staking rewards, and operational limits such as maximum minting amounts, staking intervals, and transaction bonuses.

tip

Please check the Chromia block explorer for the Economy Chain and find detailed information about the Economy Chain configuration.

Advanced components of Governance Tool

When using the Governance tool, you will interact with various other components developed within the Chromia ecosystem. Among the most important are the Ethereum Interoperability Framework (EIF), FT4 accounts, and the rell pagination library that will help you paginate your data. Gaining a solid understanding of these concepts before diving deep into building will be very beneficial. Therefore, we strongly recommend checking out the rest of the sections in Chromia Learn platform after completing the Rell Masterclass.

tip

For user accounts and their management within the Governance Tool, including registration and authentication, we’ll guide you through installing the FT4 library and configuring accounts. For EIF, the Governance Tool primarily uses eif, eif_event_receiver, and eif_event_connector, which are located in the GitLab repository.