JSON-RPC Endpoints
Detailed endpoint reference
Overview
The endpoints described on this page provide access to information from the Core chain (layer 1).
Required Parameters
All valid JSON-RPC requests require the inclusion the parameters listed in the following table.
Name | Type | Description |
---|---|---|
method | String | Name of the endpoint |
id | Integer | Request id (returned in the response to differentiate results from the same endpoint) |
jsonrpc | String | JSON-RPC version ("2.0") |
Additional information may be found in the JSON-RPC 2.0 specification.
Endpoint Details
getBestBlockHash
Returns: the block hash of the chaintip
Parameters: none
Example Request and Response
curl --request POST \
--url http://seed-1.testnet.networks.dash.org:3000/ \
--header 'content-type: application/json' \
--data '{
"method":"getBestBlockHash",
"id":1,
"jsonrpc":"2.0",
"params":{}
}'
var request = require("request");
var options = {
method: 'POST',
url: 'http://seed-1.testnet.networks.dash.org:3000',
headers: {'content-type': 'application/json'},
body: '{"method":"getBestBlockHash","id":1,"jsonrpc":"2.0"}'
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var XMLHttpRequest = require('xhr2');
var data = '{"method":"getBestBlockHash","id":1,"jsonrpc":"2.0"}';
var xhr = new XMLHttpRequest();
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "http://seed-1.testnet.networks.dash.org:3000");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);
import requests
import json
url = "http://seed-1.testnet.networks.dash.org:3000/"
headers = {'content-type': 'application/json'}
payload_json = {
"method": "getBestBlockHash",
"id": 1,
"jsonrpc": "2.0",
"params": {}
}
response = requests.request("POST", url, data=json.dumps(payload_json), headers=headers)
print(response.text)
require 'uri'
require 'net/http'
url = URI("http://seed-1.testnet.networks.dash.org:3000/")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = '{
"method":"getBestBlockHash",
"id":1,
"jsonrpc":"2.0",
"params":{ }
}'
response = http.request(request)
puts response.read_body
{
"jsonrpc": "2.0",
"id": 1,
"result": "000000bbdda70535d4fa854ca8c12d67f5788bcc6f7d85d39722bc2abed10f58"
}
getBlockHash
Returns: the block hash for the given height
Parameters:
Name | Type | Required | Description |
---|---|---|---|
height | Integer | Yes | Block height |
Example Request and Response
curl --request POST \
--url http://seed-1.testnet.networks.dash.org:3000/ \
--header 'content-type: application/json' \
--data '{
"method":"getBlockHash",
"id":1,
"jsonrpc":"2.0",
"params": {
"height": 1
}
}'
import requests
import json
url = "http://seed-1.testnet.networks.dash.org:3000/"
headers = {'content-type': 'application/json'}
payload_json = {
"method": "getBlockHash",
"id": 1,
"jsonrpc": "2.0",
"params": {
"height": 100
}
}
response = requests.request("POST", url, data=json.dumps(payload_json), headers=headers)
print(response.text)
require 'uri'
require 'net/http'
url = URI("http://seed-1.testnet.networks.dash.org:3000/")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = '{
"method":"getBlockHash",
"id":1,
"jsonrpc":"2.0",
"params":{
"height":100
}
}'
response = http.request(request)
puts response.read_body
{
"jsonrpc": "2.0",
"id": 1,
"result": "6c2f69e9696baf3c28af0d21d85af0e61c6a2adbe319c3714ec4b16adc3e1d2f"
}
getMnListDiff
Returns: a masternode list diff for the provided block hashes
Parameters:
Name | Type | Required | Description |
---|---|---|---|
baseBlockHash | String | Yes | Block hash for the starting block |
blockHash | String | Yes | Block hash for the ending block |
Example Request and Response
curl --request POST \
--url http://seed-1.testnet.networks.dash.org:3000/ \
--header 'content-type: application/json' \
--data '{
"method":"getMnListDiff",
"id":1,
"jsonrpc":"2.0",
"params": {
"baseBlockHash": "00000016b4d13db8395b31d87c76ca88824b26e03e54480d8c9ddf6f11857a7c",
"blockHash": "0000002266d8e7836eb116fe467597d13d9862c6612e31bbd6161c35b6485493"
}
}'
import requests
import json
url = "http://seed-1.testnet.networks.dash.org:3000/"
headers = {'content-type': 'application/json'}
payload_json = {
"method":"getMnListDiff",
"id":1,
"jsonrpc":"2.0",
"params": {
"baseBlockHash": "00000016b4d13db8395b31d87c76ca88824b26e03e54480d8c9ddf6f11857a7c",
"blockHash": "0000002266d8e7836eb116fe467597d13d9862c6612e31bbd6161c35b6485493"
}
}
response = requests.request("POST", url, data=json.dumps(payload_json), headers=headers)
print(response.text)
require 'uri'
require 'net/http'
url = URI("http://seed-1.testnet.networks.dash.org:3000/")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = '{
"method":"getMnListDiff",
"id":1,
"jsonrpc":"2.0",
"params": {
"baseBlockHash": "00000016b4d13db8395b31d87c76ca88824b26e03e54480d8c9ddf6f11857a7c",
"blockHash": "0000002266d8e7836eb116fe467597d13d9862c6612e31bbd6161c35b6485493"
}
}'
response = http.request(request)
puts response.read_body
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"baseBlockHash": "00000016b4d13db8395b31d87c76ca88824b26e03e54480d8c9ddf6f11857a7c",
"blockHash": "0000002266d8e7836eb116fe467597d13d9862c6612e31bbd6161c35b6485493",
"cbTxMerkleTree": "0300000003795f4c55c12757f3783a81a804585545d1844660f0b59e25a93d332bdf98a1032552fe1c2eada657f6714b14e1746a8f09b3a526e88243831133a7e25c9afcde8800af04201e85dc0cffb817c5fe7b4972ccf2647503d3d45f41304b664e8cba0107",
"cbTx": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff1202e21b0e2f5032506f6f6c2d74444153482fffffffff04cb525b96010000001976a9144f79c383bc5d3e9d4d81b98f87337cedfa78953688ac26c4609a010000001976a914243f5bceb1ae0a580f5a9415f9a015ad38477e7188ac6e710504000000001976a914badadfdebaa6d015a0299f23fbc1fcbdd72ba96f88ac00000000000000002a6a289c7178341d0097998baa6098724d78fd01b46455890203d99413e86a55ebb610000000000700000000000000260100e21b0000f02004439b25d27e07bb9afbd07db7dfc71aa91338391cef46e08488fe66bfe9",
"deletedMNs": [],
"mnList": [
{
"proRegTxHash": "682b3e58e283081c51f2e8e7a7de5c7312a2e8074affaf389fafcc39c4805404",
"confirmedHash": "00000018c824355520c6a850076c041b533d05cbe481f8187e541d7e2f856def",
"service": "64.193.62.206:19999",
"pubKeyOperator": "05f2269374676476f00068b7cb168d124b7b780a92e8564e18edf45d77497abd9debf186ee98001a0c9a6dfccbab7a0a",
"votingAddress": "yid7uAsVJzvSLrEekHuGNuY3KWCqJopyJ8",
"isValid": true
},
{
"proRegTxHash": "c48a44a9493eae641bea36992bc8c27eaaa33adb1884960f55cd259608d26d2f",
"confirmedHash": "000000237725f8fe7d78153ae9c11193ee0cda18f8b48141acff8e1ac713da5b",
"service": "173.61.30.231:19013",
"pubKeyOperator": "8700add55a28ef22ec042a2f28e25fb4ef04b3024a7c56ad7eed4aebc736f312d18f355370dfb6a5fec9258f464b227e",
"votingAddress": "yTMDce5yEpiPqmgPrPmTj7yAmQPJERUSVy",
"isValid": true
},
{
"proRegTxHash": "9f4f9f83ecbcd5739d7f1479ee14b508f2414d044a717acba0960566c4e6091d",
"confirmedHash": "0000000000000000000000000000000000000000000000000000000000000000",
"service": "45.32.211.155:19999",
"pubKeyOperator": "08e37b3fcba972fe0c2c0ea15f8285c8bfb262ad4d8a6741a530154f1abc4edd367a22abd0cb1934647f033913cca58a",
"votingAddress": "ybAZoZ6iybhEwoCfb6utGfU753R1wcQSZT",
"isValid": true
}
],
"deletedQuorums": [],
"newQuorums": [],
"merkleRootMNList": "e9bf66fe8884e046ef1c393813a91ac7dfb77dd0fb9abb077ed2259b430420f0"
}
}
Deprecated Endpoints
There are no recently deprecated endpoint, but the previous version of documentation can be viewed here.
Code Reference
Implementation details related to the information on this page can be found in:
- The DAPI repository
lib/rpcServer/commands
folder
Updated over 2 years ago
What’s Next