Skip to content

Commit

Permalink
intial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
viswa3760 committed Oct 7, 2024
1 parent c82a2fe commit cb2bbab
Show file tree
Hide file tree
Showing 14 changed files with 148 additions and 113 deletions.
52 changes: 6 additions & 46 deletions favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Crawler.webp
Binary file not shown.
Binary file added images/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/operator-dashboard.webp
Binary file not shown.
Binary file added images/operator-onboarding.webp
Binary file not shown.
Binary file added images/ragno.webp
Binary file not shown.
Binary file added logo/Ragno-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added logo/Ragno-light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 25 additions & 67 deletions mint.json
Original file line number Diff line number Diff line change
@@ -1,91 +1,49 @@
{

"$schema": "https://mintlify.com/schema.json",
"name": "Starter Kit",
"name": "Dojima Docs",
"logo": {
"dark": "/logo/dark.svg",
"light": "/logo/light.svg"
"dark": "/logo/Ragno-dark.png",
"light": "/logo/Ragno-light.png"
},
"favicon": "/favicon.svg",
"colors": {
"primary": "#0D9373",
"light": "#07C983",
"dark": "#0D9373",
"primary": "#8000FF",
"light": "#8000FF",
"dark": "#8000FF",
"anchors": {
"from": "#0D9373",
"to": "#07C983"
}
},
"topbarLinks": [
{
"name": "Support",
"url": "mailto:[email protected]"
}
],
"topbarCtaButton": {
"name": "Dashboard",
"url": "https://dashboard.mintlify.com"
},
"tabs": [
{
"name": "API Reference",
"url": "api-reference"
}
],
"anchors": [
{
"name": "Documentation",
"icon": "book-open-cover",
"url": "https://mintlify.com/docs"
},
{
"name": "Community",
"icon": "slack",
"url": "https://mintlify.com/community"
},
{
"name": "Blog",
"icon": "newspaper",
"url": "https://mintlify.com/blog"
"name": "Ragno",
"url": "ragno"
}
],

"navigation": [

{
"group": "Get Started",
"pages": [
"introduction",
"quickstart",
"development"
]
},
{
"group": "Essentials",
"pages": [
"essentials/markdown",
"essentials/code",
"essentials/images",
"essentials/settings",
"essentials/navigation",
"essentials/reusable-snippets"
]
},
{
"group": "API Documentation",
"pages": [
"api-reference/introduction"
]
},
{
"group": "Endpoint Examples",
"group": "Ragno Introduction",
"pages": [
"api-reference/endpoint/get",
"api-reference/endpoint/create",
"api-reference/endpoint/delete"
"ragno/overview",
{
"group": "Developers",
"pages": ["ragno/developer-docs/architecture",
"ragno/developer-docs/working"]
}
]
}
],
"footerSocials": {
"x": "https://x.com/mintlify",
"github": "https://github.com/mintlify",
"linkedin": "https://www.linkedin.com/company/mintsearch"
"x": "https://twitter.com/dojimanetwork",
"github": "https://github.com/dojimanetwork",
"linkedin": "https://www.linkedin.com/company/81682016/admin/dashboard/",
"youtube": "https://www.youtube.com/@DojimaNetwork",
"medium":"https://medium.com/dojimanetwork",
"telegram":"https://t.me/dojimanetworkofficial",
"discord":"https://discord.com/invite/6fQWukdgbM"
}
}
10 changes: 10 additions & 0 deletions node_modules/.yarn-integrity

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 30 additions & 0 deletions ragno/developer-docs/architecture.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: 'Architecture'
description: 'Example section for showcasing API endpoints.'
---

![image.png](/images/ragno.webp)

The main aim of ragno network(other than providing data to dojima cross-chain protocol) is to power data for several protocols in a fast, efficient and decentralised manner.

### Crawler

![image.png](/images/Crawler.webp)

- Crawler node is server that is coupled with a hermes node using a secure bridge in between these two nodes(hermes and crawler nodes).
- This node is responsible for accessing data from different chains and filters dojima x-chain transactions, These filtered transactions are sent to hermes for further processing.
- Crawler nodes access data from operators through their gateway servers.

### Operator dashboard

![image.png](/images/operator-dashboard.webp)

- The operator dashboard is one of the crucial component of the ragno network.
- It provides a user-friendly interface for operators to manage their nodes, monitor performance, and interact with the network. Through this dashboard, operators can register new nodes, view their current status, and track their rewards earned from participating in the network.

### Operator gateway server

- The operator gateway server acts as an intermediary between the crawler nodes and the operator's blockchain nodes.
- It provides a secure and efficient way for crawlers to access blockchain data from the operators' nodes.
- This server implements rate limiting, authentication, and caching to ensure fair and reliable access to the data.
- By using a gateway server, operators can maintain better control over their node resources while still participating in the Ragno network.
40 changes: 40 additions & 0 deletions ragno/developer-docs/working.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: 'How it Works'
description: 'Example section for showcasing API endpoints.'
---
### Working of the above setup

- Every actor(operator, crawler) in the cross-chain protocol has given a identity on hermes chain.
- Hermes onboards operators who run nodes of different chains.
- Operators run nodes of their choice and register them back on hermes chain.
- Hermes periodically(for every 200 blocks) maps crawlers and operators.
- Crawler node can only request blocks from mapped operator servers.
- Crawlers fetch data from operators and filters dojima x-chain transactions.
- Crawlers batch x-chain transactions and send them to hermes chain for further processing.
- Operators claim their rewards for work done(work done is calculated based on compute units).

### Operator onboarding

![image.png](/images/operator-onboarding.webp)

- Operator stakes $DOJ tokens using createOperator functionality.
- Once the operator gets added in operator set they host nodes of their choice.
- Every time they run a new node it is updated on hermes through operator dashboard.
- Operator related events are filtered by crawler nodes and stored locally(Any change in operator set is updated locally).

### Crawler node fetching block data from operators

The below component diagram depicts how crawler nodes fetch data from operators.

![image.png](/images/Crawler.webp)

- The crawler nodes periodically query the operators for new data using a pull-based mechanism.
- Hermes publishes pairing list for every 200 blocks.
- Pairing list states which crawler nodes need to query which operators for blockchain data.
- Based on that crawler nodes fetch blocks and transactions.

### Pairing algorithm

### Rewards

### Compute units calculation
33 changes: 33 additions & 0 deletions ragno/overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: 'Overview'
description: 'Example section for showcasing API endpoints.'
---


- Derivation layer is termed as [ragno network](https://main.d3d3wpz0uffins.amplifyapp.com/).
- Ragno network is a decentralised node market place for L1 chains.
- It powers data of different blockchains for dojima cross-chain protocol.
- Future goal is to scale ragno as a decentralised data provider for all L1 and L2 chains.

### Main Components

**Operators**

- Operators are main actors of ragno network.
- They host nodes of their choice as part of ragno network.
- Operators are onboarded on hermes chain by staking minimum number of $DOJ tokens
- Operators earn rewards in $DOJ tokens for providing data to dojima chain.

**Operator dashboard**

- Dashboard allows operators to host nodes of their choice.
- Staked operators can login to operator dashboard using their private key.
- The node gets up and running with few clicks.
- Operators can view logs and statistics of different nodes they launched through this dashboard.
- It also lets operators import the nodes hosted elsewhere to earn extra-rewards by providing data to dojima x-chain protocol.

**Operator gateway server**

- A gateway server gets spinned up for every operator once he stakes and become part of operator set.
- Gateway server lets crawler nodes(This nodes are reponsible for filtering dojima x-chain transactions) access data in secure and fast manner.
- Every request from crawler node goes through gateway server.
4 changes: 4 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1


0 comments on commit cb2bbab

Please sign in to comment.