JSON-RPC Endpoints#
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 |
---|---|---|
|
String |
Name of the endpoint |
|
Integer |
Request id (returned in the response to differentiate results from the same endpoint) |
|
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 -k --request POST \
--url https://seed-1.testnet.networks.dash.org:1443/ \
--header 'content-type: application/json' \
--data '{
"method":"getBestBlockHash",
"id":1,
"jsonrpc":"2.0",
"params":{}
}'
var request = require("request");
var options = {
method: 'POST',
url: 'https://seed-1.testnet.networks.dash.org:1443',
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", "https://seed-1.testnet.networks.dash.org:1443");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);
import requests
import json
url = "https://seed-1.testnet.networks.dash.org:1443/"
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("https://seed-1.testnet.networks.dash.org:1443/")
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": "0000009fd106a7aa7142925fcd311442790145a3351fa2508d9da2b3462086fd"
}
getBlockHash#
Returns: the block hash for the given height
Parameters:
Name |
Type |
Required |
Description |
---|---|---|---|
|
Integer |
Yes |
Block height |
Example Request and Response#
curl -k --request POST \
--url https://seed-1.testnet.networks.dash.org:1443/ \
--header 'content-type: application/json' \
--data '{
"method":"getBlockHash",
"id":1,
"jsonrpc":"2.0",
"params": {
"height": 1
}
}'
import requests
import json
url = "https://seed-1.testnet.networks.dash.org:1443/"
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("https://seed-1.testnet.networks.dash.org:1443/")
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": "0000047d24635e347be3aaaeb66c26be94901a2f962feccd4f95090191f208c1"
}
getMnListDiff#
Returns: a masternode list diff for the provided block hashes
Parameters:
Name |
Type |
Required |
Description |
---|---|---|---|
|
String |
Yes |
Block hash for the starting block |
|
String |
Yes |
Block hash for the ending block |
Example Request and Response#
curl -k --request POST \
--url https://seed-1.testnet.networks.dash.org:1443/ \
--header 'content-type: application/json' \
--data '{
"method":"getMnListDiff",
"id":1,
"jsonrpc":"2.0",
"params": {
"baseBlockHash": "00000016b4d13db8395b31d87c76ca88824b26e03e54480d8c9ddf6f11857a7c",
"blockHash": "0000002266d8e7836eb116fe467597d13d9862c6612e31bbd6161c35b6485493"
}
}'
import requests
import json
url = "https://seed-1.testnet.networks.dash.org:1443/"
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("https://seed-1.testnet.networks.dash.org:1443/")
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": "85f2269374676476f00068b7cb168d124b7b780a92e8564e18edf45d77497abd9debf186ee98001a0c9a6dfccbab7a0a",
"votingAddress": "yid7uAsVJzvSLrEekHuGNuY3KWCqJopyJ8",
"isValid": true,
"nVersion": 2,
"nType": 0
},
{
"proRegTxHash": "c48a44a9493eae641bea36992bc8c27eaaa33adb1884960f55cd259608d26d2f",
"confirmedHash": "000000237725f8fe7d78153ae9c11193ee0cda18f8b48141acff8e1ac713da5b",
"service": "173.61.30.231:19013",
"pubKeyOperator": "8700add55a28ef22ec042a2f28e25fb4ef04b3024a7c56ad7eed4aebc736f312d18f355370dfb6a5fec9258f464b227e",
"votingAddress": "yTMDce5yEpiPqmgPrPmTj7yAmQPJERUSVy",
"isValid": true,
"nVersion": 2,
"nType": 0
},
{
"proRegTxHash": "9f4f9f83ecbcd5739d7f1479ee14b508f2414d044a717acba0960566c4e6091d",
"confirmedHash": "0000000000000000000000000000000000000000000000000000000000000000",
"service": "45.32.211.155:19999",
"pubKeyOperator": "88e37b3fcba972fe0c2c0ea15f8285c8bfb262ad4d8a6741a530154f1abc4edd367a22abd0cb1934647f033913cca58a",
"votingAddress": "ybAZoZ6iybhEwoCfb6utGfU753R1wcQSZT",
"isValid": true,
"nVersion": 2,
"nType": 0
}
],
"nVersion": 2,
"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