5.5 KiB
title |
---|
Interacting with Monero | Monero Documentation |
Interacting with Monero
You can interact with Monero via desktop GUI, commandline interface, and programming API.
On top of that, Monero nodes interact with each other in a peer-to-peer network.
Installation directory overview
Once unpacked you will see several executable files. You will also find a nice PDF guide for the GUI wallet.
Monero project nicely decouples network node logic from wallet logic. Wallet logic is offered through three independent user interfaces - the GUI, the CLI, and the HTTP API.
# cd monero-gui-v0.13.0.3
# ---- guide to Monero GUI ----
monero-GUI-guide.pdf
# ---- executable files -----------
monerod
monero-wallet-cli
monero-wallet-gui
monero-wallet-rpc
monero-gen-trusted-multisig
monero-blockchain-export
monero-blockchain-import
monero-blockchain-mark-spent-outputs
monero-blockchain-usage
monero-blockchain-ancestry
monero-blockchain-depth
start-gui.sh
# ---- directories ----------------
libs
plugins
qml
Executables - what is what
Executable | Description |
---|---|
monerod |
The full node daemon. Does not require a wallet. Documentation. |
monero-wallet-gui |
Wallet logic and graphical user interface. Requires monerod running. |
monero-wallet-cli |
Wallet logic and commandline user interface. Requires monerod running. |
monero-wallet-rpc |
Wallet logic and HTTP API (JSON-RPC protocol). Requires monerod running. |
monero-blockchain-export |
Tool to export blockchain to blockchain.raw file. |
monero-blockchain-import |
Tool to import blockchain.raw - ideally your own trusted copy. |
monero-gen-trusted-multisig |
Tool to generate a set of multisig wallets. See chapter on multisignatures. |
monero-blockchain-mark-spent-outputs |
Advanced tool to mitigate potential privacy issues related to Monero forks. You normally shouldn't be concerned with that. See the commit and pull request. |
monero-blockchain-usage |
Advanced tool to mitigate potential privacy issues related to Monero forks. You normally shouldn't be concerned with that. See the commit and the pull request. |
monero-blockchain-ancestry |
Advanced research tool to learn ancestors of a transaction, block or chain. Irrelevant for normal users. See this pull request. |
monero-blockchain-depth |
Advanced research tool to learn depth of a transaction, block or chain. Irrelevant for normal users. See this commit. |
Interacting
There are quite a few ways you can interact with Monero software.
Perhaps the most surprising for newcomers is that monerod
daemon accepts interactive keyboard commands while it is running.
Also, please note that HTTP API is split across monerod
and monero-wallet-rpc
. You need to run and call both daemons to explore the full API.
This follows the node-logic vs wallet-logic split mentioned earlier.
All wallet implementations depend on the monerod
running.
Executable | p2p network | node commands via keyboard | node HTTP API | wallet commands via keyboard | wallet HTTP API | wallet via GUI |
---|---|---|---|---|---|---|
monerod |
✔ | ✔ | ✔ | |||
monero-wallet-cli |
✔ | |||||
monero-wallet-rpc |
✔ | |||||
monero-wallet-gui |
✔ |
Data directory
This is where the blockchain, log files, and p2p network memory are stored.
By default data directory is at:
$HOME/.bitmonero/
on Linux$HOME/Library/Application\ Support/
on macOSC:\ProgramData\bitmonero\
on Windows
Please mind:
- data directory is hidden as per OS convention
- the
bitmonero
directory name is historical artefact from before Monero forked away from Bitmonero, about 2000 years Before Christ
Data directory contains:
lmdb/
- the blockchain database directoryp2pstate.bin
- saved memory of discovered and rated peersbitmonero.log
- log file
It can also contain subdirectories for stagenet and testnet, mirroring the same structure:
stagenet/
- data directory for Stagenettestnet/
- data directory for Testnet