Merge pull request #13 from logos-co/chore-api-endpoints

chore: Add API endpoints
This commit is contained in:
Roman Zajic 2025-03-31 19:39:32 +08:00 committed by GitHub
commit 6ce0c4ede5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 68 additions and 14 deletions

View File

@ -30,7 +30,7 @@ mempool_publish_strategy: !SampleSubnetworks
replication_settings:
seen_message_cache_size: 204800
seen_message_ttl_secs: 900
seen_message_ttl_secs: "900.0"
# Tracing
tracing_settings:

View File

@ -61,12 +61,12 @@ class InvalidRest(REST):
def __init__(self, rest_port):
super().__init__(rest_port)
def send_dispersal_request(self, data):
def da_disperse_data(self, data):
data = alter_dispersal_data(data)
response = self.rest_call("post", "disperse-data", json.dumps(data))
return response
def send_get_range(self, query):
def da_get_range(self, query):
query = alter_get_range_query(query)
response = self.rest_call("post", "da/get-range", json.dumps(query))
return response.json()

View File

@ -1,3 +1,5 @@
from urllib.parse import quote
from src.libs.custom_logger import get_custom_logger
import json
from src.api_clients.base_client import BaseClient
@ -19,14 +21,66 @@ class REST(BaseClient):
headers = {"accept": "text/plain", "Connection": "close"}
return self.make_request(method, url, headers=headers, data=payload)
def info(self):
def cl_metrics(self):
response = self.rest_call("get", "cl/metrics")
return response.json()
def cl_status(self, query):
response = self.rest_call("post", "cl/status", json.dumps(query))
return response.json()
def cryptarchia_info(self):
response = self.rest_call("get", "cryptarchia/info")
return response.json()
def send_dispersal_request(self, data):
def cryptarchia_headers(self, from_header_id, to_header_id):
response = self.rest_call("get", f"cryptarchia/headers?from={quote(from_header_id, safe='')}" f"&to={quote(to_header_id, safe='')}")
return response.json()
def da_add_share(self, data):
response = self.rest_call("post", "da/add-share", json.dumps(data))
return response
def da_disperse_data(self, data):
response = self.rest_call("post", "disperse-data", json.dumps(data))
return response
def send_get_range(self, query):
def da_get_range(self, query):
response = self.rest_call("post", "da/get-range", json.dumps(query))
return response.json()
def da_get_commitments(self, query):
response = self.rest_call("get", "da/get-commitments", json.dumps(query))
return response.json()
def da_get_share(self, query):
response = self.rest_call("get", "da/get-share", json.dumps(query))
return response.json()
def da_block_peer(self, data):
response = self.rest_call("post", "da/block-peer", json.dumps(data))
return response
def da_unblock_peer(self, data):
response = self.rest_call("post", "da/unblock-peer", json.dumps(data))
return response
def da_blacklisted_peers(self):
response = self.rest_call("get", "da/blacklisted-peers")
return response.json()
def network_info(self):
response = self.rest_call("get", "network/info")
return response.json()
def storage_block(self, query):
response = self.rest_call("get", "storage/block", json.dumps(query))
return response.json()
def mempool_add_tx(self, data):
response = self.rest_call("post", "mempool/add/tx", json.dumps(data))
return response
def mempool_add_blobinfo(self, data):
response = self.rest_call("post", "mempool/add/blobinfo", json.dumps(data))
return response

View File

@ -3,7 +3,7 @@ from src.env_vars import NOMOS_IMAGE, HTTP_PROXY_IMAGE
nomos_cli = {
"reconstruct": {
"image": NOMOS_IMAGE,
"flags": [{"--app-blobs": [0]}], # Value [] is a list of indexes into list of values required for the flag
"flags": [{"--app-shares": [0]}], # Value [] is a list of indexes into list of values required for the flag
"volumes": [],
"ports": [],
"entrypoint": "",

View File

@ -91,12 +91,12 @@ class ProxyClient:
def send_dispersal_request(self, data, send_invalid=False):
if send_invalid:
return self._invalid_api.send_dispersal_request(data)
return self._invalid_api.da_disperse_data(data)
return self._api.send_dispersal_request(data)
return self._api.da_disperse_data(data)
def send_get_data_range_request(self, data, send_invalid=False):
if send_invalid:
return self._invalid_api.send_get_range(data)
return self._invalid_api.da_get_range(data)
return self._api.send_get_range(data)
return self._api.da_get_range(data)

View File

@ -118,7 +118,7 @@ class NomosNode:
return "nomos" in self._container_name
def info(self):
return self._api.info()
return self._api.cryptarchia_info()
def node_type(self):
return self._node_type
@ -153,7 +153,7 @@ class NomosNode:
logger.debug("No keyword matches found in the logs.")
def send_dispersal_request(self, data):
return self._api.send_dispersal_request(data)
return self._api.da_disperse_data(data)
def send_get_data_range_request(self, data):
return self._api.send_get_range(data)
return self._api.da_get_range(data)