Database API
The database API is available from the full node via web-sockets.
Objects
get_objects
Get the objects corresponding to the provided IDs.
If any of the provided IDs does not map to an object, a null variant is returned in its position.
ids
: IDs of the objects to retrievesubscribe
: true to subscribe to the queried objects; false to not subscribe; null to subscribe or not subscribe according to current auto-subscription setting (see set_auto_subscription)
Subscriptions
set_subscribe_callback
Register a callback handle which then can be used to subscribe to object database changes.
Note: auto-subscription is enabled by default and can be disabled with set_auto_subscription
cb
: The callback handle to registernotify_remove_create
: Whether subscribe to universal object creation and removal events. If this is set to true, the API server will notify all newly created objects and ID of all newly removed objects to the client, no matter whether client subscribed to the objects. By default, API servers don’t allow subscribing to universal events, which can be changed on server startup.
set_pending_transaction_callback
Register a callback handle which will get notified when a transaction is pushed to database.
Note: A transaction can be pushed to the database and be popped from the database several times while processing, before and after,, included in a block. Every time a push is done, the client will be notified.
cb
: The callback handle to register
set_block_applied_callback
Register a callback handle which will get notified when a block is pushed to database.
cb
: The callback handle to register
cancel_all_subscriptions
Stop receiving any notifications.
This unsubscribes from all subscribed markets and objects.
Blocks and transactions
get_block_header
Retrieve a block header.
block_num
: Height of the block whose header should be returned
get_block
Retrieve a full, signed block.
block_num
: Height of the block to be returned
get_transaction
Fetch an individual transaction.
block_num
: height of the block to fetchtrx_in_block
: the index (sequence number) of the transaction in the block, starts from 0
get_recent_transaction_by_id
txid
: hash of the transaction
If the transaction has not expired, this method will return the transaction for the given ID or it will return NULL if it is not known. Just because it is not known does not mean it wasn’t included in the blockchain.
Globals
get_chain_properties
Retrieve the graphene::chain::chain_property_object associated with the chain.
get_global_properties
Retrieve the current graphene::chain::global_property_object.
get_config
Retrieve compile-time constants.
get_chain_id
Get the chain ID.
get_dynamic_global_properties
Retrieve the current graphene::chain::dynamic_global_property_object.
Keys
get_key_references
Get all accounts that refer to the specified public keys in their owner authority, active authorities or memo key.
keys
: a list of public keys to query
Accounts
get_accounts
Get a list of accounts by names or IDs.
This function has semantics identical toget_objects
account_names_or_ids
: names or IDs of the accounts to retrievesubscribe
: true to subscribe to the queried account objects; false to not subscribe; null to subscribe or not subscribe according to current auto-subscription setting (see set_auto_subscription)
get_full_accounts
Fetch all objects relevant to the specified accounts and optionally subscribe to updates.
This function fetches all relevant objects for the given accounts, and subscribes to updates to the given accounts. If any of the strings innames_or_ids
cannot be tied to an account, that input will be ignored. All other accounts will be retrieved and subscribed.
names_or_ids
: Each item must be the name or ID of an account to retrievesubscribe
: true to subscribe to the queried full account objects; false to not subscribe; null to subscribe or not subscribe according to current auto-subscription setting (see set_auto_subscription)
get_account_by_name
Get info of an account by name.
name
: Name of the account to retrieve
get_account_references
Get all accounts that refer to the specified account in their owner or active authorities.
account_name_or_id
: Account name or ID to query
lookup_account_names
Get a list of accounts by name.
This function has semantics identical to get_objects, but doesn’t subscribe
account_names
: Names of the accounts to retrieve
lookup_accounts
Get names and IDs for registered accounts.
Note: In addition to the common auto-subscription rules, this API will subscribe to the returned account only if limit
is 1.
lower_bound_name
: Lower bound of the first name to returnlimit
: Maximum number of results to return must not exceed 1000subscribe
: true to subscribe to the queried account objects; false to not subscribe; null to subscribe or not subscribe according to current auto-subscription setting (see set_auto_subscription).
get_account_count
Get the total number of accounts registered with the blockchain.
Balances
get_account_balances
Get an account’s balances in various assets.
account_name_or_id
: name or ID of the account to get balances for.assets
: IDs of the assets to get balances of; if empty, get all assets account has a balance in.
get_named_account_balances
Semantically equivalent to get_account_balances.
account_name_or_id
: name or ID of the account to get balances for.assets
: IDs of the assets to get balances of; if empty, get all assets account has a balance in.
get_balance_objects
addrs
: a list of addresses
get_vested_balances
Calculate how much assets in the given balance objects are able to be claimed at current head block time.
objs
: a list of balance object IDs
get_vesting_balances
Return all vesting balance objects owned by an account.
account_name_or_id
: name or ID of an account
Assets
get_assets
Get a list of assets by symbol names or IDs.
Semantically equivalent to get_objects.
asset_symbols_or_ids
: symbol names or IDs of the assets to retrievesubscribe
: true to subscribe to the queried asset objects; false to not subscribe; null to subscribe or not subscribe according to current auto-subscription setting (see set_auto_subscription)
list_assets
Get assets alphabetically by symbol name.
lower_bound_symbol
: Lower bound of symbol names to retrievelimit
: Maximum number of assets to fetch (must not exceed 101)
lookup_asset_symbols
Get a list of assets by symbol names or IDs.
Semantically equivalent to get_objects, but doesn’t subscribe.
symbols_or_ids
: symbol names or IDs of the assets to retrieve
Markets / Feeds
get_order_book
Returns the order book for the market base
base
: symbol name or ID of the base assetquote
: symbol name or ID of the quote assetlimit
: depth of the order book to retrieve, for bids and asks each, capped at 50
get_limit_orders
Get limit orders in a given market.
a
: symbol or ID of asset being soldb
: symbol or ID of asset being purchasedlimit
: Maximum number of orders to retrieve
get_call_orders
Get call orders (aka margin positions) for a given asset.
a
: symbol name or ID of the debt assetlimit
: Maximum number of orders to retrieve
get_settle_orders
Get forced settlement orders in a given asset.
a
: Symbol or ID of asset being settledlimit
: Maximum number of orders to retrieve
get_margin_positions
Get all open margin positions of a given account.
Similar to get_call_orders_by_account, but without pagination.
account_name_or_id
: name or ID of an account
subscribe_to_market
Request notification when the active orders in the market between two assets changes.
Callback will be passed a variant containing a vector<pair<operation, operation_result>>.
The vector will contain, in order, the operations which changed the market, and their results
callback
: Callback method which is called when the market changesa
: symbol name or ID of the first assetb
: symbol name or ID of the second asset
unsubscribe_from_market
Unsubscribe from updates to a given market.
a
: symbol name or ID of the first assetb
: symbol name or ID of the second asset
get_ticker
Returns the ticker for the market assetA:assetB.
base
: symbol name or ID of the base assetquote
: symbol name or ID of the quote asset
get_24_volume
Returns the 24 hour volume for the market assetA:assetB.
base
: symbol name or ID of the base assetquote
: symbol name or ID of the quote asset
get_trade_history
Returns recent trades for the market base:quote, ordered by time, most recent first.
Note: Currently, timezone offsets are not supported. The time must be UTC.
The range is [stop, start). In case there are more than 100 trades occurring in the same second, this API only returns the first 100 records; use get_trade_history_by_sequence to query for the rest.
base
: symbol or ID of the base assetquote
: symbol or ID of the quote assetstart
: Start time as a UNIX timestamp, the latest trade to retrievestop
: Stop time as a UNIX timestamp, the earliest trade to retrievelimit
: Number of transactions to retrieve, capped at 100.
Witnesses
get_witnesses
Get a list of witnesses by ID.
Semantically equivalent to get_objects, but doesn’t subscribe.
witness_ids
: IDs of the witnesses to retrieve
get_witness_by_account
Get the witness owned by a given account.
account_name_or_id
: The name or ID of the account whose witness should be retrieved
lookup_witness_accounts
Get names and IDs for registered witnesses.
lower_bound_name
: Lower bound of the first name to returnlimit
: Maximum number of results to return must not exceed 1000
get_witness_count
Get the total number of witnesses registered with the blockchain.
Committee members
get_committee_members
Get a list of committee_members by ID.
Semantically equivalent to get_objects, but doesn’t subscribe.
committee_member_ids
: IDs of the committee_members to retrieve
get_committee_member_by_account
Get the committee_member owned by a given account.
account_name_or_id
: The name or ID of the account whose committee_member should be retrieved
lookup_committee_member_accounts
Get names and IDs for registered committee_members.
lower_bound_name
: Lower bound of the first name to returnlimit
: Maximum number of results to return must not exceed 1000
Workers
get_workers_by_account
Get the workers owned by a given account.
account_name_or_id
: The name or ID of the account whose worker should be retrieved
Votes
lookup_vote_ids
Given a set of votes, returns the objects they are voting for.
This will be a mixture of committee_member_objects
, witness_objects
, and worker_objects
votes
: a list of vote IDs
Authority / Validation
get_transaction_hex
Get a hexdump of the serialized binary form of a transaction.
trx
: a transaction to get hexdump from
get_required_signatures
This API will take a partially signed transaction and a set of public keys that the owner has the ability to sign for and return the minimal subset of public keys that should add signatures to the transaction.
trx
: the transaction to be signedavailable_keys
: a set of public keys
get_potential_signatures
This method will return the set of all public keys that could possibly sign for a given transaction. This call can be used by wallets to filter their set of public keys to just the relevant subset prior to calling get_required_signatures to get the minimum subset.
trx
: the transaction to be signed
get_potential_address_signatures
This method will return the set of all addresses that could possibly sign for a given transaction.
trx
: the transaction to be signed
verify_authority
Check whether a transaction has all of the required signatures
trx
: a transaction to be verified
verify_account_authority
Verify that the public keys have enough authority to approve an operation for this account.
account_name_or_id
: name or ID of an account to checksigners
: the public keys
validate_transaction
Validates a transaction against the current state without broadcasting it on the network.
trx
: a transaction to be validated
get_required_fees
For each operation calculate the required fee in the specified asset type.
ops
: a list of operations to be query for required feesasset_symbol_or_id
: symbol name or ID of an asset that to be used to pay the fees
Proposed Transactions
get_proposed_transactions
Gets a set of proposed transactions (proposals) that the specified account can add approval to or remove approval from.
account_name_or_id
: The name or ID of an account
Blinded balances
get_blinded_balances
Gets the set of blinded balance objects by commitment ID.
commitments
: a set of commitments to query for
Last updated