Node API
Note: Thanks to your contributions, cycle I of our TestNet Phase 3 journey has officially wrapped up! Now we're one step closer to onboarding the world to Bitcoin. Stay tuned for the next steps!
Nubit Node API Example
Here is an example of how to make a Node API call using curl
. This example demonstrates how to retrieve the sync state of the header. Replace <YOUR_API_KEY>
with your actual API key and <YOUR_NODE_ENDPOINT>
with the endpoint of the node you started (for example, 127.0.0.1:26658
).
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer <YOUR_API_KEY>" -d '{"id": 1, "jsonrpc": "2.0", "method": "header.SyncState", "params": []}' <YOUR_NODE_ENDPOINT>
This command will send a POST
request to the specified endpoint with the necessary headers and JSON payload. The Authorization
header contains the Bearer token, which is your API key, and the payload specifies the RPC method header.SyncState
with an empty parameter list.
OpenRPC
1.2.6
The Nubit Node API is the collection of RPC methods that can be used to interact with the services provided by Nubit Data Availability Nodes.
API version:
v0.1.0-rc.1
Base URI path:
/
Method:
POST
Headers
Content-Type
application/json
BLOB
Get
Get retrieves the blob by KZG commitment under the given namespace and height.
Auth level: read
func Get(
height uint64,
namespace share.Namespace,
commitment blob.KzgCommitment,
) *blob.Blob
{
"jsonrpc": "2.0",
"method": "blob.Get",
"params": [
42,
"AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICRA=",
"Bw=="
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"commitment": "20qrISWy41i+3YG4pGbmtw3BbsK875MrcRX8bTgJOMk=",
"data": "VGhpcyBpcyBhbiBleGFtcGxlIG9mIHNvbWUgYmxvYiBkYXRh",
"index": -1,
"namespace": "AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICRA=",
"share_version": 0
},
"id": 0
}
GetAll
GetAll returns all blobs at the given height under the given namespaces.
Auth level: read
func GetAll(
height uint64,
namespaces []share.Namespace,
) []*blob.Blob
{
"jsonrpc": "2.0",
"method": "blob.GetAll",
"params": [
42,
[
"AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICRA="
]
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": [
{
"commitment": "20qrISWy41i+3YG4pGbmtw3BbsK875MrcRX8bTgJOMk=",
"data": "VGhpcyBpcyBhbiBleGFtcGxlIG9mIHNvbWUgYmxvYiBkYXRh",
"index": -1,
"namespace": "AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICRA=",
"share_version": 0
}
],
"id": 0
}
GetProof
GetProof retrieves proofs in the given namespaces at the given height by commitment.
Auth level: read
func GetProof(
height uint64,
namespace share.Namespace,
commitment blob.KzgCommitment,
) *blob.Proof
{
"jsonrpc": "2.0",
"method": "blob.GetProof",
"params": [
42,
"AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICRA=",
"Bw=="
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": [
{
"end": 15,
"inclusion_or_absence": true,
"open_end": {
"index": 15,
"proof": "gniKhnjrWbFG15O2a795/oEczV+xCXeho3zw6GV8W9OKA3eAqeU3FRVi5a+QcWU7",
"value": "AAAAAAAAAAAAAAAAAAAAAAAAADEyMzQ1Njc4OTAAAAAAAAAAAAAAAAAAAAAAAAAAMTIzNDU2Nzg5MAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=="
},
"open_post_index": {
"index": 16,
"proof": "g7rrqOPnk4zsgq4S95DWAenHg0zYnOD6VaKo+MGbXG+BOedF1SNLjbusbz3NbTN/",
"value": "//////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAfXpxe3B3fH90RnV0dN89CwsL7UkU5OaRFqBeuwnzFGc8VKvZgAx62brz2XriGHoP2OODkCZW83/LuvPZ2ENF9ZRUq9mADBiBupEmCFFU49hvJ+In4mur46smgSLJqwh/VCb2ySJvDCfY2A26v0OHCwsLCwsLCwsLCwsLCwsLCwsLCxhR9iKFzGuvCL9TQrFKQvcZL9q87TwsLSJaMq/Icw1R4uorDG9wWc26WiMUfS12hvXLrAtDRPWD9Vb1ad1+89gd89h6fn8mkQzzetgNfpFRhcxuGHqDq9l8DSZDUPW+QjWBuSD6M8Gyx49a75IETxt8ir7Ql3jWGck0/svbar0SQ5b15RusveVDQ/WG9ZarVKvZQ5aFvxhrrRDTzlMl1o3jiGu5oc2JoHouUzRjBz0UpYLMiFw7MPk6dDeT+vLKFUccS9uvgXqKbGf5azrTB7Kv0VzLLhEw4jcTEZpx90Os5VOWkka4kwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCw=="
},
"open_pre_index": {
"index": 1,
"proof": "qm4Yt72dEqxKQ58lkke6RWbhTU69vnCwkXuzzP4SvYYOE4QwxZ1gqzlJD6LVu4Ij",
"value": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEAAAFWAAAAJtQCCsgCCpsBCpgBCh0vbnViaXQuYmxvYi52MS5Nc2dQYXlGb3JCbG9icxJ3CixudWJpdDF4bHB5OTJuZ3N6aHZodjd1Z3V5eDRqdTlybnkzajR6dGhzc2VsMBIdAAAAAAAAAAAAAAAAAAAAAAAAADEyMzQ1Njc4OTAaA9CGAyIg7VsJh9zUxTSOPDh7umUydvOgdHqDtydsjiX5WsXmDApCAQASZgpQCkYKHy9jb3Ntb3MuY3J5cHRvLnNlY3AyNTZrMS5QdWJLZXkSIwohA0h4VRz7Le/pipiOr0nx2ghLxCH2FQaTIGpZtkJKJhicEgQKAggBGAISEgoMCgR1bnViEgQ1MDE3ELTPHhpAk7Bn7DdV2Cf9yS78GlmyyM35lUE27OuoFMK5zmBY+35T6F98l0o4eC7EQ//CN7nPyOk45+tC/KUUdmCNpcySIhIBAhoESU5EWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="
},
"open_start": {
"index": 2,
"proof": "kb7NqWxKwPmMRprmNfUbtWqoAqzDsvFaqLniBQAPr0bB6Z1JSXrdx9ztQoDQKQOh",
"value": "AAAAAAAAAAAAAAAAAAAAAAAAADEyMzQ1Njc4OTAAAAAAAAAAAAAAAAAAAAAAAAAAMTIzNDU2Nzg5MAEAAMNQAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=="
},
"post_index": 16,
"pre_index": 1,
"start": 2
}
],
"id": 0
}
Included
Included checks whether a blob's given commitment(Merkle subtree root) is included at given height and under the namespace.
Auth level: read
func Included(
height uint64,
namespace share.Namespace,
proof *blob.Proof,
commitment blob.KzgCommitment,
) bool
{
"jsonrpc": "2.0",
"method": "blob.Included",
"params": [
42,
"AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICRA=",
[
{
"end": 15,
"inclusion_or_absence": true,
"open_end": {
"index": 15,
"proof": "gniKhnjrWbFG15O2a795/oEczV+xCXeho3zw6GV8W9OKA3eAqeU3FRVi5a+QcWU7",
"value": "AAAAAAAAAAAAAAAAAAAAAAAAADEyMzQ1Njc4OTAAAAAAAAAAAAAAAAAAAAAAAAAAMTIzNDU2Nzg5MAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=="
},
"open_post_index": {
"index": 16,
"proof": "g7rrqOPnk4zsgq4S95DWAenHg0zYnOD6VaKo+MGbXG+BOedF1SNLjbusbz3NbTN/",
"value": "//////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAfXpxe3B3fH90RnV0dN89CwsL7UkU5OaRFqBeuwnzFGc8VKvZgAx62brz2XriGHoP2OODkCZW83/LuvPZ2ENF9ZRUq9mADBiBupEmCFFU49hvJ+In4mur46smgSLJqwh/VCb2ySJvDCfY2A26v0OHCwsLCwsLCwsLCwsLCwsLCwsLCxhR9iKFzGuvCL9TQrFKQvcZL9q87TwsLSJaMq/Icw1R4uorDG9wWc26WiMUfS12hvXLrAtDRPWD9Vb1ad1+89gd89h6fn8mkQzzetgNfpFRhcxuGHqDq9l8DSZDUPW+QjWBuSD6M8Gyx49a75IETxt8ir7Ql3jWGck0/svbar0SQ5b15RusveVDQ/WG9ZarVKvZQ5aFvxhrrRDTzlMl1o3jiGu5oc2JoHouUzRjBz0UpYLMiFw7MPk6dDeT+vLKFUccS9uvgXqKbGf5azrTB7Kv0VzLLhEw4jcTEZpx90Os5VOWkka4kwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCw=="
},
"open_pre_index": {
"index": 1,
"proof": "qm4Yt72dEqxKQ58lkke6RWbhTU69vnCwkXuzzP4SvYYOE4QwxZ1gqzlJD6LVu4Ij",
"value": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEAAAFWAAAAJtQCCsgCCpsBCpgBCh0vbnViaXQuYmxvYi52MS5Nc2dQYXlGb3JCbG9icxJ3CixudWJpdDF4bHB5OTJuZ3N6aHZodjd1Z3V5eDRqdTlybnkzajR6dGhzc2VsMBIdAAAAAAAAAAAAAAAAAAAAAAAAADEyMzQ1Njc4OTAaA9CGAyIg7VsJh9zUxTSOPDh7umUydvOgdHqDtydsjiX5WsXmDApCAQASZgpQCkYKHy9jb3Ntb3MuY3J5cHRvLnNlY3AyNTZrMS5QdWJLZXkSIwohA0h4VRz7Le/pipiOr0nx2ghLxCH2FQaTIGpZtkJKJhicEgQKAggBGAISEgoMCgR1bnViEgQ1MDE3ELTPHhpAk7Bn7DdV2Cf9yS78GlmyyM35lUE27OuoFMK5zmBY+35T6F98l0o4eC7EQ//CN7nPyOk45+tC/KUUdmCNpcySIhIBAhoESU5EWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="
},
"open_start": {
"index": 2,
"proof": "kb7NqWxKwPmMRprmNfUbtWqoAqzDsvFaqLniBQAPr0bB6Z1JSXrdx9ztQoDQKQOh",
"value": "AAAAAAAAAAAAAAAAAAAAAAAAADEyMzQ1Njc4OTAAAAAAAAAAAAAAAAAAAAAAAAAAMTIzNDU2Nzg5MAEAAMNQAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=="
},
"post_index": 16,
"pre_index": 1,
"start": 2
}
],
"Bw=="
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": true,
"id": 0
}
Submit
Submit sends Blobs and reports the height in which they were included. Allows sending multiple Blobs atomically synchronously. Uses default wallet registered on the Node.
Auth level: write
func Submit(
blobs []*blob.Blob,
gasPrice blob.GasPrice,
) uint64
{
"jsonrpc": "2.0",
"method": "blob.Submit",
"params": [
[
{
"commitment": "20qrISWy41i+3YG4pGbmtw3BbsK875MrcRX8bTgJOMk=",
"data": "VGhpcyBpcyBhbiBleGFtcGxlIG9mIHNvbWUgYmxvYiBkYXRh",
"index": -1,
"namespace": "AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICRA=",
"share_version": 0
}
],
0.002
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": 42,
"id": 0
}
DAS
SamplingStats
SamplingStats returns the current statistics over the DA sampling process.
Auth level: read
func SamplingStats() das.SamplingStats
{
"jsonrpc": "2.0",
"method": "das.SamplingStats",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"catch_up_done": false,
"concurrency": 6,
"head_of_catchup": 34101,
"head_of_sampled_chain": 1092,
"is_running": true,
"network_head_height": 470292,
"workers": [
{
"current": 1093,
"from": 1002,
"job_type": "catchup",
"to": 1101
},
{
"current": 33343,
"from": 33302,
"job_type": "catchup",
"to": 33401
},
{
"current": 34047,
"from": 34002,
"job_type": "catchup",
"to": 34101
},
{
"current": 1327,
"from": 1302,
"job_type": "catchup",
"to": 1401
},
{
"current": 1197,
"from": 1102,
"job_type": "catchup",
"to": 1201
},
{
"current": 1408,
"from": 1402,
"job_type": "catchup",
"to": 1501
}
]
},
"id": 0
}
WaitCatchUp
WaitCatchUp blocks until DASer finishes catching up to the network head.
Auth level: read
func WaitCatchUp()
{
"jsonrpc": "2.0",
"method": "das.WaitCatchUp",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": null,
"id": 0
}
HEADER
GetBtcHeight
GetBtcHeight returns the anchored Bitcoin height by the height of the Nubit DA Chain. Allow modular Apps to link Bitcoin Chain and Nubit DA Chain via consensus.
Auth level: read
func GetBtcHeight(nubitHeight uint64) uint64
{
"jsonrpc": "2.0",
"method": "header.GetBtcHeight",
"params": [
42
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": 42,
"id": 0
}
GetByHash
GetByHash returns the header of the given hash from the node's header store.
Auth level: read
func GetByHash(hash libhead.Hash) *header.ExtendedHeader
{
"jsonrpc": "2.0",
"method": "header.GetByHash",
"params": [
"07"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
},
"id": 0
}
GetByHeight
GetByHeight returns the ExtendedHeader at the given height if it is currently available.
Auth level: read
func GetByHeight(u uint64) *header.ExtendedHeader
{
"jsonrpc": "2.0",
"method": "header.GetByHeight",
"params": [
42
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
},
"id": 0
}
GetHeightRangeAtBtcHeight
GetHeightRangeAtBtcHeight returns the anchored Nubit height range by the height of the Bitcoin Chain. Allow modular Apps to link Bitcoin Chain and Nubit DA Chain via consensus.
Auth level: read
func GetHeightRangeAtBtcHeight(btcHeight uint64) []*header.ExtendedHeader
{
"jsonrpc": "2.0",
"method": "header.GetHeightRangeAtBtcHeight",
"params": [
42
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": [
{
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
}
],
"id": 0
}
GetRangeByHeight
GetRangeByHeight returns the given range (from:to) of ExtendedHeaders from the node's header store and verifies that the returned headers are adjacent to each other.
Auth level: read
func GetRangeByHeight(
from *header.ExtendedHeader,
to uint64,
) []*header.ExtendedHeader
{
"jsonrpc": "2.0",
"method": "header.GetRangeByHeight",
"params": [
{
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
},
42
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": [
{
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
}
],
"id": 0
}
LocalHead
LocalHead returns the ExtendedHeader of the chain head.
Auth level: read
func LocalHead() *header.ExtendedHeader
{
"jsonrpc": "2.0",
"method": "header.LocalHead",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
},
"id": 0
}
NetworkHead
NetworkHead provides the Syncer's view of the current network head.
Auth level: read
func NetworkHead() *header.ExtendedHeader
{
"jsonrpc": "2.0",
"method": "header.NetworkHead",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
},
"id": 0
}
Subscribe
Subscribe to recent ExtendedHeaders from the network.
Auth level: read
func Subscribe() <-chan *header.ExtendedHeader
{
"jsonrpc": "2.0",
"method": "header.Subscribe",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": null,
"id": 0
}
SyncState
SyncState returns the current state of the header Syncer.
Auth level: read
func SyncState() sync.State
{
"jsonrpc": "2.0",
"method": "header.SyncState",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"end": "0001-01-01T00:00:00Z",
"error": "string value",
"from_hash": "07",
"from_height": 42,
"height": 42,
"id": 42,
"start": "0001-01-01T00:00:00Z",
"to_hash": "07",
"to_height": 42
},
"id": 0
}
SyncWait
SyncWait blocks until the header Syncer is synced to network head.
Auth level: read
func SyncWait()
{
"jsonrpc": "2.0",
"method": "header.SyncWait",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": null,
"id": 0
}
WaitForHeight
WaitForHeight blocks until the header at the given height has been processed by the store or context deadline is exceeded.
Auth level: read
func WaitForHeight(u uint64) *header.ExtendedHeader
{
"jsonrpc": "2.0",
"method": "header.WaitForHeight",
"params": [
42
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
},
"id": 0
}
NODE
AuthNew
AuthNew signs and returns a new token with the given permissions.
Auth level: admin
func AuthNew(perms []auth.Permission) string
{
"jsonrpc": "2.0",
"method": "node.AuthNew",
"params": [
[
"admin"
]
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": "string value",
"id": 0
}
AuthVerify
AuthVerify returns the permissions assigned to the given token.
Auth level: admin
func AuthVerify(token string) []auth.Permission
{
"jsonrpc": "2.0",
"method": "node.AuthVerify",
"params": [
"string value"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": [
"admin"
],
"id": 0
}
Info
Info returns administrative information about the node.
Auth level: admin
func Info() Info
{
"jsonrpc": "2.0",
"method": "node.Info",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"api_version": "string value",
"type": 3
},
"id": 0
}
LogLevelSet
LogLevelSet sets the given component log level to the given level.
Auth level: admin
func LogLevelSet(
name string,
level string,
)
{
"jsonrpc": "2.0",
"method": "node.LogLevelSet",
"params": [
"string value",
"string value"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": null,
"id": 0
}
Ready
Ready returns true once the node's RPC is ready to accept requests.
Auth level: read
func Ready() bool
{
"jsonrpc": "2.0",
"method": "node.Ready",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": true,
"id": 0
}
P2P
BandwidthForPeer
BandwidthForPeer returns a Stats struct with bandwidth metrics associated with the given peer.ID. The metrics returned include all traffic sent / received for the peer, regardless of protocol.
Auth level: admin
func BandwidthForPeer(id peer.ID) metrics.Stats
{
"jsonrpc": "2.0",
"method": "p2p.BandwidthForPeer",
"params": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"RateIn": 42,
"RateOut": 42,
"TotalIn": 42,
"TotalOut": 42
},
"id": 0
}
BandwidthForProtocol
BandwidthForProtocol returns a Stats struct with bandwidth metrics associated with the given protocol.ID.
Auth level: admin
func BandwidthForProtocol(proto protocol.ID) metrics.Stats
{
"jsonrpc": "2.0",
"method": "p2p.BandwidthForProtocol",
"params": [
"/nubit/testnet/ipfs/bitswap"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"RateIn": 42,
"RateOut": 42,
"TotalIn": 42,
"TotalOut": 42
},
"id": 0
}
BandwidthStats
BandwidthStats returns a Stats struct with bandwidth metrics for all data sent/received by the local peer, regardless of protocol or remote peer IDs.
Auth level: admin
func BandwidthStats() metrics.Stats
{
"jsonrpc": "2.0",
"method": "p2p.BandwidthStats",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"RateIn": 42,
"RateOut": 42,
"TotalIn": 42,
"TotalOut": 42
},
"id": 0
}
BlockPeer
BlockPeer adds a peer to the set of blocked peers.
Auth level: admin
func BlockPeer(p peer.ID)
{
"jsonrpc": "2.0",
"method": "p2p.BlockPeer",
"params": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": null,
"id": 0
}
ClosePeer
ClosePeer closes the connection to a given peer.
Auth level: admin
func ClosePeer(id peer.ID)
{
"jsonrpc": "2.0",
"method": "p2p.ClosePeer",
"params": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": null,
"id": 0
}
Connect
Connect ensures there is a connection between this host and the peer with given peer.
Auth level: admin
func Connect(pi peer.AddrInfo)
{
"jsonrpc": "2.0",
"method": "p2p.Connect",
"params": [
{
"Addrs": [
"/ip6/::1/udp/2121/quic-v1"
],
"ID": "CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
}
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": null,
"id": 0
}
Connectedness
Connectedness returns a state signaling connection capabilities.
Auth level: admin
func Connectedness(id peer.ID) network.Connectedness
{
"jsonrpc": "2.0",
"method": "p2p.Connectedness",
"params": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": 1,
"id": 0
}
Info
Info returns address information about the host.
Auth level: admin
func Info() peer.AddrInfo
{
"jsonrpc": "2.0",
"method": "p2p.Info",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"Addrs": [
"/ip6/::1/udp/2121/quic-v1"
],
"ID": "CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
},
"id": 0
}
IsProtected
IsProtected returns whether the given peer is protected.
Auth level: admin
func IsProtected(
id peer.ID,
tag string,
) bool
{
"jsonrpc": "2.0",
"method": "p2p.IsProtected",
"params": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo",
"string value"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": true,
"id": 0
}
ListBlockedPeers
ListBlockedPeers returns a list of blocked peers.
Auth level: admin
func ListBlockedPeers() []peer.ID
{
"jsonrpc": "2.0",
"method": "p2p.ListBlockedPeers",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
],
"id": 0
}
NATStatus
NATStatus returns the current NAT status.
Auth level: admin
func NATStatus() network.Reachability
{
"jsonrpc": "2.0",
"method": "p2p.NATStatus",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": 2,
"id": 0
}
PeerInfo
PeerInfo returns a small slice of information Peerstore has on the given peer.
Auth level: admin
func PeerInfo(id peer.ID) peer.AddrInfo
{
"jsonrpc": "2.0",
"method": "p2p.PeerInfo",
"params": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"Addrs": [
"/ip6/::1/udp/2121/quic-v1"
],
"ID": "CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
},
"id": 0
}
Peers
Peers returns connected peers.
Auth level: admin
func Peers() []peer.ID
{
"jsonrpc": "2.0",
"method": "p2p.Peers",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
],
"id": 0
}
Protect
Protect adds a peer to the list of peers who have a bidirectional peering agreement that they are protected from being trimmed, dropped or negatively scored.
Auth level: admin
func Protect(
id peer.ID,
tag string,
)
{
"jsonrpc": "2.0",
"method": "p2p.Protect",
"params": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo",
"string value"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": null,
"id": 0
}
PubSubPeers
PubSubPeers returns the peer IDs of the peers joined on the given topic.
Auth level: admin
func PubSubPeers(topic string) []peer.ID
{
"jsonrpc": "2.0",
"method": "p2p.PubSubPeers",
"params": [
"string value"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
],
"id": 0
}
ResourceState
ResourceState returns the state of the resource manager.
Auth level: admin
func ResourceState() rcmgr.ResourceManagerStat
{
"jsonrpc": "2.0",
"method": "p2p.ResourceState",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"Peers": {
"\u0000$\b\u0001\u0012 �-��\u0026��Y�k�\u000e\u0011�S�RM\u0013�\u0015��$����*�\u0002W": {
"Memory": 1048576,
"NumConnsInbound": 0,
"NumConnsOutbound": 3,
"NumFD": 3,
"NumStreamsInbound": 1,
"NumStreamsOutbound": 3
}
},
"Protocols": {
"/floodsub/1.0.0": {
"Memory": 0,
"NumConnsInbound": 0,
"NumConnsOutbound": 0,
"NumFD": 0,
"NumStreamsInbound": 2,
"NumStreamsOutbound": 0
},
"/ipfs/id/1.0.0": {
"Memory": 0,
"NumConnsInbound": 0,
"NumConnsOutbound": 0,
"NumFD": 0,
"NumStreamsInbound": 0,
"NumStreamsOutbound": 1
},
"/meshsub/1.1.0": {
"Memory": 0,
"NumConnsInbound": 0,
"NumConnsOutbound": 0,
"NumFD": 0,
"NumStreamsInbound": 2,
"NumStreamsOutbound": 4
},
"/nubit/arabica-3/ipfs/bitswap/1.2.0": {
"Memory": 0,
"NumConnsInbound": 0,
"NumConnsOutbound": 0,
"NumFD": 0,
"NumStreamsInbound": 0,
"NumStreamsOutbound": 4
},
"/nubit/arabica-3/kad/1.0.0": {
"Memory": 0,
"NumConnsInbound": 0,
"NumConnsOutbound": 0,
"NumFD": 0,
"NumStreamsInbound": 0,
"NumStreamsOutbound": 4
}
},
"Services": {
"libp2p.autonat": {
"Memory": 0,
"NumConnsInbound": 0,
"NumConnsOutbound": 0,
"NumFD": 0,
"NumStreamsInbound": 0,
"NumStreamsOutbound": 0
},
"libp2p.identify": {
"Memory": 0,
"NumConnsInbound": 0,
"NumConnsOutbound": 0,
"NumFD": 0,
"NumStreamsInbound": 0,
"NumStreamsOutbound": 0
}
},
"System": {
"Memory": 4456448,
"NumConnsInbound": 0,
"NumConnsOutbound": 13,
"NumFD": 7,
"NumStreamsInbound": 4,
"NumStreamsOutbound": 13
},
"Transient": {
"Memory": 0,
"NumConnsInbound": 0,
"NumConnsOutbound": 0,
"NumFD": 0,
"NumStreamsInbound": 0,
"NumStreamsOutbound": 0
}
},
"id": 0
}
UnblockPeer
UnblockPeer removes a peer from the set of blocked peers.
Auth level: admin
func UnblockPeer(p peer.ID)
{
"jsonrpc": "2.0",
"method": "p2p.UnblockPeer",
"params": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": null,
"id": 0
}
Unprotect
Unprotect removes a peer from the list of peers who have a bidirectional peering agreement that they are protected from being trimmed, dropped or negatively scored, returning a bool representing whether the given peer is protected or not.
Auth level: admin
func Unprotect(
id peer.ID,
tag string,
) bool
{
"jsonrpc": "2.0",
"method": "p2p.Unprotect",
"params": [
"CovLVG4fQcqUS6DmoMxAwVJGNW6PMzfwTG6BHW9NH9TLGHcbRfvPVc3JVhnufK3HTzStoTo",
"string value"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": true,
"id": 0
}
SHARE
GetEDS
GetEDS gets the full EDS identified by the given extended header.
Auth level: read
func GetEDS(header *header.ExtendedHeader) *rsmt2d.ExtendedDataSquare
{
"jsonrpc": "2.0",
"method": "share.GetEDS",
"params": [
{
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
}
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"codec": "Leopard",
"data_square": [
"//////////////////////////////////////4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"//////////////////////////////////////4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"//////////////////////////////////////4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"//////////////////////////////////////4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
]
},
"id": 0
}
GetShare
GetShare gets a Share by coordinates in EDS.
Auth level: read
func GetShare(
header *header.ExtendedHeader,
row int,
col int,
) share.Share
{
"jsonrpc": "2.0",
"method": "share.GetShare",
"params": [
{
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
},
42,
42
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": "Ynl0ZSBhcnJheQ==",
"id": 0
}
GetSharesByNamespace
GetSharesByNamespace gets all shares from an EDS within the given namespace. Shares are returned in a row-by-row order if the namespace spans multiple rows.
Auth level: read
func GetSharesByNamespace(
header *header.ExtendedHeader,
namespace share.Namespace,
) share.NamespacedShares
{
"jsonrpc": "2.0",
"method": "share.GetSharesByNamespace",
"params": [
{
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
},
"AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICRA="
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": [
{
"proof": {
"end": 15,
"inclusion_or_absence": true,
"open_end": {
"index": 15,
"proof": "gniKhnjrWbFG15O2a795/oEczV+xCXeho3zw6GV8W9OKA3eAqeU3FRVi5a+QcWU7",
"value": "AAAAAAAAAAAAAAAAAAAAAAAAADEyMzQ1Njc4OTAAAAAAAAAAAAAAAAAAAAAAAAAAMTIzNDU2Nzg5MAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=="
},
"open_post_index": {
"index": 16,
"proof": "g7rrqOPnk4zsgq4S95DWAenHg0zYnOD6VaKo+MGbXG+BOedF1SNLjbusbz3NbTN/",
"value": "//////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAfXpxe3B3fH90RnV0dN89CwsL7UkU5OaRFqBeuwnzFGc8VKvZgAx62brz2XriGHoP2OODkCZW83/LuvPZ2ENF9ZRUq9mADBiBupEmCFFU49hvJ+In4mur46smgSLJqwh/VCb2ySJvDCfY2A26v0OHCwsLCwsLCwsLCwsLCwsLCwsLCxhR9iKFzGuvCL9TQrFKQvcZL9q87TwsLSJaMq/Icw1R4uorDG9wWc26WiMUfS12hvXLrAtDRPWD9Vb1ad1+89gd89h6fn8mkQzzetgNfpFRhcxuGHqDq9l8DSZDUPW+QjWBuSD6M8Gyx49a75IETxt8ir7Ql3jWGck0/svbar0SQ5b15RusveVDQ/WG9ZarVKvZQ5aFvxhrrRDTzlMl1o3jiGu5oc2JoHouUzRjBz0UpYLMiFw7MPk6dDeT+vLKFUccS9uvgXqKbGf5azrTB7Kv0VzLLhEw4jcTEZpx90Os5VOWkka4kwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCw=="
},
"open_pre_index": {
"index": 1,
"proof": "qm4Yt72dEqxKQ58lkke6RWbhTU69vnCwkXuzzP4SvYYOE4QwxZ1gqzlJD6LVu4Ij",
"value": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEAAAFWAAAAJtQCCsgCCpsBCpgBCh0vbnViaXQuYmxvYi52MS5Nc2dQYXlGb3JCbG9icxJ3CixudWJpdDF4bHB5OTJuZ3N6aHZodjd1Z3V5eDRqdTlybnkzajR6dGhzc2VsMBIdAAAAAAAAAAAAAAAAAAAAAAAAADEyMzQ1Njc4OTAaA9CGAyIg7VsJh9zUxTSOPDh7umUydvOgdHqDtydsjiX5WsXmDApCAQASZgpQCkYKHy9jb3Ntb3MuY3J5cHRvLnNlY3AyNTZrMS5QdWJLZXkSIwohA0h4VRz7Le/pipiOr0nx2ghLxCH2FQaTIGpZtkJKJhicEgQKAggBGAISEgoMCgR1bnViEgQ1MDE3ELTPHhpAk7Bn7DdV2Cf9yS78GlmyyM35lUE27OuoFMK5zmBY+35T6F98l0o4eC7EQ//CN7nPyOk45+tC/KUUdmCNpcySIhIBAhoESU5EWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="
},
"open_start": {
"index": 2,
"proof": "kb7NqWxKwPmMRprmNfUbtWqoAqzDsvFaqLniBQAPr0bB6Z1JSXrdx9ztQoDQKQOh",
"value": "AAAAAAAAAAAAAAAAAAAAAAAAADEyMzQ1Njc4OTAAAAAAAAAAAAAAAAAAAAAAAAAAMTIzNDU2Nzg5MAEAAMNQAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ=="
},
"post_index": 16,
"pre_index": 1,
"start": 2
},
"shares": [
"Ynl0ZSBhcnJheQ=="
]
}
],
"id": 0
}
SharesAvailable
SharesAvailable subjectively validates if Shares committed to the given ExtendedHeader are available on the Network.
Auth level: read
func SharesAvailable(header *header.ExtendedHeader)
{
"jsonrpc": "2.0",
"method": "share.SharesAvailable",
"params": [
{
"commit": {
"block_id": {
"hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3",
"parts": {
"hash": "6634FE1E1DDDCB9914ACE81F146013986F5FDA03A8F1C16DC5ECA0D9B0E08FBC",
"total": 1
}
},
"height": 67374,
"round": 0,
"signatures": [
{
"block_id_flag": 2,
"signature": "HyR/uRIUNc5GNqQteZyrVjJM47SI9sRAgrLsNqJDls3AzbvHUfN4zzWyw0afyEvNm98Bm2GIoJoZC5D8oQvdBA==",
"timestamp": "2023-02-25T12:10:38.130121476Z",
"validator_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA"
}
]
},
"dah": {
"column_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
],
"row_roots": [
"//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt",
"/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"
]
},
"header": {
"app_hash": "1FC70854A185737C7FD720FCCE9167876EE4B9ABE23DB1EBB8C552D3E3978435",
"chain_id": "testnet",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"data_hash": "257760461993F8F197B421EC7435F3C36C3734923E3DA9A42DC73B05F07B3D08",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"height": "67374",
"last_block_id": {
"hash": "47A2C7758760988500B2F043D3903BBBF1C8B383CA33CF7056AA45E22055663E",
"parts": {
"hash": "33B012F244E27672169DD3D62CDBC92DA9486E410A5530F41FE6A890D8E2EE42",
"total": 1
}
},
"last_commit_hash": "888D47F5E9473501C99F2B6136B6B9FFBC9D1CD2F54002BCD5DF002FFEF0A83D",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"next_validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"proposer_address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"time": "2023-02-25T12:10:28.067566292Z",
"validators_hash": "883A0C92B8D976312B249C1397E73CF2981A9EB715717CBEE3800B8380C22C1D",
"version": {
"block": "11"
}
},
"validator_set": {
"proposer": {
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
},
"validators": [
{
"address": "57DC09D28388DBF977CFC30EF50BE8B644CCC1FA",
"proposer_priority": "0",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "aoB4xU9//HAqOP9ciyp0+PTdZxt/UGKgZOabU6JxW8o="
},
"voting_power": "5000000000"
}
]
}
}
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": null,
"id": 0
}
STATE
AccountAddress
AccountAddress retrieves the address of the node's account/signer
Auth level: read
func AccountAddress() state.Address
{
"jsonrpc": "2.0",
"method": "state.AccountAddress",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": "nubit1t3egzn706ukv03f66qv6yveeafgge2rtpq9w8t",
"id": 0
}
Balance
Balance retrieves the Nubit coin balance for the node's account/signer and verifies it against the corresponding block's AppHash.
Auth level: read
func Balance() *state.Balance
{
"jsonrpc": "2.0",
"method": "state.Balance",
"params": null,
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"amount": "42",
"denom": "string value"
},
"id": 0
}
BalanceForAddress
BalanceForAddress retrieves the Nubit coin balance for the given address and verifies the returned balance against the corresponding block's AppHash.
NOTE: the balance returned is the balance reported by the block right before the node's current head (head-1). This is due to the fact that for block N, the block's AppHash
is the result of applying the previous block's transaction list.
Auth level: read
func BalanceForAddress(addr state.Address) *state.Balance
{
"jsonrpc": "2.0",
"method": "state.BalanceForAddress",
"params": [
"nubit1t3egzn706ukv03f66qv6yveeafgge2rtpq9w8t"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"amount": "42",
"denom": "string value"
},
"id": 0
}
BeginRedelegate
BeginRedelegate sends a user's delegated tokens to a new validator for redelegation.
Auth level: write
func BeginRedelegate(
srcValAddr state.ValAddress,
dstValAddr state.ValAddress,
amount state.Int,
fee state.Int,
gasLim uint64,
) *state.TxResponse
{
"jsonrpc": "2.0",
"method": "state.BeginRedelegate",
"params": [
"nubitvaloper1t3egzn706ukv03f66qv6yveeafgge2rtmp2fl0",
"nubitvaloper1t3egzn706ukv03f66qv6yveeafgge2rtmp2fl0",
"42",
"42",
42
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"data": "12260A242F636F736D6F732E62616E6B2E763162657461312E4D736753656E64526573706F6E7365",
"events": [
{
"attributes": [
{
"index": true,
"key": "ZmVl",
"value": null
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWNjX3NlcQ==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2gvMA=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "c2lnbmF0dXJl",
"value": "R3NlVjhGNThFNGphR05LU0NicDBvNmRILytKK3BNQjNvUmtoNVpKNE8rVjdvNVVYQkJNNXpmNkdiYnN6OW9Takc1OUZkSHJRYzFvVVVBbnRBZW1wV0E9PQ=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWN0aW9u",
"value": "L2Nvc21vcy5iYW5rLnYxYmV0YTEuTXNnU2VuZA=="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "c3BlbmRlcg==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"index": true,
"key": "cmVjZWl2ZXI=",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"index": true,
"key": "cmVjaXBpZW50",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "transfer"
},
{
"attributes": [
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "bW9kdWxl",
"value": "YmFuaw=="
}
],
"type": "message"
}
],
"gas_used": 69085,
"gas_wanted": 10000000,
"height": 30497,
"logs": [
{
"events": [
{
"attributes": [
{
"key": "receiver",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"key": "spender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"key": "action",
"value": "/cosmos.bank.v1beta1.MsgSend"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "module",
"value": "bank"
}
],
"type": "message"
},
{
"attributes": [
{
"key": "recipient",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "transfer"
}
],
"msg_index": 0
}
],
"raw_log": "[{\"msg_index\":0,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.bank.v1beta1.MsgSend\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"module\",\"value\":\"bank\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]}]}]",
"txhash": "05D9016060072AA71B007A6CFB1B895623192D6616D513017964C3BFCD047282"
},
"id": 0
}
CancelUnbondingDelegation
CancelUnbondingDelegation cancels a user's pending undelegation from a validator.
Auth level: write
func CancelUnbondingDelegation(
valAddr state.ValAddress,
amount state.Int,
height state.Int,
fee state.Int,
gasLim uint64,
) *state.TxResponse
{
"jsonrpc": "2.0",
"method": "state.CancelUnbondingDelegation",
"params": [
"nubitvaloper1t3egzn706ukv03f66qv6yveeafgge2rtmp2fl0",
"42",
"42",
"42",
42
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"data": "12260A242F636F736D6F732E62616E6B2E763162657461312E4D736753656E64526573706F6E7365",
"events": [
{
"attributes": [
{
"index": true,
"key": "ZmVl",
"value": null
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWNjX3NlcQ==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2gvMA=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "c2lnbmF0dXJl",
"value": "R3NlVjhGNThFNGphR05LU0NicDBvNmRILytKK3BNQjNvUmtoNVpKNE8rVjdvNVVYQkJNNXpmNkdiYnN6OW9Takc1OUZkSHJRYzFvVVVBbnRBZW1wV0E9PQ=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWN0aW9u",
"value": "L2Nvc21vcy5iYW5rLnYxYmV0YTEuTXNnU2VuZA=="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "c3BlbmRlcg==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"index": true,
"key": "cmVjZWl2ZXI=",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"index": true,
"key": "cmVjaXBpZW50",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "transfer"
},
{
"attributes": [
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "bW9kdWxl",
"value": "YmFuaw=="
}
],
"type": "message"
}
],
"gas_used": 69085,
"gas_wanted": 10000000,
"height": 30497,
"logs": [
{
"events": [
{
"attributes": [
{
"key": "receiver",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"key": "spender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"key": "action",
"value": "/cosmos.bank.v1beta1.MsgSend"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "module",
"value": "bank"
}
],
"type": "message"
},
{
"attributes": [
{
"key": "recipient",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "transfer"
}
],
"msg_index": 0
}
],
"raw_log": "[{\"msg_index\":0,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.bank.v1beta1.MsgSend\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"module\",\"value\":\"bank\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]}]}]",
"txhash": "05D9016060072AA71B007A6CFB1B895623192D6616D513017964C3BFCD047282"
},
"id": 0
}
Delegate
Delegate sends a user's liquid tokens to a validator for delegation.
Auth level: write
func Delegate(
delAddr state.ValAddress,
amount state.Int,
fee state.Int,
gasLim uint64,
) *state.TxResponse
{
"jsonrpc": "2.0",
"method": "state.Delegate",
"params": [
"nubitvaloper1t3egzn706ukv03f66qv6yveeafgge2rtmp2fl0",
"42",
"42",
42
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"data": "12260A242F636F736D6F732E62616E6B2E763162657461312E4D736753656E64526573706F6E7365",
"events": [
{
"attributes": [
{
"index": true,
"key": "ZmVl",
"value": null
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWNjX3NlcQ==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2gvMA=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "c2lnbmF0dXJl",
"value": "R3NlVjhGNThFNGphR05LU0NicDBvNmRILytKK3BNQjNvUmtoNVpKNE8rVjdvNVVYQkJNNXpmNkdiYnN6OW9Takc1OUZkSHJRYzFvVVVBbnRBZW1wV0E9PQ=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWN0aW9u",
"value": "L2Nvc21vcy5iYW5rLnYxYmV0YTEuTXNnU2VuZA=="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "c3BlbmRlcg==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"index": true,
"key": "cmVjZWl2ZXI=",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"index": true,
"key": "cmVjaXBpZW50",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "transfer"
},
{
"attributes": [
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "bW9kdWxl",
"value": "YmFuaw=="
}
],
"type": "message"
}
],
"gas_used": 69085,
"gas_wanted": 10000000,
"height": 30497,
"logs": [
{
"events": [
{
"attributes": [
{
"key": "receiver",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"key": "spender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"key": "action",
"value": "/cosmos.bank.v1beta1.MsgSend"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "module",
"value": "bank"
}
],
"type": "message"
},
{
"attributes": [
{
"key": "recipient",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "transfer"
}
],
"msg_index": 0
}
],
"raw_log": "[{\"msg_index\":0,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.bank.v1beta1.MsgSend\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"module\",\"value\":\"bank\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]}]}]",
"txhash": "05D9016060072AA71B007A6CFB1B895623192D6616D513017964C3BFCD047282"
},
"id": 0
}
QueryDelegation
QueryDelegation retrieves the delegation information between a delegator and a validator.
Auth level: read
func QueryDelegation(valAddr state.ValAddress) *types.QueryDelegationResponse
{
"jsonrpc": "2.0",
"method": "state.QueryDelegation",
"params": [
"nubitvaloper1t3egzn706ukv03f66qv6yveeafgge2rtmp2fl0"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"delegation_response": {
"balance": {
"amount": "42",
"denom": "string value"
},
"delegation": {
"delegator_address": "string value",
"shares": "0",
"validator_address": "string value"
}
}
},
"id": 0
}
QueryRedelegations
QueryRedelegations retrieves the status of the redelegations between a delegator and a validator.
Auth level: read
func QueryRedelegations(
srcValAddr state.ValAddress,
dstValAddr state.ValAddress,
) *types.QueryRedelegationsResponse
{
"jsonrpc": "2.0",
"method": "state.QueryRedelegations",
"params": [
"nubitvaloper1t3egzn706ukv03f66qv6yveeafgge2rtmp2fl0",
"nubitvaloper1t3egzn706ukv03f66qv6yveeafgge2rtmp2fl0"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"pagination": {
"next_key": "Ynl0ZSBhcnJheQ==",
"total": 42
},
"redelegation_responses": [
{
"entries": [
{
"balance": "42",
"redelegation_entry": {
"completion_time": "0001-01-01T00:00:00Z",
"creation_height": 42,
"initial_balance": "42",
"shares_dst": "0"
}
}
],
"redelegation": {
"delegator_address": "string value",
"entries": [
{
"completion_time": "0001-01-01T00:00:00Z",
"creation_height": 42,
"initial_balance": "42",
"shares_dst": "0"
}
],
"validator_dst_address": "string value",
"validator_src_address": "string value"
}
}
]
},
"id": 0
}
QueryUnbonding
QueryUnbonding retrieves the unbonding status between a delegator and a validator.
Auth level: read
func QueryUnbonding(valAddr state.ValAddress) *types.QueryUnbondingDelegationResponse
{
"jsonrpc": "2.0",
"method": "state.QueryUnbonding",
"params": [
"nubitvaloper1t3egzn706ukv03f66qv6yveeafgge2rtmp2fl0"
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"unbond": {
"delegator_address": "string value",
"entries": [
{
"balance": "42",
"completion_time": "0001-01-01T00:00:00Z",
"creation_height": 42,
"initial_balance": "42"
}
],
"validator_address": "string value"
}
},
"id": 0
}
SubmitBlob
SubmitBlob builds, signs and submits a SubmitBlobPayment transaction.
Auth level: write
func SubmitBlob(
fee state.Int,
gasLim uint64,
blobs []*blob.Blob,
) *state.TxResponse
{
"jsonrpc": "2.0",
"method": "state.SubmitBlob",
"params": [
"42",
42,
[
{
"commitment": "20qrISWy41i+3YG4pGbmtw3BbsK875MrcRX8bTgJOMk=",
"data": "VGhpcyBpcyBhbiBleGFtcGxlIG9mIHNvbWUgYmxvYiBkYXRh",
"index": -1,
"namespace": "AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICRA=",
"share_version": 0
}
]
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"data": "12260A242F636F736D6F732E62616E6B2E763162657461312E4D736753656E64526573706F6E7365",
"events": [
{
"attributes": [
{
"index": true,
"key": "ZmVl",
"value": null
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWNjX3NlcQ==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2gvMA=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "c2lnbmF0dXJl",
"value": "R3NlVjhGNThFNGphR05LU0NicDBvNmRILytKK3BNQjNvUmtoNVpKNE8rVjdvNVVYQkJNNXpmNkdiYnN6OW9Takc1OUZkSHJRYzFvVVVBbnRBZW1wV0E9PQ=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWN0aW9u",
"value": "L2Nvc21vcy5iYW5rLnYxYmV0YTEuTXNnU2VuZA=="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "c3BlbmRlcg==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"index": true,
"key": "cmVjZWl2ZXI=",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"index": true,
"key": "cmVjaXBpZW50",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "transfer"
},
{
"attributes": [
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "bW9kdWxl",
"value": "YmFuaw=="
}
],
"type": "message"
}
],
"gas_used": 69085,
"gas_wanted": 10000000,
"height": 30497,
"logs": [
{
"events": [
{
"attributes": [
{
"key": "receiver",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"key": "spender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"key": "action",
"value": "/cosmos.bank.v1beta1.MsgSend"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "module",
"value": "bank"
}
],
"type": "message"
},
{
"attributes": [
{
"key": "recipient",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "transfer"
}
],
"msg_index": 0
}
],
"raw_log": "[{\"msg_index\":0,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.bank.v1beta1.MsgSend\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"module\",\"value\":\"bank\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]}]}]",
"txhash": "05D9016060072AA71B007A6CFB1B895623192D6616D513017964C3BFCD047282"
},
"id": 0
}
SubmitTx
SubmitTx submits the given transaction/message to the Nubit network and blocks until the tx is included in a block.
Auth level: read
func SubmitTx(tx state.Tx) *state.TxResponse
{
"jsonrpc": "2.0",
"method": "state.SubmitTx",
"params": [
"Bw=="
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"data": "12260A242F636F736D6F732E62616E6B2E763162657461312E4D736753656E64526573706F6E7365",
"events": [
{
"attributes": [
{
"index": true,
"key": "ZmVl",
"value": null
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWNjX3NlcQ==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2gvMA=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "c2lnbmF0dXJl",
"value": "R3NlVjhGNThFNGphR05LU0NicDBvNmRILytKK3BNQjNvUmtoNVpKNE8rVjdvNVVYQkJNNXpmNkdiYnN6OW9Takc1OUZkSHJRYzFvVVVBbnRBZW1wV0E9PQ=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWN0aW9u",
"value": "L2Nvc21vcy5iYW5rLnYxYmV0YTEuTXNnU2VuZA=="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "c3BlbmRlcg==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"index": true,
"key": "cmVjZWl2ZXI=",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"index": true,
"key": "cmVjaXBpZW50",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "transfer"
},
{
"attributes": [
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "bW9kdWxl",
"value": "YmFuaw=="
}
],
"type": "message"
}
],
"gas_used": 69085,
"gas_wanted": 10000000,
"height": 30497,
"logs": [
{
"events": [
{
"attributes": [
{
"key": "receiver",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"key": "spender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"key": "action",
"value": "/cosmos.bank.v1beta1.MsgSend"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "module",
"value": "bank"
}
],
"type": "message"
},
{
"attributes": [
{
"key": "recipient",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "transfer"
}
],
"msg_index": 0
}
],
"raw_log": "[{\"msg_index\":0,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.bank.v1beta1.MsgSend\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"module\",\"value\":\"bank\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]}]}]",
"txhash": "05D9016060072AA71B007A6CFB1B895623192D6616D513017964C3BFCD047282"
},
"id": 0
}
Transfer
Transfer sends the given amount of coins from default wallet of the node to the given account address.
Auth level: write
func Transfer(
to state.AccAddress,
amount state.Int,
fee state.Int,
gasLimit uint64,
) *state.TxResponse
{
"jsonrpc": "2.0",
"method": "state.Transfer",
"params": [
"nubit1t3egzn706ukv03f66qv6yveeafgge2rtpq9w8t",
"42",
"42",
42
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"data": "12260A242F636F736D6F732E62616E6B2E763162657461312E4D736753656E64526573706F6E7365",
"events": [
{
"attributes": [
{
"index": true,
"key": "ZmVl",
"value": null
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWNjX3NlcQ==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2gvMA=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "c2lnbmF0dXJl",
"value": "R3NlVjhGNThFNGphR05LU0NicDBvNmRILytKK3BNQjNvUmtoNVpKNE8rVjdvNVVYQkJNNXpmNkdiYnN6OW9Takc1OUZkSHJRYzFvVVVBbnRBZW1wV0E9PQ=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWN0aW9u",
"value": "L2Nvc21vcy5iYW5rLnYxYmV0YTEuTXNnU2VuZA=="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "c3BlbmRlcg==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"index": true,
"key": "cmVjZWl2ZXI=",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"index": true,
"key": "cmVjaXBpZW50",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "transfer"
},
{
"attributes": [
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "bW9kdWxl",
"value": "YmFuaw=="
}
],
"type": "message"
}
],
"gas_used": 69085,
"gas_wanted": 10000000,
"height": 30497,
"logs": [
{
"events": [
{
"attributes": [
{
"key": "receiver",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"key": "spender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"key": "action",
"value": "/cosmos.bank.v1beta1.MsgSend"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "module",
"value": "bank"
}
],
"type": "message"
},
{
"attributes": [
{
"key": "recipient",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "transfer"
}
],
"msg_index": 0
}
],
"raw_log": "[{\"msg_index\":0,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.bank.v1beta1.MsgSend\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"module\",\"value\":\"bank\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]}]}]",
"txhash": "05D9016060072AA71B007A6CFB1B895623192D6616D513017964C3BFCD047282"
},
"id": 0
}
Undelegate
Undelegate undelegates a user's delegated tokens, unbonding them from the current validator.
Auth level: write
func Undelegate(
delAddr state.ValAddress,
amount state.Int,
fee state.Int,
gasLim uint64,
) *state.TxResponse
{
"jsonrpc": "2.0",
"method": "state.Undelegate",
"params": [
"nubitvaloper1t3egzn706ukv03f66qv6yveeafgge2rtmp2fl0",
"42",
"42",
42
],
"id": 0
}
{
"jsonrpc": "2.0",
"result": {
"data": "12260A242F636F736D6F732E62616E6B2E763162657461312E4D736753656E64526573706F6E7365",
"events": [
{
"attributes": [
{
"index": true,
"key": "ZmVl",
"value": null
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWNjX3NlcQ==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2gvMA=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "c2lnbmF0dXJl",
"value": "R3NlVjhGNThFNGphR05LU0NicDBvNmRILytKK3BNQjNvUmtoNVpKNE8rVjdvNVVYQkJNNXpmNkdiYnN6OW9Takc1OUZkSHJRYzFvVVVBbnRBZW1wV0E9PQ=="
}
],
"type": "tx"
},
{
"attributes": [
{
"index": true,
"key": "YWN0aW9u",
"value": "L2Nvc21vcy5iYW5rLnYxYmV0YTEuTXNnU2VuZA=="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "c3BlbmRlcg==",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"index": true,
"key": "cmVjZWl2ZXI=",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"index": true,
"key": "cmVjaXBpZW50",
"value": "Y2VsZXN0aWExMmxlczhsOGd6c2Fjamp4d3VtOXdkeTdtZTh4OXhhanFjaDRneXc="
},
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
},
{
"index": true,
"key": "YW1vdW50",
"value": "MzB1dGlh"
}
],
"type": "transfer"
},
{
"attributes": [
{
"index": true,
"key": "c2VuZGVy",
"value": "Y2VsZXN0aWExMzc3azVhbjNmOTR2Nnd5YWNldTBjZjRucTZnazJqdHBjNDZnN2g="
}
],
"type": "message"
},
{
"attributes": [
{
"index": true,
"key": "bW9kdWxl",
"value": "YmFuaw=="
}
],
"type": "message"
}
],
"gas_used": 69085,
"gas_wanted": 10000000,
"height": 30497,
"logs": [
{
"events": [
{
"attributes": [
{
"key": "receiver",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_received"
},
{
"attributes": [
{
"key": "spender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "coin_spent"
},
{
"attributes": [
{
"key": "action",
"value": "/cosmos.bank.v1beta1.MsgSend"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "module",
"value": "bank"
}
],
"type": "message"
},
{
"attributes": [
{
"key": "recipient",
"value": "nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw"
},
{
"key": "sender",
"value": "nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h"
},
{
"key": "amount",
"value": "30unub"
}
],
"type": "transfer"
}
],
"msg_index": 0
}
],
"raw_log": "[{\"msg_index\":0,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.bank.v1beta1.MsgSend\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"module\",\"value\":\"bank\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"nubit12les8l8gzsacjjxwum9wdy7me8x9xajqch4gyw\"},{\"key\":\"sender\",\"value\":\"nubit1377k5an3f94v6wyaceu0cf4nq6gk2jtpc46g7h\"},{\"key\":\"amount\",\"value\":\"30unub\"}]}]}]",
"txhash": "05D9016060072AA71B007A6CFB1B895623192D6616D513017964C3BFCD047282"
},
"id": 0
}
Last updated