Simplify versioning system for user guides
This new approach doesn't require version numbers and make easier for contributors to understand the status
of the document. There are only 3 states:
- Outdated: The page is outdated and might not work as expected
- Untranslated: The page needs to be translated
- Translation outdated: The page is translated, but the original (English) document has been updated
To mark a guide as outdated, we change the boolean of the front matter entry 'outdated' in /resources/user-guides/GUIDE.
If 'False', the guide is updated. If 'True' all versions of the guide (English included) will show a warning at the bottom
of the page.
The other 2 states are related to the status of the translated pages and we control them from the language-specific
user guides: /_i18n/LANG/resources/user-guides/GUIDE. At the top of the page a snippet will include 2 parameters:
- translated: "yes" if the page is translated, "no" if it's not.
- translationOutdated: "yes" if the translation is outdated, "no" if it's not
This new system aims to be simpler than the precedent, avoiding to compare versioning numbers and using a higher level
system instead (yes, no, True, False). I also removed the middle way status 'only minor changes', because if there are
only minor changes that don't affect the usability of the guide, we don't need to point it out.
The old system was complex and people didn't use it. These changes will hopefully make things easier for translators and
other contributors.
2020-05-03 13:38:01 +00:00
|
|
|
{% include disclaimer.html translated="no" translationOutdated="no" %}
|
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
`monero-wallet-cli` is the wallet software shipped in the Monero
|
|
|
|
archives. It is a console program, and manages an account. While a bitcoin
|
|
|
|
wallet manages both an account and the blockchain, Monero separates these:
|
|
|
|
`monerod` handles the blockchain, and `monero-wallet-cli` handles the
|
|
|
|
account.
|
|
|
|
|
|
|
|
This guide will show how to perform various operations with
|
|
|
|
`monero-wallet-cli`. The guide assumes you are using the most recent version
|
|
|
|
of Monero and have already created an account according to the other guides.
|
|
|
|
|
|
|
|
## Overview
|
|
|
|
|
|
|
|
You can have a list of the most important commands by running `help`:
|
|
|
|
|
|
|
|
```
|
|
|
|
Important commands:
|
|
|
|
|
|
|
|
"welcome" - Show welcome message.
|
|
|
|
"help all" - Show the list of all available commands.
|
|
|
|
"help <command>" - Show a command's documentation.
|
|
|
|
"apropos <keyword>" - Show commands related to a keyword.
|
|
|
|
|
|
|
|
"wallet_info" - Show wallet main address and other info.
|
|
|
|
"balance" - Show balance.
|
|
|
|
"address all" - Show all addresses.
|
|
|
|
"address new [<label text with white spaces allowed>]" - Create new subaddress.
|
|
|
|
"transfer <address> <amount>" - Send XMR to an address.
|
|
|
|
"show_transfers [in|out|pending|failed|pool]" - Show transactions.
|
|
|
|
"sweep_all <address>" - Send whole balance to another wallet.
|
|
|
|
"seed" - Show secret 25 words that can be used to recover this wallet.
|
|
|
|
"refresh" - Synchronize wallet with the Monero network.
|
|
|
|
"status" - Check current status of wallet.
|
|
|
|
"version" - Check software version.
|
|
|
|
"exit" - Exit wallet.
|
|
|
|
|
|
|
|
"donate <amount>" - Donate XMR to the development team.
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
|
|
|
## Checking your balance
|
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
Since the blockchain handling and the wallet are separate programs, many
|
|
|
|
uses of `monero-wallet-cli` need to work with the @daemon. This includes
|
|
|
|
looking for incoming transactions to your address. Once you are running
|
|
|
|
both `monero-wallet-cli` and `monerod`, enter `balance`.
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
Output:
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
Currently selected account: [0] Primary account
|
|
|
|
Tag: (No tag assigned)
|
|
|
|
Balance: 7.499942880000, unlocked balance: 7.499942880000
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
In this example you're viewing the balance of your primary account (with
|
|
|
|
index `[0]`). `Balance` is your total balance. The `unlocked balance` is the
|
|
|
|
amount currently available to spend. Newly received transactions require 10
|
|
|
|
confirmations on the blockchain before being unlocked.
|
2019-03-25 19:44:40 +00:00
|
|
|
|
|
|
|
## Sending monero
|
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
You will need the standard address you want to send to (a long string
|
|
|
|
starting with '4' or a '8'). The command structure is:
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
transfer ADDRESS AMOUNT
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
Replace `ADDRESS` with the address you want to send to and `AMOUNT` with how
|
|
|
|
many monero you want to send.
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
## Receiving monero
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
If you have your own Monero address, you just need to give your address to
|
|
|
|
someone.
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
You can find out your primary address with:
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
address
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
Since Monero is anonymous, you won't see the origin address the funds you
|
|
|
|
receive came from. If you want to know, for instance to credit a particular
|
|
|
|
customer, you'll have to tell the sender to use a payment ID, which is an
|
|
|
|
arbitrary optional tag which gets attached to a transaction. It's not
|
|
|
|
possible to use standalone payment addresses, but you can generate an
|
|
|
|
address that already includes a random payment ID (integrated addresss)
|
|
|
|
using `integrated_address`:
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
Random payment ID: <82d79055f3b27f56>
|
|
|
|
Matching integrated address: 4KHQkZ4MmVePC2yau6Mb8vhuGGy8LVdsZD8CFcQJvr4BSTfC5AQX3aXCn5RiDPjvsEHiJu1TC1ybR8pRTCbZM5bhTrAD3HDwWMtAn1K7nV
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
This will generate a random payment ID, and give you the address that
|
|
|
|
includes your own account and that payment ID. If you want to select a
|
|
|
|
particular payment ID, you can do that too. Use:
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
integrated_address 82d79055f3b27f56
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
Payments made to an integrated address generated from your account will go
|
|
|
|
to your account, with that payment ID attached, so you can tell payments
|
|
|
|
apart.
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
### Using subaddresses
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
It's suggested to use subaddresses (starting with `8`) instead of your main
|
|
|
|
address (starting with `4`) to receive funds. Run:
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
address new [<label text with white spaces allowed>]
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
This will generate a subaddress and its optional label, which addess you can
|
|
|
|
share to receive payment on the account it's linked to. For example,
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
address new github_donations
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
will generate a subaddress and its label 'github_donations'.
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
To view all generated addresses, run:
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
address all
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
|
|
|
## Proving to a third party you paid someone
|
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
If you pay a merchant, and the merchant claims to not have received the
|
|
|
|
funds, you may need to prove to a third party you did send the funds - or
|
|
|
|
even to the merchant, if it is a honest mistake. Monero is private, so you
|
|
|
|
can't just point to your transaction in the blockchain, as you can't tell
|
|
|
|
who sent it, and who received it. However, by supplying the per-transaction
|
|
|
|
private key to a party, that party can tell whether that transaction sent
|
|
|
|
monero to that particular address. Note that storing these per-transaction
|
|
|
|
keys is disabled by default, and you will have to enable it before sending,
|
|
|
|
if you think you may need it:
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
set store-tx-info 1
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
|
|
|
You can retrieve the tx key from an earlier transaction:
|
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
get_tx_key 1234567890123456789012345678901212345678901234567890123456789012
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
Pass in the transaction ID you want the key for. Remember that a payment
|
|
|
|
might have been split in more than one transaction, so you may need several
|
|
|
|
keys. You can then send that key, or these keys, to whoever you want to
|
|
|
|
provide proof of your transaction, along with the transaction id and the
|
|
|
|
address you sent to. Note that this third party, if knowing your own
|
|
|
|
address, will be able to see how much change was returned to you as well.
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
If you are the third party (that is, someone wants to prove to you that they
|
|
|
|
sent monero to an address), then you can check this way:
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
check_tx_key TXID TXKEY ADDRESS
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
Replace `TXID`, `TXKEY` and `ADDRESS` with the transaction ID,
|
|
|
|
per-transaction key, and destination address which were supplied to you,
|
|
|
|
respectively. `monero-wallet-cli` will check that transaction and let you
|
|
|
|
know how much monero this transaction paid to the given address.
|
2019-03-25 19:44:40 +00:00
|
|
|
|
|
|
|
## How to find a payment to you
|
|
|
|
|
|
|
|
If you received a payment using a particular payment ID, you can look it up:
|
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
payments PAYMENTID
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
|
|
|
You can give more than one payment ID too.
|
|
|
|
|
|
|
|
More generally, you can review incoming and outgoing payments:
|
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
show_transfers
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
You can give an optional height to list only recent transactions, and
|
|
|
|
request only incoming or outgoing transactions. For example,
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
show_transfers in 650000
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
will only show incoming transfers after block 650000. You can also give a
|
|
|
|
height range.
|
2019-03-25 19:44:40 +00:00
|
|
|
|
|
|
|
If you want to mine, you can do so from the wallet:
|
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
start_mining 2
|
|
|
|
```
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
This will start mining on the daemon usin two threads. Note that this is
|
|
|
|
solo mining, and may take a while before you find a block. To stop mining:
|
2019-03-25 19:44:40 +00:00
|
|
|
|
2021-07-12 14:57:49 +00:00
|
|
|
```
|
|
|
|
stop_mining
|
|
|
|
```
|