Sui blockchain, with its concepts and unique features, has captured the attention of developers worldwide. Among these innovators is TheMoveDev, an affiliated project of Peeranha. TheMoveDev is a developer tool that empowers developers in the Sui ecosystem to build in a fast and cost-effective way.
During our development journey, we encountered a variety of challenges and bugs. In this article, the Peeranha team aims to share their experiences working with Sui: from our initial steps in mastering Move to the various obstacles we encountered throughout the development process, and the solutions we found.
P.S. A fundamental principle in learning something new is establishing an effective knowledge sharing process. Hence, while studying the Move book, feel free to leave your questions on a dedicated Web3 forum for Move developers.
Building a Bridge to Sui: TheMoveDev Vision
TheMoveDev is embarking on an ambitious journey, creating services and tools tailored specifically for the Sui blockchain and ecosystem developers. Their project encompasses three key services:
- Public Sui full node and indexer infrastructure with GraphQL interface;
- GraphQL API to Sui Indexer;
- Realtime notifications API from Sui blockchain.
These services are crucial, not just extra features. They specifically address Sui’s unique aspects, like querying objects and managing ownership directly on the blockchain.
The development process is conducted under a grant from Sui and is completely open for anyone interested in participating. All developments and outcomes are available here:
- TheMoveDev GitHub;
- SuiQL GitHub Repository;
Why did we choose to build on Sui?
Peeranha as the parent company for TheMoveDev has been in the Sui ecosystem since “Day 1”. Thus, it was always in our plans to expand Peeranha onto the Sui blockchain, which is directly related to the creation of TheMoveDev.
TheMoveDev History — Development Background
In a nutshell, Peeranha is a Web3 forum that is fully decentralized and started its journey from the Polygon ecosystem. So, all the knowledge that users share on the Polygon-based platform is indexed from the blockchain using the already existing solution The Graph. However, the ecosystem lacked such a solution, resulting in the decision to create not only its own, but also a public good in the face of TheMoveDev.
What sets Sui apart from other chains is its approach to objects. Unlike existing tools designed for other chains, which focus on blocks and transactions, Sui demands a different perspective. TheMoveDev recognizes this need and aims to fill the gap by providing Sui developers with convenient and flexible querying capabilities for objects and on-chain events.
Building on Sui: A Vision for Tomorrow
Why is TheMoveDev excited about building on Sui? The reasons are as profound as they are inspiring:
- Concept of Objects and Object Ownership: Sui’s approach to objects and object ownership at the blockchain level presents unparalleled opportunities for developers to explore uncharted territories.
- Low Transaction Fees: In a landscape often marred by high transaction costs, Sui stands out with its affordability, making blockchain technology accessible to a broader dev audience.
- High Transaction Throughput: Sui’s capability to process an exceptionally large number of transactions per second sets new benchmarks for efficiency and scalability.
- Sponsored Transactions: A feature that simplifies transactions, making them seamless and hassle-free for users and developers alike.
- Zero Knowledge Proofs: Sui’s integration of Zero Knowledge Proofs at the blockchain level ensures enhanced security and privacy, fostering trust among users.
We aim to empower fellow developers, facilitate innovation, and pave the way for a future where blockchain technology transforms lives.
Sui Ecosystem — From People to People
The topic of ecosystem and its development is always at the center of attention of TheMoveDev team. TheMoveDev team has partially built Peeranha before.
Peeranha serves as a hub for the community to share knowledge and actively participate in expanding the knowledge base. It is important to note that Peeranha is intended to complement documentation and blogs, Discord and Telegram, not replace them. Rather, it allows community members to create, own the knowledge and be rewarded for their efforts.
The Sui ecosystem can be called one of the fastest growing ecosystems on the expanse of Web3. New and exciting projects are constantly appearing in the ecosystem and attracting new users.
Empowering the Future: Our Approach To BUIDL
Our journey of working with Sui and exploring the Move book is a complex process with several key components, which are described below.
Accelerating Development and Launch
Receiving the grant allowed TheMoveDev to accelerate the development and launch of the service. With increased project resources and the ability to hire the necessary team members, we have been able to bring our ideas to life at an unprecedented pace. Thus, to date, a public GraphQL UI to Sui indexer has already been launched here.
Community-Centric Approach: Open Sourcing for All
Beyond the immediate project scope, TheMoveDev is committed to the community. We plan to dedicate time to externalize and open-source the code, ensuring that the wider developer community can benefit from our solution. This collaborative ethos promotes knowledge sharing and fosters a vibrant ecosystem.
Challenges of Building on Sui
A primary challenge we faced while developing on Sui was the intricacies of the Sui Indexer. This tool is crucial for interfacing with the Sui blockchain, extracting data, and storing it in a database for SuiQL queries.
Initially, the Indexer required a connection to an Archive Node, which stores the entire blockchain history. However, setting up such a node proved challenging due to a lack of clear documentation and the necessity to delve into the codebase to understand the appropriate configurations.
Performance Issues
After successfully launching the Sui Indexer, we encountered performance bottlenecks. The Indexer had to scan the entire blockchain history, a task that became increasingly time-consuming, especially on the testnet with its extensive transaction history. This scanning process, crucial for maintaining our database, proved to be a significant hurdle due to its prolonged duration.
Learning Sui — Our Solutions
To tackle these challenges, we utilized standard technologies familiar to most developers, such as Rust, AWS, TypeScript, and Node.js. This approach aimed to make our code accessible and reusable for a broader audience, not just specialized Rust developers.
Technical Stack Integration
We integrated several components to build our solution:
- Sui Full Node in Archival Mode: Essential for accessing complete blockchain history.
- Customized Sui Indexer: Connected to the Sui Node, it reads blockchain data, which is then transformed and stored in a PostgreSQL database. We modified the Sui Indexer to suit our needs, optimizing the data structure for efficiency and relevance.
- GraphQL and SQL Integration: Our API, hosted on AWS Lambda, translates GraphQL queries into SQL queries for the PostgreSQL database. We utilized GraphQL Mesh for these transformations.
- Front-End Development: The user interface, built with ReactJS, includes customized GraphiQL components for executing and displaying query results.
Community Contribution
Our journey in the Sui ecosystem led to the development of articles focused on sponsored transactions and Sui Move Events Listeners and Webhooks. These resources, available at our dedicated Sui Move page, not only reflect our technical journey but also contribute significantly to the Sui community by sharing our insights and solutions.