Daemon API docs
This page will help you get connect Daemon RPC API¶
Daemon RPC API¶
-
EvoX command-line daemon application
(evoxd)
can be controlled by remote procedure calls (RPC). -
This makes it possible to use it as a back end for user-defined services.
-
The daemon starts in RPC server mode by default.
-
To specify the RPC port or bind address the user will need to run
evoxd
with the following options:
evoxd --rpc-bind-ip RPC_IP --rpc-bind-port RPC_PORT
-
RPC_IP
— IP address to bind RPC server to (127.0.0.1
will be used if not specified); -
RPC_PORT
— TCP port for RPC server (52521
is default); -
All examples below are based on the assumption that the daemon is listening for RPC at
127.0.0.1:52521
. -
All amounts and balances are represented as unsigned integers and measured in atomic units —
the smallest fraction of a coin
. -
One coin is equal to
10^12
atomic units.
JSON RPC BUSY response¶
-
All JSON RPC calls are served via
http://RPC_IP:RPC_PORT/json_rpc
URI. -
Any request may receive a
BUSY
response if the daemon is synchronizing with the network. -
In such cases the user should repeat the request later.
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"status": "BUSY"
}
}
-
Alternative blocks are not stored between subsequent runs of the daemon application.
-
For a recently started daemon the list of known alternative blocks is always empty.
Connect Legacy JSON API¶
- This API is legacy and not compliant with the JSON RPC specification.
Please note that all methods in this section are accessed by http://RPC_IP:RPC_PORT/METOD_NAME
URI.
Connect Binary RPC API¶
-
Binary API uses binary protocol for communication, which is more compact and faster than JSON-API, especially when transferring large amounts of data.
-
It was designed to communicate with a wallet application.
-
You may want to use epee serialization, in particular
epee::serialization::store_t_to_binary and epee::serialization::load_t_from_binary
methods, to serialize your data before passing to API, and to deserialize upon retrieving from API.
- Alternatively, you may use
epee::net_utils::invoke_http_bin_remote_command2
All methods in this section are accessible by http://RPC_IP:RPC_PORT/METOD_NAME
URI.