Changeset View
Changeset View
Standalone View
Standalone View
doc/JSON-RPC-interface.md
# JSON-RPC Interface | # JSON-RPC Interface | ||||
The headless daemon `bitcoind` has the JSON-RPC API enabled by default, the GUI | The headless daemon `ecashd` has the JSON-RPC API enabled by default, the GUI | ||||
`bitcoin-qt` has it disabled by default. This can be changed with the `-server` | `ecash-qt` has it disabled by default. This can be changed with the `-server` | ||||
option. In the GUI it is possible to execute RPC methods in the Debug Console | option. In the GUI it is possible to execute RPC methods in the Debug Console | ||||
Dialog. | Dialog. | ||||
## Versioning | ## Versioning | ||||
The RPC interface might change from one major version of Bitcoin ABC to the | The RPC interface might change from one major version of Bitcoin ABC to the | ||||
next. This makes the RPC interface implicitly versioned on the major version. | next. This makes the RPC interface implicitly versioned on the major version. | ||||
The version tuple can be retrieved by e.g. the `getnetworkinfo` RPC in | The version tuple can be retrieved by e.g. the `getnetworkinfo` RPC in | ||||
▲ Show 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | - **Securing remote network access:** You may optionally allow other | ||||
with SSH or stunnel). **Do not enable RPC connections over the public | with SSH or stunnel). **Do not enable RPC connections over the public | ||||
Internet.** Although Bitcoin ABC's RPC interface does use | Internet.** Although Bitcoin ABC's RPC interface does use | ||||
authentication, it does not use encryption, so your login credentials | authentication, it does not use encryption, so your login credentials | ||||
are sent as clear text that can be read by anyone on your network | are sent as clear text that can be read by anyone on your network | ||||
path. Additionally, the RPC interface has not been hardened to | path. Additionally, the RPC interface has not been hardened to | ||||
withstand arbitrary Internet traffic, so changing the above settings | withstand arbitrary Internet traffic, so changing the above settings | ||||
to expose it to the Internet (even using something like a Tor hidden | to expose it to the Internet (even using something like a Tor hidden | ||||
service) could expose you to unconsidered vulnerabilities. See | service) could expose you to unconsidered vulnerabilities. See | ||||
`bitcoind -help` for more information about these settings and other | `ecashd -help` for more information about these settings and other | ||||
settings described in this document. | settings described in this document. | ||||
Related, if you use Bitcoin ABC inside a Docker container, you may | Related, if you use Bitcoin ABC inside a Docker container, you may | ||||
need to expose the RPC port to the host system. The default way to | need to expose the RPC port to the host system. The default way to | ||||
do this in Docker also exposes the port to the public Internet. | do this in Docker also exposes the port to the public Internet. | ||||
Instead, expose it only on the host system's localhost, for example: | Instead, expose it only on the host system's localhost, for example: | ||||
`-p 127.0.0.1:8332:8332` | `-p 127.0.0.1:8332:8332` | ||||
▲ Show 20 Lines • Show All 54 Lines • Show Last 20 Lines |