Unveiling the Essential Tech Stack

Essential is building in the open! Discover the Pint programming language, pre-alpha devnet, and comprehensive developer documentation.

Unveiling the Essential Tech Stack

We’re excited to unveil the core components of Essential’s tech stack, including an early version of Essential—the first declarative blockchain—and Pint—a constraint-based language for programmable intents.

This release showcases our ongoing development work and marks the first time developers can build and test declarative blockchain applications, serving as a major step toward an ecosystem of truly scalable applications that optimize for the best user outcomes.

By building in the open and shipping early and often, we aim to demonstrate the value of declarative architectures and incorporate community feedback alongside our roadmap.

What's In The Release

🚧
Note: The Essential devnet is a pre-alpha, centralized, non-incentivized, persistent devnet intended for early testing and experimentation.

Understanding Essential's Declarative Model

Essential is the first declarative blockchain. At its core, the declarative approach involves reframing interactions in terms of outcomes, rather than instructions. Learn more about declarative vs. imperative approaches.

Key Concepts

Note: The following section uses commonly understood terminology for ease of understanding. For a more technically accurate description of the nomenclature used within the Essential protocol, check out the specs.
  • Intents - Users interact with the chain via signed user data (i.e. intents). This provides initial constraints on the parts of the solution the user wishes to fix in advance (for example, the amount of tokens to swap, or the token address itself). Any solution must contain these fixed values to be considered valid.
  • Applications - Like user data, applications (i.e. smart contracts) on Essential also take the form of constraints on state. However, they are also able to constrain state they don’t own, provided the owner of that state authorizes it. Contracts are organized into predicates, one of which must be satisfied in order for that contract's state to be updated.
  • Solutions - Solutions can be thought of as yet further constraints on state, this time to the point where all relevant parameters are constrained to exact values. They take the form of a set of proposed state mutations which satisfy the user’s intent, as well the predicates of any contract whose state they touch. Solutions are bundled together to form blocks.

Declarative Blockchain

✍️
We define a declarative blockchain as a blockchain that leverages constraints to achieve state updates without the need for execution.

Leveraging constraints. Because blockchain applications are all about state transitions, constraints allow you to restrict the ways in which the state is allowed to change. As a result, you do not have to explicitly express how to change the state, but only what state changes are allowed. On Essential, constraints are expressed in the Pint language.

Executionless model. This constraint-based model enables state to be updated without the need for execution. Instead of executing transactions to compute a new state, declarative blockchains specify state updates directly in a block, which then must pass relevant predefined constraint checks in order to be valid. This model ensures that the blockchain remains lightweight and scalable, as constraint verification is much less computationally intensive than imperative execution.

But if there's no execution, how are state updates created? Technically, anyone can directly propose state updates to the network. However in most cases, this role will be fulfilled by solvers—specialized entities who compete to discover and propose the most optimal solutions to user-submitted intents.

The shift from an imperative to a declarative model addresses many UX issues inherent in transaction-based systems. Learn more about the what, why, and how of declarative blockchains here:

Essential: The First Declarative Blockchain
Essential is a declarative intent-centric layer-2. By leveraging constraints to remove the need for execution, Essential enables developers to build scalable applications that optimize for the best user outcomes.

Getting Started with Essential

To start building on Essential, visit the docs for a step by step guide on how to develop applications with Pint and deploy them to the pre-alpha devnet.

🚧
Note: Essential is in a very early stage of development. Developers should expect some rough edges, and to need to implement a number of things which will, eventually, be provided as tooling. Expect the odd bug here and there, and frequent changes to the code.

Our Release Philosophy

Building an entirely new blockchain architecture requires a long-term outlook, continuous iteration, and most importantly, buy-in from an enthusiastic community of builders and users.

Our approach is to ship early and often, gradually rolling out additional features and functionalities while bringing our community with us along the way. This strategy will help us incorporate valuable feedback as we ship iteratively, ensuring we build a robust and sustainable solution that meets the needs of core stakeholders.

We believe that declarative blockchains are the future of web3. Join us on our journey.

Sign up to stay updated 👇