RPC Reference

This is an RPC reference of Matchmaker, meant to aid when building non-rust RPC clients.

JSON RPC

As a JSON RPC, the specification for communicating with the endpoints is the following:

Request

{
  "method": "health",
  "params": [],
  "id": 1, 
  "jsonrpc": "2.0"
}

Response

{
  "result": 1
  "id": 1,
  "jsonrpc": "2.0",
}
NameTypeDescription

method

String

RPC method name

params

Array

Array of input params to the RPC method

id

Number

Order ID if calling asynchronous methods

jsonrpc

String

Version of JSON RPC specification, always "2.0"

result

depends on method

Result data of the RPC method call

Types

All RPC endpoints, with the exception of health and nodes endpoints, are required to receive their parameters presigned using a (whitelisted) ECDSA private key, all contained within the SignedData type.

SignedData

A container for signed parameters.

pub struct SignedData<D: Serialize + Hashable + Clone, S: Signer> {
    /// Hex encoded Blake3 hash of public_key + signature
    pub hash: S::Hash,
    /// Data payload
    pub payload: D,
    /// ECDSA public key
    pub public_key: S::VerifyingKey,
    /// Blake3 hash of Payload hash+signed with ECDSA private key
    pub signature: S::Signature,
}

ProofRequest

The Proof request container type.

For more information, refer to Configuration.

ProofStatus

The Proof status container type.

For more information, refer to .

Reference

All methods require headers:

NameValue

Content-Type

application/json

Submit Proof Request

POST

method submitProofRequest

Submits a proof request to the network.

Params

PositionTypeDescription

0

SignedData<ProofRequest, EcdsaSigner>

Signed proof request.

Response

TypeDescription

()

Check Request Status

POST

method checkRequestStatus

Checks a proof request status in the network.

Params

PositionTypeDescription

0

SignedData<Blake3Hash, EcdsaSigner>

Signed proof request id.

Response

TypeDescription

ProofStatus

The current status of the proof request in the network

Last updated

Logo

© 2024 Fermah