Sola AI is a personalized AI voice assistant that bridges Solana blockchain technology and AI through a hands-free user experience.
This application provides seamless interaction between the user, OpenAI, and blockchain data using voice and text. Key features include:
- Real-time Communication: Utilizes WebRTC for seamless voice and text communication.
- Modern Frontend: Built with Vite React and styled with Tailwind CSS.
- Scalable Backend: Employs a microservices architecture for efficient data processing.
- Blockchain Data Filtering: Microservices filter and process blockchain data based on user queries.
- Blockchain Interactions: Supports Solana on-chain interactions (e.g., transfer, swap).
-
Sola AI Application: Serves as the central hub for processing user input, communicating with services, and integrating AI models with blockchain interactions.
- Interfaces with OpenAI for natural language processing.
- Routes user requests to appropriate microservices.
- Provides AI powered intelligent interface.
-
Data Service:
- Microservice providing blockchain data built using rust.
- Filters and structures Solana blockchain and web data based on user queries.
-
Wallet Service:
- Helps to build pre-defined transactions and provides transaction objects.
- Built using Rust for fast data processing.
-
User Service:
- Manages user data such as chat rooms management, chat history, user settings.
Refer our Docs for a better understanding of the application architecture.
- User Input: Sola AI receives voice or text input.
- Data Fetching: The Data Service retrieves and filters blockchain data.
- Transaction Building: The Wallet Service handles transaction construction.
- Transaction Execution: The transaction is executed using an embedded wallet or the user's custom wallet.
- Response: Sola AI processes the results and responds to the user through the voice/text interface.
For detailed installation instructions, please refer to the INSTALL.md file.
We welcome contributions! To contribute:
- Fork the repository and create a new branch.
- Make your changes and test thoroughly.
- Submit a pull request with detailed explanations of your changes.
Please see the CONTRIBUTING.md file for more guidelines.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.