SORA
SCF #29 Community Award Other Developer Tooling $99,996 View in SCF
Sora is your essential companion toolkit for developing on Stellar!
Team

tolgayayci

justmert

Deliverables List

[Deliverable 1: TX Page Implementation]

Brief description: Develop a new TX (Transaction) page in SORA that provides functionality for signing, simulating, and sending transactions, mirroring the capabilities of the new `stellar tx` command in the stellar-cli. It will provide a user-friendly interface for transaction simulation, integrating key options such as network selection, source account input, and transaction envelope handling.

How to measure completion: Availability of TX Page interface in Sora. The TX page is fully functional, allowing users to input transaction details, simulate transactions, and view results clearly. It successfully integrates with SORA's existing network configurations and provides appropriate error handling.

Estimated date of completion: August 2, 2024

Budget: $12,500


 

[Deliverable 2: Cache Management Interface]

Brief description: Implement a new Cache page in SORA that allows users to manage the cache for transactions and contract specs, mirroring the new `stellar cache` command functionality. This interface will enable users to view, clean, and interact with cached actions.

How to measure completion: Availability of Cache Page interface in Sora. The Cache page successfully integrates the functionality of cache cleaning, path display, and actionlog viewing functionalities.

Estimated date of completion: August 11, 2024

Budget: $8,500
 

[Deliverable 3: Soroban Contract Interaction Interface for Built Contracts]

Brief description: Develop a dynamic interface in SORA for interacting with Soroban smart contracts directly by reading the contract's interface types. This feature will leverage the contract's embedded interface types (spec/API) to generate an on-the-fly contract interaction within the GUI, similar to the `stellar contract invoke` command but with a graphical interface. Users will be able to input arguments, execute functions with one click, and view results. You can think of it as a contract-specific "playground" for testing and interacting with compiled contracts without leaving your development workflow in SORA. Something like Remix IDE for Solidity contract interaction, but for Soroban!

How to measure completion: Availability of contract interaction interface in Sora. The feature is complete when users can view a dynamically generated GUI for all functions of a built Soroban smart contract, input arguments of various types for these functions, execute functions with simple clicks and see execution results clearly displayed. The interface should also handle different data types, support cross-contract calls, provide clear error messages, and offer input validation.

Estimated date of completion: August 28, 2024

Budget: $16,500

[Deliverable 4: Quick Project Templates]

Brief description: Develop a set of starter templates for various Stellar development scenarios, including frontend dapps and SDK starter kits. These templates will provide developers with pre-configured, ready-to-use project structures to accelerate development across different use cases and technologies. These templates will be accessible through SORA's Projects page, allowing users to quickly create new projects based on the provided templates. The templates will include examples such as:

  • SDK Starter Kits (e.g., Python, Rust, JavaScript)
  • Frontend Dapp Templates (e.g., DeFi application with Next.js, payment app with React)
  • Specialized Templates (e.g., data ingestion pipeline with Go)

How to measure completion: The templates are complete when each provides a functional starting point with necessary dependencies, basic configuration, and example code demonstrating core functionality. Users can create new projects based on these templates, and the resulting projects are ready to run with no additional setup. A minimum of 5 templates should be available at the delivery date.

Estimated Date of Completion: September 9, 2024

Budget: $12,500

[Deliverable 5: Local Stellar Instance Runner]

Brief description: Implement a "Local Stellar Instance" page in SORA that allows developers to quickly set up and run a local Stellar network instance (can be standalone, testnet or futurenet node) for testing and development. The Stellar instance will include Stellar Core, Soroban RPC server, Horizon server, and Friendbot server. Sora will leverage Docker to run the Stellar Quickstart image, providing users with a pre-configured environment including pre-funded accounts, without requiring manual setup or configuration. The Local Stellar Instance Runner will automatically manage Docker operations, configure the local instance, generate test accounts, and provide a user-friendly interface for controlling and monitoring the local network.

How to measure completion: The feature is complete when users can start a local Stellar instance with a single click within SORA, view the status and logs of the running instance, access connection details for the local network, and see information about pre-funded test accounts. The interface should allow users to easily stop the instance and clear data when needed. Integration with existing SORA features, such as automatically configuring the local network for use in other parts of the application, will also be implemented.

Estimated Date of Completion: September 21, 2024

Budget: $12,500

[Deliverable 6: Sora Improvements]

Brief description: Implement a series of improvements to Sora, enhancing its functionality, user experience, and integration capabilities. The improvements include:

  • Expand the AI's knowledge base to include Stellar SDKs for all implemented languages, enabling it to provide more comprehensive assistance for Stellar development.
  • Implement an interactive application guide tour with descriptive popups and how-to-use GIFs inside Sora for new users, offering a quick overview of Sora's features.
  • Add functionality to import projects directly from Git providers (e.g., GitHub, GitLab) within the Projects page for immediate workflow integration.
  • Capture and log stellar-cli command executions from CLI terminal (like Bash), providing a unified command history across Sora, VS Code extension, and CLI terminal. This feature addresses the need for comprehensive logging when developers execute commands directly in the terminal (e.g., when copy-pasting from Stellar learning resources). It ensures users can maintain their workflow within Sora without missing any command history.
  • Minor enhancements and UI/UX improvements to improve overall usability and stability.

How to measure completion: The enhancements are complete when all features are implemented and functioning as described, providing a seamless and improved user experience across Sora's ecosystem. Implementation can also be tracked in github.com/tolgayayci/sora/issues

Estimated Date of Completion: October 6, 2024

Budget: $18,500


 

[Deliverable 7: VS Code Extension Improvements for Stellar Suite]

Brief description: Expand and improve the Stellar Suite VS Code extension to provide a more comprehensive and intelligent development environment for Soroban smart contracts.

  • Full coverage of all stellar-cli commands in the command builder
  • Integration of the SOR.AI assistant for in-editor support
  • Addition of Soroban-specific code snippets

How to measure completion: The enhancement is complete when:

  • The command builder covers all stellar-cli subcommands and their arguments
  • SOR.AI assistant is integrated, providing context-aware help and code suggestions. It accurately responds to queries about Soroban commands, provides code examples, and offers syntax help
  • A library of Soroban-related code snippets is available to devs for quick insertion of common contract patterns

Improvements also can be tracked in github.com/tolgayayci/sora/issues

Estimated Date of Completion: October 15, 2024

Budget: $15,000

[Deliverable 8: Educational Content and Documentation Enhancement]

Brief description: Create comprehensive educational materials and improve existing documentation to facilitate user onboarding and maximize SORA's utility. This includes producing video tutorials, writing informative blog posts, and enhancing the existing documentation. The deliverable will include:

  • 10-part YouTube video tutorial series covering each SORA and Stellar Suite with their usage
  • 3 in-depth blog posts about SORA's features and benefits
  • Significant improvements to the existing documentation

How to measure completion: The deliverable is complete when all video tutorials are published on YouTube, blog posts are live and accessible, and the documentation has been comprehensively updated and improved.

Estimated Date of Completion: October 21, 2024

Budget: $4,000

Requested Budget in USD ($)

99996

Section

read

Product & Architecture

Developing Soroban smart contracts on Stellar requires a deep understanding of stellar-cli, a command-line tool with numerous commands, arguments, and frequent changes that can be error-prone and cumbersome. Additionally, developers need to interact with contracts easily, spin up local network instances instantly, and quickly set up projects for various use cases, which can complicate the development process with manual setup and configurations across different tools and environments. An efficient AI assistant for on-demand help and a VS Code extension for integrated development workflows are also missing in the Stellar ecosystem.

Such challenges can slow development, increase the likelihood of errors, and discourage developers from fully exploring the capabilities of Stellar ecosystem, thereby limiting its adoption.

Soroban CLI GUI was born to address these challenges by providing an intuitive graphical user interface (GUI) application that abstracts stellar-cli to simplify the process of developing Soroban smart contracts.

  • After our first submission, v0.1.0 is released. Soroban CLI GUI was developed as a standalone desktop application that is merely a graphical interface for the stellar-cli but was effective in reducing the learning curve and manual errors associated with command-line interactions. After its initial release, it was well received by the developer community with 10+ stars, 25+ downloads, and positive feedbacks in two weeks.
     
  • After our second submission, v0.2.0 is released. Soroban CLI GUI evolved into SORA, expanding beyond a simple GUI to become a comprehensive development suite. New features were introduced, like real-time event monitoring with an events page, experimental functionality exploration with a lab page, AI command constructor for converting natural language inputs to stellar-cli commands, Soroban AI Assistant for on-demand assistance, and VS Code Extension (Stellar Suite) for integrated development workflows, and substantial user experience improvements. Currently, SORA has 16+ stars on Github, and 20+ unique users in the last two weeks (counted after telemetry is implemented).

Now, for the third iteration, we plan to further enhance SORA to become the most comprehensive development toolkit for Stellar developers. This iteration will introduce several key features and improvements such as, including a TX page for signing and sending transactions, cache management for handling transaction and contract spec caches, dynamic contract interaction for on-the-fly GUI interaction with Soroban contracts, quick project templates for accelerated development across various scenarios, a local Stellar instance runner for easy local network setup, and a series of Sora and VS Code Extension improvements to enhance functionality, user experience, and integration capabilities.

With this introduction type of submission, Sora will be out of beta and ready for wider adoption by Stellar developers.

But, Why Would I Use SORA? 

  • Do you want to interact with Stellar without diving into complex CLI commands? Use the Sora app to easily interact with Stellar.
  • Do you want to interact with Soroban contracts easily? The Contract Interaction Interface provides a user-friendly interaction with your contract.
  • Are you starting a new Stellar project? Quick Project Templates accelerate the setup process.
  • Do you want to develop locally and need a local network for testing? The Local Stellar Instance Runner offers a one-click setup.
  • Do you prefer developing in VS Code? Stellar Suite extension enhances the IDE experience by covering all the functionalities of interacting with Stellar.
  • Are you new to Stellar development? Our expanded educational content and documentation provide comprehensive guidance.
  • Do you need help with stellar-cli commands? The AI command constructor translates natural language to CLI commands. Just say `invoke a contract function` to chat and you are done.
  • Are you looking for instant support? The AI assistant (Sor.AI) provides quick answers and code snippets.

Yes, we want Sora to become the essential tool for Stellar development without splitting your workflow across multiple applications and interfaces. Sora provides a unified environment for all your Stellar development needs. If it misses anything, then please add the issue in Github.

Technical Architecture Doc

https://drive.google.com/file/d/1EUOdLUjN00-bNhBPx8escHqNAcVZqw53/view?usp=sharing

Project URL

https://github.com/tolgayayci/sora

Code URL

https://github.com/tolgayayci/sora

Video URL

https://drive.google.com/file/d/1XhAs-0fTwkZCAXbmdNqEsO4z4g6ff-6M/view

Pitch Deck URL

https://drive.google.com/drive/folders/1udNlq_8LIFexgwsYpYqH_-SlQwUURlJS?usp=sharing

Project Categories

Product Type [If Other Developer Tooling]

Section

read

Section

read

Team bio

Mert Köklü - Developer

With a degree in Computer Science, he worked as the Intelligent Video Analytics Team Leader at an NVIDIA distributor company, developing video analytics solutions for 2 years. After delving into the Web3 ecosystem, he has become a grantee for multiple protocols by contributing innovative projects. As a certified NVIDIA instructor and ambassador for well-known entities like Microsoft and The Graph protocol, he has earned recognition in the tech ecosystem.

LinkedIn: https://www.linkedin.com/in/mertkoklu/

GitHub: https://github.com/justmert

Discord: mertkkl

Tolga Yaycı - Developer

As a full-stack developer with 2 years of experience, I have refined my skills in software development, with a focus on dApp development in the past year. I have a deep interest in the Web3 space and have applied my skills by creating a number of relevant applications. In addition to my experience, I have developed detailed React and Next.js projects, further enhancing my ability to build robust and scalable web applications.

LinkedIn: https://www.linkedin.com/in/tolgayayci/

GitHub: https://github.com/tolgayayci

Discord: tolgayayci

---

Tolga and I co-founded YK Labs, a company specialized in developing applications and solutions within the blockchain ecosystem. We have experience working with well-known protocols such as Filecoin, Dfinity Foundation, Web3 Foundation, and Solana. Our collaborative efforts have led to the creation of 15+ grantee projects across 10+ protocols, earning recognition and experience with our contributions.

These are some of our projects:

Progress on Previous (Awarded) Submissions

All deliverables from the previous submission are delivered. You can see the demo video for first version and its release notes at below links.

Project repository: https://github.com/tolgayayci/sora

Release of previous submission deliverables: https://github.com/tolgayayci/sora/releases/tag/v0.2.0
The demo video of the project: https://drive.google.com/file/d/1CjCdlBRklgf6W-FWlM4U_OvovgQvc7nr/view?usp=sharing

Project Docs: https://docs.thesora.app/docs/getting-started/installation

Project Landing Page: https://thesora.app/

Total Expected Roadmap

The SORA project is set to enhance the Stellar development experience by introducing a suite of user-friendly toolkits. The comprehensive roadmap to complete the development includes the following key deliverables:

  • TX Page Implementation: Integration of transaction signing, simulation, and sending capabilities.
  • Cache Management Interface: Tools for managing transaction and contract spec caches.
  • Soroban Contract Interaction Interface: Dynamic GUI generation for interacting with built Soroban contracts.
  • Quick Project Templates: Development of starter templates for various Stellar projects.
  • Local Stellar Instance Runner: One-click setup for local Stellar network instances.
  • SORA and VS Code Extension (Stellar Suite) Improvements

This submission represents the third iteration of SORA, transitioning it out of beta and preparing it for wider adoption by Stellar developers. We have outlined this roadmap to further develop the project, meet community requests, and increase Soroban adoption. The total budget for this phase is $100,000, which we believe is justified based on the comprehensive nature of the planned improvements and the project's potential impact on the Stellar ecosystem.

This is an introduction type of grant submission, that focuses on gaining users through comprehensive feature development, improved user experience, and expanded educational resources. Our strategy for gaining users includes:

  • Leveraging the improved features to attract developers of all skill levels.
  • Utilizing the educational content to onboard new Stellar developers which is defined in the latest deliverable Educational Content and Documentation Enhancement.
  • Engaging with the Stellar community through Discord, and other dev channels.
  • Collaborating with Stellar developers to integrate SORA into their workflows.