Nubit DA Node APIs

Note: We are in the Alpha Testnet stage, so the API may undergo incompatible changes in the future. If you encounter any issues, please join our Discord to get in touch with the Nubit Team.


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

NameValue

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

Info

Info returns administrative information about the node.

Auth level: admin

func Info() Info
{
  "jsonrpc": "2.0",
  "method": "node.Info",
  "params": null,
  "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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

NATStatus

NATStatus returns the current NAT status.

Auth level: admin

func NATStatus() network.Reachability
{
  "jsonrpc": "2.0",
  "method": "p2p.NATStatus",
  "params": null,
  "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
}

Peers

Peers returns connected peers.

Auth level: admin

func Peers() []peer.ID
{
  "jsonrpc": "2.0",
  "method": "p2p.Peers",
  "params": null,
  "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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

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
}

Last updated