Fully On-Chain Application Development Engine for Resource Security Programming
Thursday, January 1st, 2024
Fully on-chain applications have a long history and have been continuously updated with the development of blockchain technology. The unlocking of infrastructure has accelerated the birth of full-chain applications.
For example, high-performance blockchains and modular blockchains have provided robust underlying platform support for full-chain applications, which has significantly improved the previously high-cost design compromises (such as using traditional back-end storage for data, and only putting assets on-chain in Web2.5-type applications).
This has also unlocked more complex use cases like DeFi, gaming, AW, etc. However, we still face certain development challenges and security issues in the early stages of developing complex full-chain applications.
Introduction to Obelisk Engine: A Fully on-chain Application Development Engine for Resource Security Programming
Our solution is Obelisk Engine, a full-stack application development engine based on resource security programming.
It is built on top of the Move language standard and aims to simplify the complexity of building Move (opens in a new tab) applications by providing a tightly integrated software stack. This allows developers to focus on creating applications without having to develop the supporting auxiliary technical infrastructure required for application implementation. Obelisk Engine provides a solution for building and deploying complex application types (such as DeFi, Gaming, and AW) on the blockchain.
First, let's clarify two concepts: full-chain application and development engine.
A full-chain application is generally understood as an application where the data state and operation instructions are stored on the blockchain. Common examples include DeFi products and games that are fully stored on the blockchain. Full-chain applications minimize the concept of the client, and the client becomes a user-friendly interface option for accessing the full-chain application's API.
A development engine is essentially an extension of a complete workflow, such as a development framework. In addition to providing developers with a complete methodological process, it further encapsulates the structured storage of data and the instruction rules for operations. It forms a unique set of standard paradigms, greatly reducing the difficulty of development and improving the efficiency of application development. Additionally, it can even be further integrated with the characteristics of the target platform, such as the blockchain itself, to provide easier access and reduce usage costs for business development.
Obelisk Labs' first product, Obelisk Engine, is built based on a set of core principles. It revolves around three main principles:
The engine inherits the basic functionality of traditional DApp application development frameworks and provides developers with a complete workflow. This workflow encompasses the entire process, starting from designing the business data model, automatically generating data model contracts, writing business logic, and integrating deployment, upgrade, and user interface development.
Developers can begin by designing the business data model according to their application requirements. This involves defining the data structure, relationships, and functionalities needed for the application.
Once the business data model is designed, the engine automates the process of generating data model contracts based on the design. This eliminates the need for developers to manually write the contract code, saving time and reducing the chances of errors.
After the data model contracts are generated, developers can focus on writing the business logic of the application. This involves defining the operations, rules, and behaviors that govern how the application functions. The engine provides a user-friendly interface and tools to facilitate the coding and testing of the business logic.
Once the business logic is implemented, developers can seamlessly integrate the deployment, upgrade, and user interface development processes. The engine provides features and tools to simplify these tasks, allowing developers to easily deploy and upgrade their applications on the blockchain network. It also provides integration capabilities for user interface development, enabling developers to create user-friendly interfaces that interact with the underlying blockchain-based application.
By providing a complete workflow, the engine aims to streamline the development process and provide developers with a seamless experience from designing the data model to deploying and managing their full-chain applications.
By encapsulating the data storage format of the target platform, we provide a syntax tree transformation similar to an intermediate language (IR). The "Schemas" feature allows developers to configure and write schemas to translate business data types into the data types provided by the target platform.
Additionally, we provide standard instructions (syntactic sugar) for manipulating "Schemas".
The "Schemas" feature allows developers to define the structure and organization of the data stored on the target platform. This can include defining tables, fields, relationships, and constraints. By configuring and writing "Schemas", developers can map their business data models to the data storage format supported by the target platform.
Furthermore, we provide a set of standard instructions (or syntactic sugar) that developers can use to manipulate and optimize the operations performed on the "Schemas". These instructions provide a higher-level interface for developers to interact with the structured storage and optimize the execution of operations. For example, developers can use instructions to query, filter, sort, and aggregate data stored in the "Schemas".
By providing a structured storage design and instruction optimization, we aim to simplify the interaction with the target platform's data storage and optimize the performance and efficiency of operations performed on the data. This allows developers to focus on the business logic of their applications without having to handle the low-level details of the data storage and access.
Obelisk Engine further adapts to the target platform, taking Sui and Sui-Move as examples. We integrate PTBs developed in the Sui network into the framework, allowing developers to use pre-packaged SDK instructions to execute their business logic during development. Additionally, Obelisk Engine supports plugin integration with different third-party technologies, such as AI and ZK, to provide optional choices for business technology selection.
Due to the unified data model design, businesses developed using Obelisk Engine can be deployed to other Move ecosystem networks such as Aptos, Rooch, Movement, Initia, with minimal modifications.
By integrating PTBs from the Sui network into Obelisk Engine, developers can leverage the SDK instructions provided by the Sui network to execute their business logic. This simplifies the development process and allows developers to focus on their core business requirements.
Moreover, Obelisk Engine supports plugin integration, enabling developers to incorporate third-party technologies such as AI and ZK into their applications. This provides flexibility in selecting the appropriate technologies for specific business needs and enhances the functionality and capabilities of the applications.
Furthermore, thanks to the unified data model design, applications developed using Obelisk Engine can be easily deployed to other Move-based blockchain networks. This compatibility allows businesses to leverage different Move ecosystem networks, such as Aptos, Rooch, Movement, Initia, without significant modifications to the application codebase.
By providing plugin integration and cross-platform compatibility, Obelisk Engine aims to offer developers a flexible and extensible development environment. Developers can leverage pre-built SDK instructions, integrate third-party technologies, and deploy their applications to various Move-based blockchain networks, expanding the potential reach and capabilities of their applications.
Obelisk Engine offers a user-friendly framework for developing Move applications. With this framework, developers can create various composable, extensible, and interoperable applications such as DeFi, gaming, and AW. We provide a powerful and scalable toolchain to assist developers in designing, building, deploying/upgrading their applications, and solving various technical challenges within the ecosystem.
Meanwhile, we encourage you to visit our website, explore our documentation, and dive into the codebase to obtain more information!
We sincerely appreciate Henry's feedback and comments.