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:
- See the Rell Introduction for a basic understanding
- Explore available extensions and features on the Chromia Learn platform.
- 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.
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.
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.
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.