Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Web3-Builders-Alliance/soda
From an IDL to whatever you want
https://github.com/Web3-Builders-Alliance/soda
rust solana tauri
Last synced: 3 months ago
JSON representation
From an IDL to whatever you want
- Host: GitHub
- URL: https://github.com/Web3-Builders-Alliance/soda
- Owner: Web3-Builders-Alliance
- License: apache-2.0
- Created: 2023-02-21T17:20:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-12T21:43:46.000Z (8 months ago)
- Last Synced: 2024-04-14T11:15:06.637Z (7 months ago)
- Topics: rust, solana, tauri
- Language: Handlebars
- Homepage: https://www.usesoda.dev
- Size: 10 MB
- Stars: 20
- Watchers: 4
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
- awesome-tauri - Soda - Generate source code from an IDL. (Applications / Developer tools)
README
# Soda: Fast Code Generator for Solana
Soda is a powerful code generator that allows you to build program prototypes at Solana speed. It enables you to generate mobile and web clients from Solana programs effortlessly.
## Current Features
- Generate Solana Programs and client source code from an IDL.
- Write, read, and edit IDL in a desktop UI.
- Template-based approach:
- Create custom building blocks.
- Use Handlebars with Rhai scripting.
- Common helpers are included by default.
- Support for custom helpers.
- Handle binary files and dynamic paths.
- Language-agnostic.
- Portable template file format and template folders, supported by CLI and Desktop App.
- Available Templates:
- NextJs-Tailwind Client.
- Flutter Client.
- React Native Client.
- Anchor Program.
- Seahorse Program.## How to Use Soda
The best way to use Soda is through the web application: [Soda Web](https://machine.usesoda.dev/).
### Install Soda Desktop
To use the Desktop App, download the latest release from the [Soda GitHub Releases](https://github.com/Web3-Builders-Alliance/soda/releases) page.
(Optional: You can also download the templates.zip file if you want to use templates other than the default, or clone this repository and use templates from the templates folder.)
**Provisional Steps:** We are still working on adding code signing to our app, so you may encounter a security warning. Until we finish the code signing process, you might need to check how to open the app on your OS.
### Install Soda CLI
You can install the CLI using either Cargo or NPM.
- Using Cargo (recommended):
```
cargo install soda-cli
```- Using NPM:
```
npm install @use_soda/soda-cli -g
```#### CLI Usage
```shell
soda-cli create-project
```Creates a new project from an IDL file. If no template path is provided, the project will attempt to use a `template.soda` file in the current directory. If no IDL path is provided, the CLI will try to open an `idl.json` file in the current directory.
```shell
soda-cli pack-template
```Creates a template file from a template folder. If no output path is provided, the template will be created in the current directory with the name `template.soda`. If no template path is provided, the CLI will attempt to read from a template folder in the current directory.
```shell
soda-cli unpack-template
```Creates a template folder from a template file. If no output path is provided, the template folder will be created in the current directory with the name `template`. If no template path is provided, the CLI will try to read from a `template.soda` file in the current directory.
**Note: Soda is actively under development, and everything is subject to change. This code is unaudited; use it at your own risk.**