IneryDB GUI
What is IneryDB GUI?
IneryDB GUI is a powerful interface that allows you to remotely connect to the DLS network via a user-friendly, browser-based application. It simplifies database management by combining high-performance CRUD functionalities with the security and reliability of blockchain technology. With the capability to unify various data formats into its Value Contract structure, IneryDB GUI enables seamless migration and integration of data from traditional systems.
GUI bridges the gap between the distributed ledger and client-side applications. Giving the user ability to perform complex databse operation with ease using Inery DMBS graphical interface.
Login & Registration
To access the Inery GUI, users need to register and authenticate securely. During registration, you’ll select your Inery Node URL, set up a GUI account name, and choose a secure PIN. The PIN is salted, hashed, and matched against the distributed ledger system (DLS) for authentication. Upon successful registration on the testnet demo, you’ll be assigned a database with 1MB storage and a key pair generated locally. This key pair, securely stored on your machine, is essential for database operations.
For login, simply provide your GUI account name and PIN. To utilize database utilities, you must also authorize with the private key associated with your database, stored securely on your local machine. This process ensures streamlined yet secure access to your decentralized database.
The process of recording and managing user data is handled via the inerygui
database, which operates with centralized authority in the context of user accounts. However, the data recorded and used within inerygui
is strictly metadata, which remains transparent on the ledger but is internally encrypted with the user's symmetric keys. This ensures that all user-owned data cannot be altered by IneryDB GUI, as it operates solely as a mechanism for crafting Value Contracts and managing databases controlled by the user's locally generated keys.
Registration Process
On first access, users must complete a registration process by providing the following:
Inery Node URL
The server endpoint for communication with the Distributed Ledger System (DLS). Use the provided testnet URL or specify your own node running the Inery protocol.Account Name
Your unique username for accessing the GUI. No restrictions on format, but it must be memorable and secure.Database Name The identifier for your database on the DLS.
- If you're creating a new database, the system will generate a secure key pair for you.
- For existing databases, verify ownership by signing with your private key.
PIN Code A 6-digit personal code used for secure login. This PIN is hashed and matched with the stored record on the DLS to verify your identity.
Database names must be lowercase, 3–12 characters long, containing letters (a–z), numbers (1–5), and the special .
character (not at the end).
Regex format: [a-z]{1}[a-z1-5.]{1,10}[a-z1-5]{1}
Explore Inery's GUI in action with our testnet live demo!
- Preconfigured Nodes: Testnet URLs are preloaded for seamless setup.
- Free Database: Automatically provisioned with 1MB storage for testing.
- Key Pair Generated: A secure key pair is generated client-side during registration.
Ready to try? Launch Live GUI
Database
Inery Database represent address on ledger databases represented by 12 characters long string.
Database when created bust have initial Keypairs which are reuqired in order for that database to apply any change to ledger itself. Besideds permisisons database has natively balance for memory they can use as ledger storage, initialy databses has 1MB.
Database need Value Contract in order to have structure of Composition and Actions over Database.
Permissions
Binded natively to databases permissions are inery::name type string mapping to the public key. Permissions are defined on ledger itself. Everything starts from root permission and goes into hierarhical order. You can crreate child and subchild, You can setup permissions to cusotm action over composition which require minimum authority to execute database operation. That allows you to have mulitple entities with different keypairs withthat different roles and authorities in one database.
GUI has permissions page for each database where you can view every permission with tree view for hierarhical representation. User can change keypair related to permission only if he has private key of the parent permission. So root permission cannot be changed and it has the most power over database.
Composition
Compositions are data structure similar to collection althou they are strictly defined types of objects that can be instantiate on ledger under satisfied permissions. With GUI Process of creating the composition, compiling and deploying the VC is streamlined with just a few clikck.
You have option to create your own compositions or take from templates GUI offers from template page.
- Navigate to the Compositions card in the side menu.
- Define record names and data types, ranging from primitives (e.g.,
uint64
,string
,bool
) to complex objects or arrays. - Optionaly add (up to five) additional indexes of type
uint64_t
orname
for advanced filtering. - Save and Sign. Once completed, the GUI generates and deploy the Value Contract and associated actions for Create, Update, and Delete operations automatically.
IneryDB enables hybrid relational behavior by incorporating indexed relationships, where indexes effectively act as primary and foreign keys. This setup allows for relational-style data linking and retrieval, making it possible to establish structured relationships between data entries while maintaining the flexibility and performance of a decentralized in-memory system. By indexing relationships, IneryDB efficiently manages data dependencies, supporting complex queries and data integrity similar to traditional relational databases but with enhanced speed and scalability.
Memory Efficiency
Traditionaly databases typically require more memory for the same dataset size due to their strict relational structures, which demand additional storage for indexes, joins, and constraints. In contrast, IneryDB uses a schema-compliant NoSQL approach that optimizes memory usage by reducing redundancy and handling data relationships more flexibly. In our memory consumption comparison, IneryDB demonstrated a significant reduction, using approximately three times less memory than SQL databases for the same data structure. For example, an 18MB SQL table was stored as a 6MB composition in IneryDB, efficiently managing the dataset with minimal memory overhead while maintaining data integrity and access speed.
GUI Plugin Features
The GUI platform for decentralized database management is designed for scalability and flexibility, allowing users to tailor their experience through a wide range of plugins. These plugins, both built-in and optional, extend the core functionalities of the GUI, empowering users to manage their decentralized databases with precision and ease.
Built-in Plugins
Built-in plugins are included with the GUI by default and offer essential features that cater to the most common use cases:
- Export Data: Easily export selected data in your desired format for efficient sharing or backup.
- Hot Key: Enhance user interaction by enabling private keys to be saved in the browser cache during a session, streamlining data operations.
The GUI includes a Hot Wallet plugin for session-based private key storage:
- Enable the Hot Wallet plugin from the Plugins page.
- In Settings, select Temporarily store the private key.
This saves the private key in the session for quick database operations. The key is deleted upon logout.
Optional Plugins
For more advanced and specialized functionalities, optional plugins can be installed. These plugins unlock powerful features that elevate database management to the next level:
- Encryption: Automatically encrypt all data entries pushed to the ledger using a private key, ensuring maximum security.
- Backup: Create local JSON backups of selected datasets directly from the settings, safeguarding your data.
- MongoDB Proxy: Enable MongoDB queries, CLI operations, and backups for Inery datasets seamlessly.
- Redis Import: Transfer data smoothly from Redis to the Inery DLS.
- Mongo Import: Import data effortlessly from MongoDB to the Inery DLS.
- Multiformat Import: Build database structures and import data from various file formats, including JSON, XML, and CSV.
- Explorer Lite: Monitor DLS network activity via a dashboard widget, complete with block, transaction, and action details.
With this diverse range of plugins, users can customize their GUI experience to match their specific needs, making the platform a powerful tool for decentralized database management. Whether you’re ensuring data security, importing from multiple sources, or monitoring blockchain activity, the GUI's plugin ecosystem has you covered.
Multi-Format Data Migration
IneryDB GUI enables data migration form various format through its Multiformat Import Plugin, supporting CSV, XML, and JSON. This plugin enables efficient integration of any database exports into IneryDB’s decentralized environment with minimal effort. Activate it in the GUI for streamlined migration. GUI In background create Value Contracts for database to structure the data in schema and populate instance of those scemas called compositions.
MongoDB Migration
Seamless Migration from MongoDB IneryDB simplifies process through its user-friendly GUI. Users can easily transfer their existing MongoDB datasets into Inery’s DLS environment, allowing for a straightforward transition without extensive configuration. This migration capability makes it easy for organizations to shift from MongoDB to a more secure, ledger-based system without disrupting their existing workflows.
To use the MongoDB Import Plugin, navigate to Settings and select the Mongo Import Plugin option. Fill out the modal form with the required details: Private Key, MongoDB Username, Password, Database, Collection, and Composition. Optional fields include Host and Port for your MongoDB server. Once completed, click the blue Import button to seamlessly transfer your MongoDB data into the Inery blockchain