Simplewallet

From Monerobase
Jump to: navigation, search

Simplewallet is the original commandline interface(CLI) for Monero transactions.

Command Line Options/Flags[ ]

As of version 0.8.8.7, command line options are:

bitmonero wallet v0.8.8.7-f4675dc
Usage: simplewallet [--wallet-file=<file>|--generate-new-wallet=<file>] [--daemon-address=<host>:<port>] [<COMMAND>]

General options:
  --help                Produce help message
  --version             Output version information

Wallet options:
  --wallet-file arg               Use wallet <arg>
  --generate-new-wallet arg       Generate new wallet and save it to <arg> or
                                  <address>.wallet by default
  --password arg                  Wallet password
  --daemon-address arg            Use daemon instance at <host>:<port>
  --daemon-host arg               Use daemon instance at host <arg> instead of
                                  localhost
  --daemon-port arg (=0)          Use daemon instance at port <arg> instead of
                                  8081
  --command arg
  --set_log arg
  --restore-deterministic-wallet  Recover wallet using electrum-style mnemonic
  --non-deterministic             creates non-deterministic view and spend keys
  --electrum-seed arg             Specify electrum seed for wallet
                                  recovery/creation
  --testnet                       Used to deploy test nets. The daemon must be
                                  launched with --testnet flag
  --rpc-bind-ip arg (=127.0.0.1)  Specify ip to bind rpc server
  --rpc-bind-port arg             Starts wallet as rpc server for wallet
                                  operations, sets bind port for server

Commands[ ]

While inside simplewallet, the commands are such:

Commands:
  address              Show current wallet public address
  balance              Show current wallet balance
  bc_height            Show blockchain height
  help                 Show this help
  incoming_transfers   incoming_transfers [available|unavailable] - Show incoming transfers - all of them or filter them by availability
  payments             payments <payment_id_1> [<payment_id_2> ... <payment_id_N>] - Show payments <payment_id_1>, ... <payment_id_N>
  refresh              Resynchronize transactions and balance
  save                 Save wallet synchronized data
  save_bc              Save current blockchain data
  seed                 Get deterministic seed
  set                  available options: seed language - Set wallet seed langage
  set_log              set_log <level> - Change current log detalization level, <level> is a number 0-4
  start_mining         start_mining [<number_of_threads>] - Start mining in daemon
  stop_mining          Stop mining in daemon
  transfer             transfer <mixin_count> <addr_1> <amount_1> [<addr_2> <amount_2> ... <addr_N> <amount_N>] [payment_id] - Transfer <amount_1>,... <amount_N> to <address_1>,... <address_N>, respectively. <mixin_count> is the number of transactions yours is indistinguishable from (from 0 to maximum available)
  viewkey              Get viewkey

Transferring[ ]

Exchanges[ ]

To send Monero from Simplewallet to an Exchange, you're going to need the address and a Payment ID. This differs from what you may be used to with Bitcoin or another Altcoin. You can think of the payment ID as...you. The address is the address of the Exchange itself, and the Payment ID is the portion that separates you from another user on that exchange. So if you leave off the Payment ID, your transfer will still end up at the exchange, but they won't know who it belongs to.

Another idea that may throw you off is the "mixin_count". Quite simply, this is a knob that dials up or down the amount of anonymity you'd like. 0 is okay but not suggested. 2 or 3 is the more common choice. So, an example command to send 5.32 XMR to an exchange is:

transfer 3 493JYDeY6taJV2bXYsa4vh2kkub7URErJ4B3cN7NKeNG5JFlNr3iTo4jJbS35AxcTgErouA8x8gLo9C2AiBu27i4KFMXXcp 5.32 93af87e91c0f2a14ay0a7198f45a458673d724b9c110d355c9effe81a64de4f7

Non Exchanges[ ]

To send Monero from Simplewallet to a person or between wallets, you can skip the Payment ID. So, an example command to send 4.18 XMR to a person is:

transfer 3 4f4KYDfY6taJV2bXYsa4vh2kkub7UFGrJ4B3cN7NKeNG5JFlNr3iTo4jJbS35AxcTgErouA8x8gLo9C2AiBu27i4KFMGGgf 4.18

Getting Started[ ]

simplewallet is the wallet software that ships with the monero tree. It is a console program, and manages an account (while a bitcoin wallet manages both an account and the blockchain, Monero separates these: bitmonerod handles the blockchain, and simplewallet handles the account).

This guide assumes you already have created an account, according to the other guides, and will show how to perform various operations from the simplewallet UI.

Checking your balance[ ]

Since the blockchain handling and the wallet are separate programs, many uses of simplewallet need to work with the daemon. This includes looking for incoming transactions to your address. Once you are running both simplewallet and bitmonerod, refresh the wallet's idea of the blockchain:

refresh

This will pull blocks from the daemon the wallet did not yet see, and update your balance to match. To see the balance without refreshing:

balance

Sending monero[ ]

You will need the standard address you want to send to (a long string starting with '4'), and possibly a payment ID, if the receiving party requires one. In that latter case, that party may instead give you an integrated address, which is both of these packed into a single address (integrated address do not start with 4, but A).

This is the command to use when you are sending to a standard address:

transfer 3 ADDRESS AMOUNT PAYMENTID

Replace ADDRESS with the address you want to sent to, AMOUNT with how many monero you want to send. and PAYMENTID with the payment ID you were given. If the receiving party doesn't need one, just omit it.

If you have an integrated address to send to:

transfer 3 ADDRESS AMOUNT

The payment ID is implicit in the integrated address in that case.

The 3 above is the mixin. It's a good idea to leave it to 3, but you can increase the number if you want to mix with more outputs. The higher the mixin, the larger the transaction, and the higher fees needed.

Receiving monero[ ]

If you have your own Monero address, you just need to give your standard address to someone. Since Monero is anonymous, you won't see what address sent anything you receive. If you want to know, you'll have to tell the sender to use a payment ID, which is an arbitrary optional tag which gets attached to a transaction. To make life easier, you can generate an address that already includes a random payment ID:

integrated_address

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 your own payment ID, you can do that too:

integrated_address 12346780abcdef00

Proving to a third party you paid someone[ ]

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:

set store-tx-keys 1

From now on, tx keys will be saved, and you can retrieve them later for a given transaction:

get_tx_key 1234567890123456789012345678901212345678901234567890123456789012

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.

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:

check_tx_key TXID TXKEY ADDRESS

Replace TXID, TXKEY and ADDRESS with the transaction ID, per-transaction key, and destination address which were supplied to you, respectively. simplewallet will check that transaction and let you know how much monero this transaction paid to the given address.

Getting a chance to confirm/cancel payments

If you want to get a last chance confirmation when sending a payment:

set always-confirm-transfers 1

How to find a payment to you

If you received a payment using a particular payment ID, you can look it up:

payments PAYMENTID

You can give more than one payment ID too.