Skip to content

Commit

Permalink
Modified 5 files
Browse files Browse the repository at this point in the history
  • Loading branch information
alwyn-ixo committed Dec 12, 2024
1 parent 558fd00 commit dd1a5db
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 6 deletions.
3 changes: 1 addition & 2 deletions API-Reference-Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ The IXO Spatial Web API is comprehensive and spans multiple domains, providing v
- [**IXO Protocol Blockchain RPC API**](RPC-API/RPC-API-Overview.md): Manages on-chain data and transactions via direct RPC communication.
- [**IXO Protocol Blockchain gRPC Gateway API**](gRPC-Gateway/gRPC-Gateway-Overview.md): Provides a gRPC REST interface for direct blockchain queries.
- [**IXO Blocksync GraphQL API**](Blocksync-GraphQL-API/Blocksync-GraphQL-API-Overview.md): Provides a GraphQL interface for efficient and flexible querying of indexed blockchain data.
- [**IXO Matrix REST API**](Matrix-REST-API/Matrix-REST-API-Overview.md): An interface to the private and secure data vaults stored in Matrix.
- [**IXO Matrix Bots and App Services REST API**](Matrix-Bots-App-Services-REST-API/Matrix-Bots-App-Services-REST-API-Overview.md): Provides services and facilitates interactions for client applications through Matrix bots.
- [**IXO Matrix State Bot API**](Matrix-REST-API/Matrix-REST-API-Overview.md): An interface to the private and secure data vaults stored in Matrix.
- [**AI Companion REST API**](AI-Companion-REST-API/AI-Companion-REST-API-Overview.md): Offers artificial intelligence features and services to enhance the user experience.

Each system contributes a specific part of the overall API, allowing users to leverage their functionalities to build and interact with impactful applications.
Expand Down
57 changes: 56 additions & 1 deletion Matrix-REST-API/Matrix-REST-API-Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,61 @@
stoplight-id: wx09lei4xl255
---

# IXO Matrix REST API Overview
# IXO Matrix State Bot API

The **IXO Matrix State Bot API** is an open-source solution designed for managing state objects within the Impacts Matrix Rooms of the IXO ecosystem. By leveraging the Matrix protocol, this bot enables secure, decentralised storage and management of state events and access control lists (ACLs) for applications, projects, and communities. The API provides both Matrix commands and a RESTful interface for managing state and ACL events efficiently, making it a versatile tool for developers looking to integrate stateful interactions into their decentralised applications (dApps).

## Purpose of the API

The core purpose of the **IXO Matrix State Bot API** is to enable developers to manage room-specific settings, configurations, and stateful data securely and seamlessly within the Impacts Matrix ecosystem. By abstracting the complexities of Matrix server interactions, the API empowers users to:

- Create, read, update, and manage state objects.
- Define and manage ACLs to control access and permissions.
- Automate state management tasks using a REST API or Matrix commands.

## Key Features

### 1. Custom State Event Management

The API allows developers to define, store, and manage custom state events in Impacts Matrix Rooms. Each state event can hold application-specific data, stored under unique keys (`state_key`) for organised and secure access.

- **State Events (`ixo.room.state`)**: Represent room settings or configurations, stored as JSON objects.
- **ACL Events (`ixo.room.state.acl`)**: Define access permissions for state events, ensuring secure data interactions.

### 2. Flexible Access Control

Developers can use ACLs to set granular access and edit permissions for room-specific state events. ACLs are directly tied to the corresponding state events, providing robust security for decentralised applications.

### 3. REST API Integration

The RESTful interface offers a direct way to interact with the bot for managing state and ACL events. It simplifies backend integrations by providing endpoints for:

- Fetching and updating state events.
- Managing ACLs.
- Inviting the bot to rooms and configuring its access levels.

### 4. Matrix Commands

The bot also supports Matrix room commands for managing state and ACL events within the Matrix ecosystem. These commands offer a quick and intuitive way to perform state-related tasks directly in chat rooms.

## Use Cases

The **IXO Matrix State Bot API** is suitable for a variety of applications, including:

- **Decentralised Application Settings**: Store and manage application-specific configurations securely within Matrix rooms.
- **Access Control for Projects**: Implement fine-grained ACLs for managing permissions within collaborative projects.
- **Real-Time State Management**: Automate the management of state objects in decentralised environments.

## Additional Resources

For more detailed documentation and examples, visit the GitHub repository:

- **GitHub Repository**: [IXO Matrix State Bot](https://github.com/ixofoundation/ixo-matrix-state)

<!-- theme: info -->
> This repository is private. [Reach out to us](https://linktr.ee/ixo_world) to be added as a contributor.
The **IXO Matrix State Bot API** provides a powerful and flexible platform for managing stateful interactions within the IXO ecosystem, enabling developers to build secure, decentralised solutions that scale with their needs.



2 changes: 1 addition & 1 deletion RPC-API/RPC-API-Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ The Protocol Documentation is particularly useful for:

- **Entity Management**: Managing decentralised identifiers and linked resources with messages such as `MsgCreateEntity` and `MsgAddLinkedClaim` to support decentralised identity solutions.
- **Submitting and Evaluating Claims**: Using `MsgSubmitClaim` and related messages to create verifiable claims and participate in impact projects, ensuring transparency and accountability.
- **Creating and Managing Bonds**: Using `MsgCreateBond` to set up token bonding curves and `MsgBuy` to facilitate purchases, supporting projects that require dynamic token economics.
- **Creating and Managing Tokens**: Using `CreateToken` to set up token batches and `RetireToken` to achieve the objective of outcomes becoming the means to offset negative impacts.

## Additional Resources

Expand Down
4 changes: 2 additions & 2 deletions gRPC-Gateway/gRPC-Gateway-Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ The **gRPC Gateway API Reference** includes numerous IXO-specific endpoints that

### Examples of IXO Endpoints

- `/ixo/bonds/{bond_did}`: Retrieve information about a specific bond.
- `/ixo/claims/claims`: Access claims data that has been submitted to the blockchain.
- `/ixo/entity/{id}`: Get details about a specific entity within the IXO network.
- `/ixo/claims/claims`: Access claims data that has been submitted to the blockchain.
- `/ixo/token/params`: Get details about the parameters used by the Token module.

These endpoints and many more allow applications to read blockchain state, interact with entities, manage claims, and participate in the IXO ecosystem, all through straightforward REST calls.

Expand Down
5 changes: 5 additions & 0 deletions toc.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@
"title": "Blocksync GraphQL API",
"uri": "Blocksync-GraphQL-API/Blocksync-GraphQL-API-Overview.md"
},
{
"type": "item",
"title": "Matrix State Bot API",
"uri": "Matrix-REST-API/Matrix-REST-API-Overview.md"
},
{
"type": "divider",
"title": "SDK"
Expand Down

0 comments on commit dd1a5db

Please sign in to comment.