I have following questions regarding Monero wallets.

Using the Monero GUI and CLI wallet, I have created a wallet which generates three files in my file storage. One is a text file, which has the address of my wallet, and another file with .keys extention.

My questions:

  1. What format are the values in the .keys file? I.e. Hex/Base58 or something else?

  2. If I create a new, second wallet, does it have one account at index 0 and default address at 0 index too?

  3. As per the API documentation, query_key will return either the private view key or mnemonic seed. If I want to execute the transfer method, why don't I need the private spend key in the parameters object? Or do I have to do this process using the sign transaction method separately and then call transfer?

  4. How do I estimate fees before sending a transaction?

  5. If I move forward with the concept I've explained in Q2, then should I make a transfer and pass 0 as account_index? Which wallet will be choosen?

1 Answer 1

  1. The keys file is binary data. It's actually a json string that is encrypted with your wallet password.

  2. Whenever you create a new wallet, it always starts with a single account (account index 0), with a single main address (subaddress index 0).

  3. The wallet RPC only operates with one wallet at a time, so once you have opened a wallet, the keys are loaded and you do not need to specify any key to perform a transfer. query_key is used for other purposes, not transfers.

  4. Call transfer with do_not_relay:true and get_tx_metadata:true. This will respond with the fee in the result object and the tx data you can then use with the relay_tx method.

  5. The wallet that gets used is the one you started the monero-wallet-rpc with or the wallet file you opened with open_wallet. Specifying account_index:0 when doing a transfer, instructs the transfer to send from the first (main) account of the currently opened wallet.

  • OK, Thank you for the clear answer, The main thing about wallet is, if we are working with monero wallet rpc, at a time only one wallet will be used for further processes, i.e., transfer. am I getting this right?
    – Rudrika
    Jul 27, 2019 at 5:48
  • 1
    Yes. Just like the GUI or CLI. You work with one wallet at a time. To use another wallet, you close the current and open the other.
    – jtgrassie
    Jul 27, 2019 at 12:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.