# Consensus API

The consensus API is not exposed to external clients and is only used for debugging purposes to verify the state of consensus in Miyabi

# Get Consensus State

Returns the current state of consensus in Miyabi

# Request

  • Method: GET
  • URL: /consensus/state
  • Query parameters in URL: None

# Response

  • Success

    • Code: 200

    • Return value:

      • {
          "value": {
            "utcNow": "Current UTC time",
            "proposalInterval": "The interval at which the Miyabi system attempts to propose a new block",
            "roundTimeout": "The timeout for each round before the next round is started",
            "pacemaker": {
              "isRunning": "State of the pacemaker to check if it running or not",
              "interval": "Interval at which pacemaker starts a new proposal(Similar to 'proposalInterval')",
              "nextCount": "Counter to keep track of number of proposals",
              "nextProposal": "Time at which next proposal will occur"
            },
            "heightInstances": {
                "capacity": "Total capacity",
                "minIndex": "Current minimum index(Equal to 'nextCount')",
                "instances": [{
                  "height":"Height at Round",
                  "selfId":"Current node's Credential",
                  "proposals":[<List of Keys of Active Proposals>],
                  "proposalLock":"<The lock 'Accept' message>",
                  "roundInstance":{
                    "capacity":"Total number of Round Instances that can exist",
                    "minIndex":"Current dynamic minimum index",
                    "instances":{
                      "state":"Current state of the round",
                      "proposal":"The proposal message associated with the round",
                      "commit":"The commit message associated with the round",
                      "nextRound":"The nextRound message associated with the round",
                    }
                  }
                }]
              },
          "atHeight": "Current block height of the request"
        }
        

# Get Consensus Member Information

Get the consensus member information

# Request

  • Method: GET
  • URL: /consensus/memberinfo
  • Query parameters in URL: None

# Response

  • Success

    • Code: 200

    • Return value:

      • {
          "value": {
            "members": [<List of Credentials for all participating memebers of consensus>],
            "quorumCredentials": [<List of Credentials for the 'Quorum' participating memebers of consensus>]
          },
          "atHeight": "Current block height of the request"
        }
        
  • Object Not Found

    • Code: 404
    • Reason:
      • Node is not core, IConsensusManager instance does not exist.