Skip to content

Your tool for generating tailored, decentralized databases on the EVM with in-built CRUD operations and on-chain indexing. Prototype and build blockchain applications with ease and speed.

License

Notifications You must be signed in to change notification settings

TimeleapLabs/SolidQuery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SolidQuery

Kenshi

SolidQuery is an innovative open-source project that generates a decentralized database based on your unique data schema. Unlike traditional databases, SolidQuery provides a highly customized and fully decentralized data management solution for the Ethereum blockchain, allowing seamless integration with your DApps.

This demo stores and indexes all its data on the Arbitrum mainnet. The generated contract is deployed as-is, with no modifications.

Key Features

  • Custom Schema Generation: Define your data structure using YAML and let SolidQuery do the rest.
  • Decentralized Database: Leverage the power of the Ethereum blockchain for your application's data management.
  • Data Indexing: Built-in functionality for data indexing.
  • Solidity Event Emitting: Automates the generation of Solidity events for data creation, update, and deletion.

Learn more about SolidQuery here.

How to Use

Playground

You can find the SolidQuery playground here.

Installation

npm install -g @kenshi.io/solidquery

Usage

Create a YAML file to define your data schema. Run the following command to generate the Solidity contract:

solidq schema.yaml MyContract.sol

SolidQuery CLI

Example Schema

Book:
  Id: uint256 id auto
  Name: string
  Author: string indexed
  Published: uint256 indexed get set

Person:
  Name: string
  Birth: uint256 indexed

User:
  Address: address id
  Balance: uint256

is equivalent to

Book:
  Id:
    type: uint256
    id: true
    auto: true
  Name: string
  Author:
    type: string
    indexed: true
    get: true
    set: true
  Published:
    type: uint256
    indexed: true

Person:
  Name: string
  Birth:
    type: uint256
    indexed: true

User:
  Address:
    type: address
    id: true
  Balance:
    type: uint256

You can learn the schema language here.

SolidQuery Demo

Roadmap

We have planned the following features:

  • Fine control over contract generation
  • Array fields
  • Relations
  • Better indexing
  • Range queries
  • Multi-dimensional indexing

Contributing

We welcome and appreciate all contributions. If you're interested in contributing, please see our Contributing Guide.

License

SolidQuery is Apache 2.0 licensed.

Contact

Feel free to contact us at our contact page if you have questions or need assistance.

About

Your tool for generating tailored, decentralized databases on the EVM with in-built CRUD operations and on-chain indexing. Prototype and build blockchain applications with ease and speed.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published