Wallet transfer/disbursement after death One downside of good cryptographic privacy is that funds will be lost if the key is forgotton or not known.  How can someone ensure funds are not lost after death?

Apart from relying on a trusted third party for escrow, I can see two possible technical solutions:

An M-of-N wallet transfer scheme where keys are given to trusted relatives or written in the Will.
An automatic transfer of the wallet balance to a specified account after a specified time (target date or period of inactivity).

Any solution must prevent the possibility of third parties abusing the process to steal the balance before death.

Is a reasonable process available now?

Would future multisig allow option one?

Are there any other features in the road-map which can support this, and is this concern something that the development team or MRL would try to address?

See also: this question

Even if not implemented on wallet, you could use secret sharing - such as Shamir's secret sharing with, for example, three keys to encrypt your wallet or wordlist. Then you would keep one with yourself and the other two with trusted relatives. Your key alone wouldn't be able to decrypt your wallet. So you could keep it in your Will, so that when you die your relatives could use their keys and your key to decipher your wallet/wordlist.


How payment proof is used? In my wallet gui v0.14.0.0, each outgoing transaction has a P button, the content when clicked is "Payment Proof", second line is "OutProofV1...(a hash string)"
How do I use this payment proof ?
And I notice that when the transaction has just been made, the hash string is so much longer. Why is that ?

Payment proofs are detailed nicely on the Monero site here: https://www.getmonero.org/resources/user-guides/prove-payment.html

They are used in the case of a dispute so you, as the spender, can prove to the receiver you sent funds to them.


What makes decoding the total sent amount using the viewkey potentially inaccurate? When using the 'decode outputs' on moneroexplorer for a TX that I sent, I get this warning when it (correctly) estimates the amount that I spent:

  Possible spending is: spent amount (tx fee included)
  Note: without private spendkey, it is impossible to know whether this is your real spending.
  So do not take this number seriously. It is probably totally wrong anyway.

What are the potential inaccuracies of simply assuming that the spent amount is equal to the sum of the user's inputs minus the sum of the user's outputs?
Additionally, how could the private spendkey be used to accurately determine the amount spent?

Because without the private spend key, the outgoing transactions will not be decoded.
It means if you send some monero, you will not see the negative transaction, but only a positive transaction corresponding to the change sent back to your address.
Therefore, the amount will be highly inaccurate.
However, if you only received and never spent any Moneroj, it will be accurate.

Example:
You received 10XMR in one output.
Your balance is 10XMR using the view key or spend key: it's accurate.
Then you send 2XMR.
You send this from the output you own and get 8XMR as change.
Using the spend key you'll see a balance of 8XMR.
Using the view key, you'll see a balance of 18XMR: the 10XMR output + the 8XMR output from change. As you do not see the first output being spend, it's inaccurate.


If you solo mine through the GUI, version 0.17.1.9-3ca5f10f (Qt5.15.2), how or where would you get paid if you were lucky enough to earn anything? If you solo mine and you got lucky enough to earn something, how would you get the Monero? Also, how would you know if you happen to earn something? I understand solo mining is prob not going to ever earn me much if anything, but I still wanted to solo mine some at least to help out the Monero community. And it's easier to just click start mining in my GUI I think. At least right now while I'm still newish at Monero. Do you need to put a receiving address somewhere before you click the "start mining" icon in your GUI? Or would you get sent any earnings to your account's wallet main address maybe? I hope you can understand what I'm asking. Thank you!

If you do find a block, you will get a new transaction to your wallet with the block reward on it - currently about 1.1 monero. If you have several wallets, it will go to the one that was loaded at the time you started mining.


What is the function of decompose_amount_into_digits and its components? decompose_amount_into_digits(uint64_t amount, uint64_t dust_threshold, const chunk_handler_t& chunk_handler, const dust_handler_t& dust_handler)

Monero uses this function while constructing a new miner_tx and and also on transfer.

Caan anyone give me a clear explanation about what exactly happens and what is the role of chunk_handler and dust_handler?

Thanks!

That function splits a number into it decimal components, except for the lower significance ones, which are grouped.
For example, the number 84938394 will be split into 80000000, 4000000, 900000, 30000, and 8394 (if the dust threshold is 10000).

This was used by the ring signature process to pick outputs from the blockchain with the same amount as the one that's being spent, since otherwise there would be too many different amounts, and thus poor selection.
chunk_handler and dust_handlers are just two functions called with each of the split amounts above. Amounts below the dust threshold are called dust, and typically "complex" numbers which have few, or no, other potential ring members on the blockchain.

This is not used with RingCT anymore, since output amounts are hidden, and every rct output can be used in a ring signature with any other, doing away with the need for splitting amounts into those "canonical" ones.


Could recent DoS attacks be avoided if Dandelion was not implemented? Dandelion or Dandelion++ was not implemented in Bitcoin because few bitcoin devs thought it could result in DoS attacks: https://bitcoin.stackexchange.com/a/81504/
I was reading the blog post https://sethsimmons.me/posts/moneros-ongoing-network-attack/ which has almost all the details about recent DoS attacks on Monero.
It's mentioned that Dandelion helped in making it difficult to link IP with transactions but did Dandelion help the attacker in DoS attack?

The referenced blog post is a little misleading insofar as it wasn't the actual introduction of Dandelion++ that enabled or started the recent DoS attacks, merely that the attacks ramped up around the same time as Monero performed a major release, for which amongst other things also happened to include Dandelion++. Anecdotally, major releases are of course ideal times to launch such attacks.
The blog post does however give a good timeline and links to the PRs that have been plugging the holes used in the various and changing attacks and one should note that only 2 of the PRs even mention Dandelion++; many of the weaknesses this attacker has been exploiting preexisted this latest release (v17).
Luckily these attacks, whilst annoying, are fairly harmless (i.e. no funds are at risk and the network is still operating), so the net result is actually strengthening Monero. So whilst of course responsible disclosure would have been preferred, better to have manageable attacks now than left to exploit another day, possibly with greater impact.
Lastly, I'd caution using Bitcoin as a reference as to why something is or isn't added to Monero. Many things proposed and rejected for Bitcoin have found a place in Monero (privacy for starters). That said, it's worth noting that it was Dandelion, not Dandelion++, that was originally proposed for Bitcoin and there were various objections, most unrelated to possible DoS attack vectors.


Minimum system requirements for Monero? What are the minimum system requirements to run a full Monero node?

Specifically:

How much RAM do I need?
How much disk space is required?
Is a SSD needed to sync in a reasonable period of time?
Is it possible to run a Monero node on Raspberry Pi or similar device?

Since Monero moved to LMDB in January, RAM requirements are now quite low. It is possible to run a full node with 1GB of RAM
The amount of hard drive space needed will vary by OS. I have not yet seen a blockchain over 20GB. The blockchain continues to grow, but pruning options (such as provided by Aeon a Monero fork) will likely become available eventually
A SSD is not required but will significantly decrease sync time. Depending on your setup sync time for the entire blockchain can vary between 10 minutes (on powerful systems) to several days. The current master in GitHub has LMDB improvements over the tagged release.
Yes, multiple users have been running Monero on Raspberry Pi for over a year at this point: https://forum.getmonero.org/20/general-discussion/267/a-step-by-step-guide-to-running-a-full-node-on-raspberry-pi-2


Unable to see my 25 word mnemonic seed? I have just setup a Monero wallet using my ledger and I would like to write down my 25 word pass phrase so I can back it up.

However, when I go to 'Settings' > 'Seed and Keys' I get nothing, empty box for the mnemonic seed and view and spend  keys are all none sense.

How can I display and backup my seeds?

The reason to use a hardware wallet is so that your seed is safe even if your PC has been compromised. So it's therefore by design that the seed is not visible in the GUI.

You need to back up the Ledger's main seed, which is what your Monero seed is derived from. This is how you will restore access to all funds held in the Ledger if you lose it or it breaks.

You can convert your Ledger seed into your Monero seed using this tool: https://github.com/LedgerHQ/ledger-app-monero/blob/master/tools/python/README.md


Monero Not connecting to Daemon after upgrading to v0.13.0.3 on Windows 10 I upgraded to v0.13.03 and when I start Monero the command prompt opens and closes ver quickly my wallet loads fine and shows my balance but my status is disconnected and the daemon is not connnected either. The log message is couldnt getting to 127.0.0.1 . Do I just have to wait for the database conversion? Or is there some fix for this? Please advise. Thank you.

A.  Yes, at first, you must let the database do its upgrades.  It actually could take an hour or two (hopefully nor more than that, but it depends).

B.  Make sure you're not only using a v0.13 daemon, but also a v0.13 wallet as well.  It sounds like you are, but just making sure.


What is the difference between Monero (XMR) and Enigma (ENG)? Many people claim that Enigma offers "Monero-strength" privacy on the Ethereum blockchain. Is this true or not? Do they offer the same level of privacy? How are they the same, and how are they different? Is "Monero vs. Engima" even an appropriate comparison?

Enigma (ENG) has relatively different goals than Monero (XMR). Whereas Enigma works to encrypt information stored by applications, Monero works to hide transaction data.

Engima prioritizes securely securing data. It is not meant for these assets to be frequently "sent" to other users, or at least in the same capacity. Their basic privacy protocol is best shown as follows:

In this diagram, the user has two types of information that is passed to the blockchain. The blockchain is merely a distributed database that stores data. First, users can store T-data transactions that store the hashes of data. For example, if I want to store a copy of this StackExchange answer text on the blockchain, I would "hash" the text and store only this hash in the blockchain. I recommend you learn more about hashing to see why this is important.

Second, users can store T-access transactions, which assign authorization for specific files. They decide who has permission to gain access to data stored with the T-data transactions.

The actual data (in this example, the full content of this response) is stored outside of the blockchain. The privacy documentation says the following:

  Data collected... is encrypted using a shared encryption key and sent to the blockchain in a T-data transaction, which subsequently routes it to an off-blockchain key-value store, while retaining only a pointer to the data on the public ledger (the pointer is the SHA-256 hash of the data).

For practicality purposes, imagine this data storage as a centralized cloud provider Amazon AWS.

Services run on the side of the blockchain to provide applications to users. They can be given permission to access user data through T-access transactions. The service can then query this data on the blockchain, pull the actual files from Amazon AWS, then interact with the user directly to provide a service.

Keep in mind that while a user can create a T-access to revoke access to files at any time, the service may have archived them, making complete removal difficult.

I am not aware of how the history of T-access transactions is managed. I do not know if an outside observer can see who was previously given access to what data. This is something I recommend you spend some time researching, since it could create undesired public connections (eg: you granting permission to a healthcare provider).

Monero does not offer simple support for the mechanism explained with Enigma. Instead, it provides protection for transactions. Ring signatures hide the origin of funds spent by hiding the real output among other sources of money. Ring confidential transactions (RingCT) hide the amount. Stealth addresses break the link between sources of funds and addresses (making rich lists impossible). You can learn more about each individually by searching around in StackExchange and watching the linked videos.

Monero overall has a simpler use-case. Enigma is much newer, and there are more considerations that are still developing. You probably shouldn't make private transactions on Enigma, and you likewise probably shouldn't write applications directly on top of Monero (use a second-layer approach instead).


Monero wallet stuck synchronising at 39680 using windows One time for less than an hour, the "Blocks Remaining" were actively counting-down. I have restarted both the daemon and the GUI Wallet several times. I have also left them both up and running for more than 24 hours multiple times.  I sent Monero to the Wallet, but it shows 0.00 balance.

2017-11-10 07:55:58.208 9176    INFO    global  contrib/epee/src/mlog.cpp:145   New log categories: *:WARNING,net:FATAL,net.p2p:FATAL,net.cn:FATAL,global:INFO,verify:FATAL,stacktrace:INFO
2017-11-10 07:55:59.214 9176    ERROR   msgwriter   src/common/scoped_message_writer.h:94   Error: Couldn't connect to daemon
Error: Couldn't connect to daemon

2017-11-10 07:56:18.876 9208    INFO    global  contrib/epee/src/mlog.cpp:145   New log categories: *:WARNING,net:FATAL,net.p2p:FATAL,net.cn:FATAL,global:INFO,verify:FATAL,stacktrace:INFO
2017-11-10 07:56:19.882 9208    ERROR   msgwriter   src/common/scoped_message_writer.h:94   Error: Couldn't connect to daemon
Error: Couldn't connect to daemon

2017-11-10 07:56:21.915 3976    INFO    global  contrib/epee/src/mlog.cpp:145   New log categories: *:WARNING,net:FATAL,net.p2p:FATAL,net.cn:FATAL,global:INFO,verify:FATAL,stacktrace:INFO
Height: 1400001/1400001 (100.0%) on mainnet, not mining, net hash 259.32 MH/s, v5, update needed, 0(out)+0(in) connections, uptime 0d 0h 0m 4s

2017-11-10 08:05:56.439 9444    INFO    global  contrib/epee/src/mlog.cpp:145   New log categories: *:WARNING,net:FATAL,net.p2p:FATAL,net.cn:FATAL,global:INFO,verify:FATAL,stacktrace:INFO
Height: 1400001/1439681 (97.2%) on mainnet, not mining, net hash 259.32 MH/s, v5, update needed, 8(out)+0(in) connections, uptime 0d 0h 9m 35s

If you're stuck on height 1400001, it's very likely you're using an old version which doesn't know about the new fork consensus rules, so fails to see the new blocks as valid. You need to update your wallet to 0.11.1.0 (0.11.0.0 would also work, but has a few sync bugs, so switching to 0.11.1.0 directly is best). Just replace the binaries with the new ones, or pull from git and build, that's all you need to do. After restarting monerod and wallet to use the new code, it should start syncing again till the end.


Shares accepted by pool but no due XMR I am using XMRig CPU miner which is working fine. I am getting 1.2-1.3 kh/s on CPU. I got the wallet set up via Monero wallet. I use the usxmrpool. When I check my wallet address on the pool, I see my accepted shares, but not XMR due payments. How can that be?

Your pending balance will start showing once the blocks you have worked on have matured. ~60 new blocks found on the network.


Does having a separated daemon add security risks to Monero? For example, what if someone created malware to get in between the two programs (wallet and daemon), pretending to be the daemon and logging all the info before sending it along to the real daemon?

I recently downloaded Bitcoin QT and it didn't have a separate daemon. I just double clicked the program and it synced the blockchain and allowed me to send and receive funds via a GUI. I assume this is much more secure since the two functions are within the same program.

The disconnected architecture that Monero employs allows you to host the daemon and wallet separately. My own opinion is that this is an improvement over the bundled design of Bitcoin-QT.

If you connect your wallet to a remote daemon, or don't host your own node, there are security and performance implications.

If you run the daemon locally, there's a chance that a local process is intercepting the packets. However, if you have that level of malware on your machine, you're probably no better off with the unified architecture since your transaction will be picked up and logged when you send it out to the network anyway.


Ring CT and transactions fee With the future implementation of RingCT, transaction amounts will be hidden.

How will a miner determine if a RingCT transaction includes a sufficient enough transaction fee to be included in a block?

Jwinterm's answer is more an answer to this question, which asked how transaction fees will be calculated after Ring CT. The answer to your question can be found in the Ring CT whitepaper. More specifically in section 4.3, which states:

  As Monero is strongly decentralized (i.e. proof of work) it is necessary to pay miners a transaction fee for each transaction. This helps with the network security to prevent blockchain bloat. These fees must be paid "unmasked", i.e., just as bH, rather than xG + bH, and for some standardized amount b so that the miner can verify that b · H = bH and thus there is enough money for the transaction fee while still having the equations in terms of H so the necessary relations of section 4 hold.


Is it safe to share my key images with other people? Let's say I run a charity that wants to show people how much money comes in and out of my Monero wallet. If I export the key images, is it safe to publish them on my website, or does doing so open up the possibility that somebody may break my wallet's encryption and steal my funds?

Basically, are key images safe to share with the public?

Every fund is associated with its output public key P = x G and the secret key x is ultimately the only thing needed for spending the fund (i.e., for generating a valid signature), just like Bitcoin.

A key image I = x Hash(P) where Hash(.) is a hash function that maps arbitrary data to a curve point, is merely needed to prevent double spending while maintaining the sender's anonymity. If you publish your view key, people can know those public keys P belonging to you, but cannot tell if the outputs are spent or not because key images I cannot be known from P alone. Publishing key images (that are signed with P) allows people to see if the relevant outputs are spent or not, i.e., to know the correct balance. However, it's impossible to know the secret key x from P or I.

So the answer is yes, it's absolutely safe to publish your key images. It just has the intended effect of letting people know the current balance of your wallet, and no one can steal your fund.


Monerod Deterministic build Is it possible to build monerod deterministically ?

If not, is there any technical limitation specific to monero ?

There is no such thing yet, but is a a long wanted goal.

Progress along those lines was made in the last few months, with an automated build system based on Travis, maintained by a contributor under the username 'pigeons'.

I do not know of a timeline for future steps towards deterministic builds, though.


What is the size of the set of spent key images in Monero? For research purposes, I want to know the following:

What is the exact size of the set of already spent key images and how it can be checked? Do we need to download the Monero blockchain to get the size?
Using the is_key_image_spent api, we can check if a key image is a member of the set of already spent key images or not. Can this set be made a zero-knowledge set using some accumulator so that a zero-knowledge set membership or non-membership proof can be given for a particular group element (key image) bypassing this api? Does there exist any accumulator suitable for this purpose?

Thanks in advance for your insights.

Each transaction input has a key image, and there are around 2.1 inputs per transaction on average. So, the 'key image set' is around 2x the number of transactions on-chain.
I do not believe a zero-knowledge proof is currently available, although you may find the description of a hypothetical 'unspent proof' in section 8.1.5 of Zero to Monero 2 is in the right direction.


Can't request balance using RPC I'm trying using C#.
Getting the following error message:

{
    "error": {
    "code": -32700,
    "message": "Parse error"
},
"id": 0,
"jsonrpc": ""

}

Basically doing the following, which should work.
Could anyone shed some light? Been looking at some examples, but can't find the issue.

var values = new NameValueCollection();
values["jsonrpc"] = "2.0";
values["id"] = "0";
values["method"] = "getbalance";

Here's the curl command I use:

curl -X POST http://127.0.0.1:5000/json_rpc -d '{"jsonrpc":"2.0","method":"getbalance","id":"test"}' -H "Content-Type: application/json"

Your JSON seems to be formatted entirely incorrectly, as name=value pairs, so check the library you're using to produce the JSON.


What signature prevents me from spending others' coins? In passive mixing, the monero wallet finds n other parties and forms a ring signature that proves the signer is one of the parties in the ring, and hence entitled to spend from one of the accounts associated with one of the ring parties.

I don't really understand how, say I am B, if I've mixed my coins into a ring with party A, without them knowing, what's stopping me spending money in A's account, as authorised by the ring signature?

If I only sign to the effect of 'I am one of A or B and so move money from either address_A or address_B, then I could correctly prove that 'I am one of Aor B' (because I hold B and b), and move funds from address_A?

What exactly is happening here -- does the transaction come with an EdDSA signature saying that the signer is authorised to spend money from a given address? And if so, how is this blinded so that it won't deanonymise the signer?

For example, if I produce the EdDSA signature then it will be trivial for an eavesdropper to take A and B and see which one the signature verifies against, hence removing the anonymity gained by the ring signature in the first place?

Section 4.4 of CN white-paper describes this. With the ring signature, all the keys used are equivalent, so you can't say which one is the actual signer. The signature can be checked against any of the public keys used in the ring. Let's define our one-time keys as

P = xG

Where P is the public key, x the private key, and G the EC basepoint.

If we let the same key produce two signatures, we would allow for a double-spend. That's where key images come in. The key used must also produce a key image with the signature. Trick is, the key image is a function of only the one-time key so it will be the same regardless of other parameters of the transaction.

I = xHp(P)G

Note that knowing I, you can't recover the P used. The key image also forms part of the signing and all the key images ever used are stored on the blockchain. If anyone would attempt to re-use x, then the resulting key image would be the same, and the signature would be rejected by the network as it would already be found on the 'used' list.

Note that there are no 'accounts' or 'addresses' on the blockchain. There are only one-time keys and key images. An address is kind of a 'blueprint' which lets the sender produce one-time key such that only the owner of the address is able to recognize it as belonging to it and recover the private one-time key.


How do I generate a Ledger Monero wallet with the GUI (monero-wallet-gui)? According to the release notes GUI v0.12.3.0 includes Ledger support. How do I generate a Ledger Monero wallet with the GUI (monero-wallet-gui)?

Before we start, first two notes:

The Ledger Monero App is available for both the Ledger Nano S and the Ledger Nano X.

If you are using Windows or Mac OS X and run active AV (AntiVirus) software, the AV software will likely quarantine the binaries (i.e. the .zip file (Windows) or .tar.bz2 file (Mac OS X)) you download from the downloads page of the official website. To resolve this issue, I'd advise to use this guide.

In addition, we have to ensure that we're sufficiently prepared. This entails the following:
Windows

This guide assumes you have already initialized your Ledger device and thus generated a 24 word mnemonic seed.

You need to run / use GUI v0.17.2.1, which can be found here, on the downloads page of the official website, or on Github.

You need to install the Ledger Monero app.

Your Ledger needs to be plugged in and the Ledger Monero app should be running.

Ledger Live (the desktop application) should be closed.

Mac OS X

This guide assumes you have already initialized your Ledger device and thus generated a 24 word mnemonic seed.

You need to run / use GUI v0.17.2.1, which can be found here, on the downloads page of the official website, or on Github.

You need to install the Ledger Monero app.

Your Ledger needs to be plugged in and the Ledger Monero app should be running.

Ledger Live (the desktop application) should be closed.

Linux

This guide assumes you have already initialized your Ledger device and thus generated a 24 word mnemonic seed.

You need to run / use GUI v0.17.2.1, which can be found here, on the downloads page of the official website, or on Github.

You need to install the Ledger Monero app.

You may have to add some udev-rules. A script can be found here.

Your Ledger needs to be plugged in and the Ledger Monero app should be running.

Ledger Live (the desktop application) should be closed.

Now that we're sufficiently prepared, let's start! Note that the following instructions are general. If anything is OS specific I'll mention it explicitly.

Browse to the directory / folder GUI v0.17.2.1 is located.

Open v0.17.2.1 monero-wallet-gui.app (Mac OS X) or monero-wallet-gui.exe (Windows) or monero-wallet-gui (Linux).

If it tries to open an existing wallet, click on the Cancel button. This will bring you back to the wizard.

On the first page of the wizard, select your desired language.

On the second page of the wizard, you will have to select a mode. There are three modes, namely Simple mode, Simple mode (bootstrap) and Advanced.

In Simple mode mode, the GUI wallet will automatically connect to a remote node and have a simple interface. This mode excludes the need for the blockchain sync and ensures you can immediately use the wallet. However, it weakens your privacy insofar as the remote node will be able to see your IP address as well as associate any of your transactions with your IP address. Besides, using a remote node does not contribute to the strength and decentralization of the network.
In Simple mode (bootstrap) mode, the wallet automatically connects to a remote node whilst syncing your own (local) node in the background. The wallet will subsequently switch to your own (local) node once it is fully synced. This allows you to immediately use the wallet while still eventually using your own (local) node (which is optimal for privacy and contributes to the strength and decentralization of the network). Additionally, this mode has a simple interface as well. This mode is the default and is thus recommended by the developers for new users.
In Advanced mode, you will perform the blockchain sync from scratch (which may take from 10-14 hours (with an SSD) to several days to complete (with an HDD) and requires approximately 75 GB of free disk space) without connecting to a remote node. Advanced mode also contains all features that were deemed as advanced by the developers (and thus were left out of the simple mode). Note that you won't be able to properly use your wallet until the blockchain sync from scratch has been completed. Lastly, Advanced mode allows you to customly set a remote node (in case you, for instance, want to connect to your own remote node).

On the third page of the wizard, choose Create a new wallet from hardware device

Enter a new Wallet name

Make sure the Create a new wallet from device option is selected.

Make sure the Device name is set to Ledger

Go to the next page.

The Ledger will ask whether you want to export the private view key or not. First and foremost, your funds cannot be compromised with merely the private view key. Exporting the private view key enables the client (on the computer - Monero v0.17.2.1) to scan blocks looking for transactions that belong to your wallet / address. If this option is not utilized, the device (Ledger) will scan blocks, which will be significantly slower. There is, however, one caveat. That is, if your system gets compromised, the adversary will potentially be able to compromise your private view key as well, which is detrimental to privacy. This is virtually impossible when the private view key is not exported.

You may have to hit confirm twice before it proceeds.

Your Ledger Monero wallet will now be generated. Note that this may take up to a few minutes. Furthermore, there will be no immediate feedback in the GUI nor on the Ledger.

Enter a password for your wallet. Note: this password is not required / needed to recover the Ledger Monero wallet.

Proceed to the next page, which will provide an overview (note: there will be an additional setup page in case you chose Advanced mode, please see the Addendum).

Press Use Monero.

Congratulations, you can now use your Ledger Monero wallet in conjunction with the GUI.

Addendum: (in case Advanced mode was chosen)
On the Daemon settings page you basically have three options. First, you can simply run a local node. This entails performing the full blockchain sync, which may take from 10-14 hours (with an SSD) to several days to complete (with an HDD). Second, you can run a local node and make use of a bootstrap node. This also entails performing the full blockchain sync. However, this option allows you to immediately use the wallet whilst your local node performs the initial blockchain sync in the background. Third, you can use a remote node, which allows you to immediately use the wallet. Using your own (local) node is most advantageous with respect to privacy and security plus it contributes to the strength and decentralization of the network. It, however, requires approximately 60 GB of free space. Furthermore, performing the initial blockchain sync is quite resource intensive and may cause the GUI to feel laggy / buggy. Although, this can be mitigated by applying this guide. Now, practically speaking, you can choose option 1 by leaving all boxes blank and, optionally, specifying a custom Blockchain location. Option 2 is chosen by entering a remote node (a list of remote nodes can be found here in the Bootstrap node box. Option 3 is chosen by first ticking the Connect to a remote node box and subsequently entering a remote node (to reiterate, a list of remote nodes can be found here.

A few final notes:

I'd strongly advise to test the full process first. That is, send a small amount to the wallet and subsequently restore it (using aforementioned guide) to verify that you can recover the wallet.

The wallet files are, by default, stored in /Users/<username>/Monero/<wallet-name> (Mac OS X) or Documents\Monero\<wallet-name> (Windows) or /home/<username>/Monero/<wallet-name> (Linux).

The .keys wallet file stored on your system contains some settings related to the wallet, your public keys, and your private view key in case you exported it. It does not contain your private spend key. Put differently, the private spend key remains on the Ledger device.

You only have to use this guide once (i.e. upon wallet creation). Thereafter, you'd basically use it similar to how you normally use the GUI. That is:

[1] Make sure your Ledger is plugged in and the Monero app is running.
[2] Open GUI v0.17.2.1
[3] Enter the password to open the wallet.
[4] Optionally export the private view key on the Ledger device.

It's imperative that the closing process of your Ledger Monero wallet is done in this specific consecutive order:

[1] Exit the GUI by clicking on the x (right top).
[2] Exit the Ledger Monero app.
[3] Unplug the Ledger device.

If you have any further questions or need assistance, please leave a comment in this thread.


Monero GUI isn't letting me create wallet from Ledger (monero-wallet-gui) I've seen How do I generate a Ledger Monero wallet with the GUI (monero-wallet-gui)? but the Create Wallet From Hardware option isn't appearing for me.
I've followed the steps in the the linked guide.

the monero ledger app is installed and open
ledger live is closed
I've opened the monero GUI

GUI version v0.11.1.0
Ledger nano S, monero app v1.7.4
Firmware updated
Once I select the language there is no option to create a new wallet from hardware.

Where do I go from here?
GUI hashes verified

This ended up being a forgotten old version of the monero wallet from 2017 which wasn't overwritten when I installed the latest one.  Everything is working now


Can I run monero desktop wallet over Tor? Can I use desktop version of monero wallet https://getmonero.org/downloads/ over Tor ?
I read Web version mymonero.com is rejecting Tor connections. Does desktop wallet work over Tor ?

There are detailed instructions for using Monero over TOR on the project homepage: https://github.com/monero-project/monero#using-tor.

Essentially to use the GUI wallet over TOR, you'd need to have a daemon running on TOR also. Then use torsocks when connecting to the daemon.


How many blocks must miners wait before spending the block subsidy? After a block is mined, how long is the block subsidy locked from being spent?

The Coinbase can be spent after 60 blocks.

See
CRYPTONOTE_MINED_MONEY_UNLOCK_WINDOW


What is the logic behind sc_add? In sc_add (crypto-ops.c) we first load three chars, we mask with 2097151 (loosing information?):

int64_t a0 = 2097151 & load_3(a);

Then continue with something similar, but this time with four chars, starting with one that we already loaded in the last step (?!). And we shift by 5:

int64_t a1 = 2097151 & (load_4(a + 2) >> 5);

Later we shift by other values, like 7:

int64_t a3 = 2097151 & (load_4(a + 7) >> 7);

Why the overlapping? Why the AND'ing / masking? Based on what do we decide how many steps to shift?

Why not just add like 'a' + 'c' = 'd' (and 'z' + 'a' = 'a'), primitively speaking?

It's been ages for me since I last handled bitwise operations, so I'm struggling to see the pattern and logic here. Those shifts for example mostly have me think we're discarding information.

As you can see, I'm pretty much a n00b on this, but maybe someone can lend a hand and get me on the right track?

sc_add - scalar add - is taking two big numbers, which are stored as binary in byte (char) arrays and returning the result of adding them together in another byte array, mod the order of the base point.

The function has to use byte arrays because the largest type for native numbers in C/C++ is 64 bits, hence if you want to add two 256 bit numbers you need to 1) store these numbers as byte arrays and 2) use shifting and ANDing to perform the calculation.

int64_t a0 = 2097151 & load_3(a);

Is taking 3 bytes pointed at by a and taking the lower 21 bits.

int64_t a1 = 2097151 & (load_4(a + 2) >> 5);

Is taking 4 bytes pointing at by a + 2 (so not the same bytes as the previous line), shifting the bits down 5 places and then taking 21 bits.

  Why not just add like 'a' + 'c' = 'd' (and 'z' + 'a' = 'a')

Ignoring the fact that in C that 'a' + 'c' = 'd' is incorrect, the reason you can't just use operators like +,-,/,% is because the numbers we are operating on are too big (as I outlined at the beginning). This, and many other of the crypto functions, are highly optimized math operations on large numbers for 32/64 bit systems.


What does the 'Sweep Unmixable' button in the current version of the GUI do? Can anyone explain what the 'Sweep Unmixable' button does, when it would be used, and what fees are involved with using it?

TL;DR It allows you to 'get rid' of outputs in your wallet which have strange amounts like 0.000006839355, and are unmovable without combining them with another output. However, they are unmovable only if they are non-RCT or came before the 2nd hard-fork. Chances are, new users will never have to use this command.

First, let me explain why they're 'unmixable' in the first place.

Your balance is made up of outputs of various amounts which you've received in the past. Every time you send, some of those get combined together until you reach some amount, which is then sent to the destination, and some change returned to your wallet.

Think of outputs as bills: you received a bill of 40 and 100 in the past, and now you want to pay something worth 120. Your wallet 'burns' the 100+40 bills, creates new bills of 120 and 20, sends the 120 to your recipient and returns the 20 to yourself and you're left with the bill of 20, plus whatever else you already had in the wallet. In Monero, these 'bills' can now be created with any amount (pre-RCT, they had to be round numbers like 10, 1, 0.1, 0.01 ...).

Thing is, Monero combines multiple outputs in a ring-signature, effectively hiding the one actually getting spent among other outputs found in the ring signature. Now, with RCT, you can pick any output for the ring signature because all the amounts are hidden. Before, you had to choose other outputs of the exact same value. This required splitting any amount into multiple outputs with common denominations, but there were always some of them which were unique, like 0.000006839355. There's simply no other like it, so there are no other outputs among which it could hide, and it would have to get spent alone. It's a special case which doesn't benefit from applying ring signatures and thus the special treatment. Because of this, you'd only want to use it once to join it with other outputs. The sweep_unmixable command is there to get rid of those special outputs once and for all (if you actually have them in your wallet, that is).


Which characters are allowed in creating a wallet password? The answer to this probably depends on the spoken language so I'm looking for characters for the English language.

The getchar standard library function is used to read the password from standard input. There is no per character blacklist nor whitelist. This means that any character is accepted. It also means that non ASCII characters are being read as your OS might encoded them. Thus, using non ASCII characters may yield different passwords on different OSes. If you wish to copy a password protected wallet between OSes, you'd be prudent to keep to ASCII characters.


Is there a way to see the total supply of coins? I ask because if there is anonymous transactions how is one (without the Private Key) going to see an address?

The untraceability of the monero blockchain is achieved by the use of ring signatures to sign transactions. The block reward does not have the ambiguity of where those coins came from. They came to existence as the reward for finding that block.

Therefore, it is possible to know how many monero are in existence simply by adding all the block reward (or coinbase) transactions in the monero blockchain.


Will there be security vulnerable if you left your wallet address and password in public? So usually we got no password or x as password but my wallet got an password but since usually there isn't a password for wallet I'm wondering if I left my wallet address and its password in public will there be security vulnerable? Or others can't access your wallet without the secret phase?

The password is used to decrypt your wallet's .keys file.
No one can access your wallet without having this file and the password used to decrypt it.

Alternatively, your wallet could be stolen by someone being in possession of your Restore seed.

Having only your password and your Monero address, nobody can steal your wallet or see the funds "in" it.


How does a wallet using a remote node select ring members? If I'm going to have decoys in my transactions, I need to know about them somehow. How does Monero prevent the remote node I'm connected to from feeding me known ring members, effectively ruining that part of Monero's privacy?

This is indeed one of the problems with using a public remote node controlled by someone else. There is some related information in this answer.

For optimal privacy one should use their own node (whether local or remote).


We are quite new into Cryptonote technology! We are looking for a web wallet! https://github.com/mybtcfx/4xbitcoin

This is our coin based on CryptoNote.
We have made our coin and started mining as well. We have also worked onto our block explorer !!

Now ae are looking toward building a web-based wallet for out miners!

is anyone aware of detailed guide about how to build a web-based wallet for cryptonote based coins?

You could use the same base that MyMonero is using. It's a really nice web wallet.

You can take a look at the source code here.


Monero wallet issue with multiple accounts I have a monero wallet with more than 10 accounts. When I transfer coins from one account to another, unlocked balance does not refreshed for more than a hour.

After that, I entered rescan_bc and it shows only few accounts. When I tried to restore it, it shows again only few accounts, but all the transaction are in the wallet. Remaining account and balance are gone.

Please, can you help me with this issue?

You need 10 confirmations to get balance becomes unlocked, but you should be able to see a new balance (not unlocked) once the first confirmation gets in.

Apart from that, you always need to have your wallet fully synced with the Monero blockchain to get it updated with the newest transactions.


Can you mine on an Ubuntu USB drive using xmr-stak-cpu with no swapfile or swap partition? I have about 90 systems CPU mining on Ubuntu with xmr-stak-cpu compiled. Basically I made a master copy of a flash drive that I compiled xmr-stak-cpu on, configured it, and then cloned it to the other 89 drives using Clonezilla. I've constantly run into errors like 'memory pinned' which I believe are a result of having issues with pages and largepages. None of the drives have swap space as I noted today. This is a weird result of having installed Ubuntu on a USB drive. This could explain the reason why I've never been able to get largepages to not throw errors like that one. I've also had the phenomenon of Ubuntu freezing after about 2 days of mining, even though my pool still reports the system as mining, albeit at an ever depreciating rate.

Any ideas as to if the swap space is really necessary and/or if this memory pinned error is a concern? Could it explain the declining mining rate over time? Would my hashrate improve/stability improve if a swap file or partition was added>?

I'm getting about 1250H/s mining on 4 x E7-8867L Xeons (10 cores, 20 threads, 30MB L3 cache each), which seems quite slow given I can run them with 15 threads each (60 threads for all 4 CPU's on the same system)

Best regards!

Turn hypertheadding off in your bios.  Hyperthreadding is useless on any real number crunching.  I worked for Intel for 3 years and in the seismic industry for 5.  Trust me.  One thread per core on Intel architecture for anything like this.  On the new IBM power processors it is a little different.  Their smt implementation actually works.  Intel hyperthreadding may be useful on desktop applications.  I personally am convinced it is almost entirely a steaming pile of marketing garbage.


How does the CPU RAM affect the hashrate? And does it mean that the bigger the RAM, the higher the hashrate thus boosting your mining speeed?

What you mean is CPU cache, not RAM. In general, the bigger the cache, the better for mining Monero.

You can have as much mining-threads as you like but you need 2 MB cache for one thread. So if your CPU has for example 4 MB L3-Cache, the optimal number of threads is 2. If you have 3 MB, you should use 1 thread.

So all depends on the size of the CPU cache


Are there more cryptocurrencies based on the cryptonote protocol? If so what are the main differences? I read a bit about the history of Monero and how it forked away from bytecoin/bitmonero in 2014. I also remember that there was another currency using the cryptonote protocol called "Boolberry" at that time. Right now cryptonote appears to be a Monero exclusive, though I know that's most likely not correct.

So what's the status of other dead/alive cryptonote implementations? Are there other actively developed currencies based on it? If so what's their name, purpose, main differences... ?

There are many other CryptoNote coins but their communities, usage, trading volumes and hashrate are much smaller than Monero. Here is a chronicalogical graphic of many of the coins and from where they were forked:
https://en.wikipedia.org/wiki/CryptoNote#/media/File:Forks-tree-fixed.png

You mentioned Boolberry, which like Aeon was an innovator in the area of pruning. Boolberry was popular early because (in addition to pruning) it was the first CryptoNote coin with a working (but very basic) GUI. Its developer has been inactive for some time. Aeon has a visible lead developer (smooth) that is also a Monero core developer, so Aeon has received far more attention than Boolberry recently.

Many CryptoNote coins appear to have been created by the same parties:
https://bitcointalk.org/index.php?topic=740112.0

Measured by Bitcointalk activity, I would estimate the most active CryptoNote communities are currently:

Monero (XMR) largest community (RingCT, LMDB, OpenAlias, tail emission, etc)
Aeon (AEON) (pruning, focus on low memory footprint)
Boolberry (BBR) (pruning)
DigitalNote (XDN) (PoA development following multiple name changes)
Bitcedi (BXC) (XDN fork with slower emission)
Bytecoin (BCN) (First CryptoNote, compelling evidence of fake creation date)
Dashcoin (DSH) (automated BCN fork without huge "premine")
Pebblecoin (XPB) (PoS)

All have operational blockchains and varying level of developer activity or complete absence of activity.


Is the tx-extra field publicly visible? If I put something in the tx-extra field of a transaction, will it be publicly visible and unencrypted?  That is, anyone can see it on the public view of the monero transactions?  And I assume the tx-extra field content can be of any length?

Yes, tx-extra can be of any length, as long as the transaction as a whole is not too large to be accepted into a block.

Only the parts of tx-extra that need to be encrypted are encrypted. For example, the transaction public key does not need to be encrypted, so that's just directly in tx-extra. But (the newer style) payment ids do need to be encrypted, so they are encrypted with the transaction shared secret that only the sender and recipient will know, before being put into tx-extra.

If you want to create your own tx-extra subfield and put sensitive information into it, then you'll have to decide for yourself how to encrypt it. If it's a bunch of text, then you'll need some kind of stream cipher. Perhaps use TweetNacl https://tweetnacl.js.org/ to encrypt what you need to store.


Are the target key, k_image tx pub unique? Are the target key, k_image tx pub unique and no repetitions in all blockchain?

Yes, they are unique - see this answer.
I = xHp(P)
As x and P refer to one-time keys, and that the key image is used to determine if an output is spent, they have to be unique (thus only appear once in the blockchain).


I need a manual how to mine aeon with daemon Where can I find a manual or a guide that explains how to mine aeon with the daemon? What alternatives are there to mine aeon?

Using the daemon you can solo mine, and it's quite simple. Just sync the daemon, open and sync your wallet, then type:

 start_mining <number of threads>

Except replace  with the number of threads you would like use, probably 2 or 4.

You can also do it without even starting the wallet, just the daemon as described here: How to solo-mine Aeon?


Are 12 word wallet seeds safe? I understand 12 word seeds mean there is 128 bits of 'security' but what does that mean? Would i need to worry about this being brute forced? If it was brute forced would having to scan the blockchain for every attempt not make that impossible/take forever? thanks guy

See here for considerations on security.

Note that it is only partially true that brute forcing would involve having to scan the blockchain for every attempt. If you're doing a random search to find some random address with a balance then yes, you need to scan the blockchan for each to know whether you've hit the jackpot. If you're doing a targeted brute-force against a known address (or a list of them) then - no. This is because just rolling the seeds until the resulting address matches is enough. To actually see the balance, you'd still have to scan, though.


GUI Wallet History Intact but Zero Balance? I'm encountering a new problem with the GUI wallet. I have not yet gone through the process of trying to restore the wallet from seed and hope I don't have to. At one point today, I looked at my wallet which should have several coins in it. The wallet had been open for a couple of hours so I don't know exactly when and how this problem began. All of a sudden, the wallet was showing a zero balance. The first thing I did was panic. Then I decided to check the history. The history is intact and does not show any withdrawals today (nor should it). I stopped the daemon (it was fully synced), closed the wallet and re-opened it. No difference, still a zero balance. Can anyone tell me what likely happened and the best way to fix it (hopefully short of recreating it from seed)? Thanks very much.

PS- After reading another thread I decided to delete the wallet cache. Unfortunately that didn't solve the problem.

Unfortunately the only way to trace what happen to your balance is through command line.

First, check if you are fully synchronized by typing the following command in the monerod.(The black window with many text showing)

  status

The next thing you can do is open the CLI wallet. It's the "monero-wallet-cli.exe"

Try running the following command

  rescan_bc

Also you can use the following command if there are transfers out/in

  show_transfers

Lastly, if all failed try deleting your blockchain(It is in C:\ProgramData\bitmonero) and synchronizing again using the latest monero here https://getmonero.org/home. Remember always backup your seed/keys before doing so.


getmonero.org - Linux 32-bit CLI wallet When I want to install the CLI wallet I can't the GUI because it's only compatible with the 64-bit. I get this error: monerod: cannot execute binary file: Exec format error

Is the 32 bit version below still compatible?

Current Version: 0.15.0.5 - Carbon Chamaeleon
https://downloads.getmonero.org/cli/linux6432

Release binaries (including Linux 32-bit) are available here: https://github.com/monero-project/monero/releases

There are also 32-bit Linux binaries linked here: https://web.getmonero.org/downloads/#cli


How can one query the blockchain's database? I realize that LMDB is very different from your typical SQL database, but is there a query language, or scripting language interface, that can be used to query the blockchain's database?

I am aware of this question on displaying the output histogram via a feature of monerod. Although, when trying that my daemon crashed. I would like to do something similar from a script.

If you're using python, the py-lmdb module includes a basic CLI. http://lmdb.readthedocs.io/en/release/

Keep in mind that you'll be getting raw data back, not anything in a human-readable format.


Do you think Monero Payments are ok? I'm not sure if a website that pays their users Monero can be trusted.

Zagtor is mining different coins each time and paying daily their users according to the hashrate. As a fan of Monero, I think it is a good idea to get XMR, but how can they prove that the payments are made?

I'm sure this reasoning is along the lines as saying:

I think my employer can't be trusted. I get paid, but they don't allow me to see my colleagues pay checks.

The important thing is to know is your hash rate. Try a few open source variants to get a base line average of your hashing power. Use available mining calculators such as this one to know what you can expect. Depending on the payout scheme this may not always be accurate, but it is a start.

Lastly, read reviews on mining pools. Try some out for a week or two to see where you make the most coin.

They can certainly prove they paid you if you didn't receive the funds. More info here


How would the privacy of monero be affected by a quantum computer? So I was wondering, if say a quantum computer is ever made could it be used to break the privacy of past transactions?

Would that mean at that someone could just work though the blockchain and De-anonymize everyone who's used monero?

Yep, using Shor's algorithm for finding the discrete log would allow the person in possession of a quantum computer to find every x used in a key image x.H(R) (not immediately, but in a feasible amount of time), and hence know exactly which accounts are linked by transactions.

There's actually a bigger issue than deanonymising all the transactions if quantum computers become a reality in the near future though -- Schnorr signatures and EdDSA are both based on the hardness of the discrete logarithm problem, which means an adversarial actor with a quantum computer will be able to compute your private key from any signature you produce, and attempt to spend your funds before your transaction is accepted into a block, or some other similar attack :(


How can I recover a wallet using the mnemonic seed? If I lose my wallet.dat file how can I use my mnemonic seed to recover my wallet?

Is the recovery procedure different depending on which Monero wallet I used to create it?

Right now there are two primary ways to do so:

Go to the folder containing monero-wallet-cli and run "./monero-wallet-cli --restore-deterministic-wallet", entering your mnemonic seed when prompted. NOTE that this will simply restore your wallet keys. You will still need to scan a blockchain (either your local blockchain or a remote blockchain) to see your balance and make transactions.
Visit mymonero.com and simply enter the seed in the login box.  You will be given a notice that importing your seed will cost you 1 XMR (recently lowered from 10 XMR because of the increase value of Monero) mymonero service has to scan the entire blockchain, but going through this method requires no prior setup.


Standard Address from Integrated Address I am new to Monero, so I am just learning about Integrated Addresses vs. Standard Addresses.

I understand the difference between the two formats (an Integrated Address incorporates a Payment ID, which enables the recipient to determine who sent the funds).

I also understand that an Integrated Address can be generated algorithmically by combining a standard address with a payment ID.

However, it seems a common problem that I've run into is that various online services provide you with an Integrated Address, but certain cryptocurrency exchange platforms (such as Changelly) only accept Standard Address (at least for now).

So, my assumption is that it is safe to simply use a tool to programmatically derive the standard address from an integrated address.  I use https://xmr.llcoins.net/addresstests.html and paste the Integrated Address into Box 8 and click "Check Address".

Then it generates a Standard Address in Box 15.  I am assuming it is safe to transfer funds to the generated Standard Address, and the new funds will then show up in the wallet associated with the Integrated Address.

Again, I assume this, but am not sure.  Since making a mistake here will cost time and money, I am asking this question to make sure my understanding is correct.

Can I simply send funds to the Standard Address (generated in Box 15), and expect those funds to appear in the wallet associated with my Integrated Address?

As you have learnt, an integrated address is just a standard address with a payment ID, and yes, you can use tools like xmr.llcoins.net to extract the standard address (box 15) and payment ID (box 10.3) from an integrated address entered in box 8.

  Can I simply send funds to the Standard Address (generated in Box 15), and expect those funds to appear in the wallet associated with my Integrated Address?

This depends. If the wallet associated with your integrated address is an exchange wallet (or any other type of 3rd party custodial wallet), this means the exchange expects the payment ID. Therefore, it is fine to send to the standard address so long as you also provide the payment ID. Almost all wallets provide the option to specify a standard address and separate payment ID. However, in this example, sending to the standard address without supplying the payment ID, is probably not a good idea, as the exchange clearly needs the payment ID for however they have implemented their accounting.

This is why there is a clear warning on that tool:

    Note: box 15 is for informational purposes only! Do NOT use the address in 15 unless you know what you're doing!!

In any case, you should think long and hard about what exchanges or services you are using when they are custodial wallets. The phrase "Not your keys, not your coins", comes to mind. If you have the wallet keys, you can safely receive funds to the standard address without a payment ID.

  I also understand that an Integrated Address can be generated algorithmically by combining a standard address with a payment ID.

Correct. See this answer.


Recover XMO. ltc-xmo through changelly but in XMR wallet So I Brought XMO thnking it was XMR on changelly and sent it to my XMR gui wallet i've contacted them they've said there's nothing they can do.

INPUT TRANSACTION HASH  9ef0d7abc97ae5460237b22809b55d255114bcf13cf84f6d1ea9e54f3bd981d6
AMOUNT  0.39838761 LTC
MONEY RECEIVED  21 May 2018, 14:26:54
FEE 0.121412592764 XMO
EXCHANGE RATE   1 LTC = 15.54281793 XMO
RECEIVER    42h2DQ7syPoZzc3b7BvCfzBoZrCqGBwamYWQQRjGeLgAHUuGeBU4rvu8cGzhSfooAxiDHkNdXmtATN1jvnd5X7EJPq3Yc27
OUTPUT TRANSACTION HASH 054be4b75828d9ca98da47cd3c3e898e1023d8bf9b5cc7852a5d2dc410befbc8
AMOUNT  6.16110576 XMO
MONEY SENT  21 May 2018, 14:47:10

I've tried renaming the gui folder like the guide but i'd done that before for another problem so this time didn't seem to reset the wallet. Is there a different way to re-set the wallet? Can I have XMO in my XMR wallet? I saw something about syncing to a different blockchain or something. Help would be great thanks.

The transaction is present only in the XMO blockchain, not in XMR blockchain. You can't get XMR with a XMO transaction.

The upgrade guides won't help you since the cases tackled by those guide is for (1) outbound transaction mistakenly sent in XMO chain when it's meant for XMR, and (2) inbound XMR transaction not showing in wallet due to wallet syncing with XMO chain. You are asking for an inbound XMO transaction (post-fork) to be shown in XMR wallet. Since the transaction is not present in XMR chain, there is no way for you to receive XMR in this way.

Your best bet is to get a reputable exchange or cryptocurrency converting service that will accept XMO (or XMC; They are the same thing), and sell them for XMR. (That is, if you can find a reputable exchange for XMO at all; XMO is shady all along) You still need to download an XMO wallet to send your XMO out. Official XMR wallet v0.11.1 (Helium Hydra) theoretically works but I have never tried it.

And in case you still haven't realize, avoid Changelly.


GUI pull request to build and install monerod Until now users wishing to test the upcoming GUI had to build from source. Following these Monero development stalker instructions, I just noticed a new pull request which excited me.
Some relevant lines provide clues to its meaning:

+MONEROD_EXEC=monerod
+# Build libwallet if monero folder doesnt exist

There are also some 32bit specific lines:

+# Build monerod
+# win32 need to build daemon manually with msys2 toolchain

Does the above mean that soon the GUI will not require manually compiling monerod from source (with a win32 exception)? Is this pull request is indicative of something very late in the (pre-release) development lifecycle?

GUI daemon manager is recently merged into monero-core. I.e you can start/stop local daemon from GUI. This PR basically means that monerod is getting built when you build the GUI. Unfortunately win32 still requires some manual work.


How much energy per transaction? Assuming a fee of .033usd per transaction and an average energy cost of .141usd per kwh, it takes .033 / .141 =  .234kwh for one transaction.
Another way to calculate it is if there are 17921 transactions in 679 blocks in the last 24 hours, that's 26.4 transactions per block. The difficulty at time of writing is 223130858736, which means that it takes 22kwh for one transaction assuming a Ryzen 5950x at 21000 hashes per second drawing 200 watts .2*223130858736/26.4/21000/3600
That's a pretty big discrepancy...
Looking at the block reward, 198.92usd / 26.4 transactions / .141usd per kwh = 53 kwh
Are there any other ways to calculate the energy cost? Am I forgetting to factor something? Which method is most accurate? Will the energy cost change? If so, how and why?

The difficulty number isn't helpful to your calculation.  Let's try this way:
The total network hash rate is 1.78GH according to https://monerohash.com/# on Jan 14th 2021.  Let's say your Ryzen is getting 21,000 hashes per second at 200 watts.  The network runs on a much more diverse set of CPUs than this fancy chip, but just to arrive at a number... that's 1,780,000,000 hashes/sec / 21,000 = 84,761 Ryzens.  At 200 watts each, that's 16,952,200 watts.  At 0.10 USD per kWh, the network burns $1,695.22 per hour just to secure itself.  With blocks at the regular 2 minute frequency, 30 blocks per hour, that's 1,695.22/30 = $56.50 per block in electricity.
At our current transaction rate of about 900 transactions per hour, that's a nice round 30 transactions per block, so about $56.50/30 or $1.88 in electricity to do a single transaction.  Of course, blocks can get much bigger, and we could scale up to many more transactions for the same amount of energy.  It's probably best to just stick with the high level total hash rate divided by hashes per second of a reasonably efficient chip.
This estimate is probably low because the network is surely not using Ryzen 5950x's by and large.


Build/Install Instructions for MyMonero App on Android using node/npm I would like to test the MyMonero App on Android in its current state of development.

Please provide instructions for how to use node/npm to build the app and install in on Android. Assume I have a new Android phone I am willing to use solely for this purpose. Therefore I am not concerned about data loss or usability of my phone for anything other than MyMonero.

There are instructions in the Github repo:

https://github.com/mymonero/mymonero-app-js/blob/master/docs/PRODUCTION_BUILDS.md


Should I run my Monero Node on Linux, Windows or macOS / OS X? I am a complete novice when it comes to running Monero-related software, and have only used MyMomero and Exchanges thus far.

I now intend to dive into this area, and set up my own Monero Node.

As I do not have any spare computer I can use for this, I will have to acquire one first.

And now for the question; which operation software would be easiest to use when setting up a Monero Node for the first time?

Linux, Windows or macOS / OS X?

If you run the provided binaries, it should be the same on all platforms, whereas if you plan to build from source, it's easier to use docker.
I find it easier to use docker on linux over windows because there is no need to add a port forwarding to the VM.

BTW, you don't need a dedicated hardware. Once the blockchain is fully synced, it doesn't consume much ressources.


If I delete the .bitmonero data.mdb, will it delete my wallet or the ability for me to access my wallet? My .bitmonero/lmdb/data.mdb takes up too much space on my computer, and I'd like to delete it. If I do that, will it cause problems accessing my wallet?

No, deleting data.mdb will not delete your wallet.  The data.mdb file is the blockchain.  Deleting it does not affect your wallet.

Your wallet has a name of its own.  You'll know what it is because it has at least one sister file that holds its keys.  In other words, you'll know what "your_wallet" is because you'll see your_wallet and your_wallet.keys (and maybe your_wallet.txt).

A blockchain and its daemon are needed to be able to update your wallet and send funds.  If you delete the blockchain, it implies you're happy sacrificing some level of privacy in favor of saving the space and related minor benefits.  The privacy sacrifice is because you'll be forced to use a remote node.  There are other posts on the Stack Exchange that explain the implications of using a remote node over your own node.


Does the --hide-my-port option reduce traffic? While trying to maintain a local full Monero or Aeon node with limited bandwith available, does the --hide-my-port option reduce traffic (even if no port forwarding is enabled at the router)?

The --hide-my-port option is used to prevent incoming connections of peers to your node, which would reduce traffic if your node could receive incoming connections.

But if your node is behind a router without port forwarding, it already can't receive incoming connections, therefore the --hide-my-port option won't have any extra effect on traffic reduction.


The exception unknown software exception (0x40000015) occurred in Monero Wallet I have ~6.5 Monero coins stuck in this wallet ... I get this error plus and error that says the Daemon isn't working.

I have no clue what's going on or how to fix this problem.
I'm on v12.2(not 12.3 command line).
I've left it overnight and re-installed the wallet. But it still won't synch with the blockchain.

1) I don't think it's a virus because two of my machines are seeing the same problem - one is a sandboxed machine that doesn't really touch the internet. so unlikely this is the issue.
2) I'm running windows 10
3) Haven't had issues prior to 2 weeks ago (but the same issue occurred with v12.0 so I upgraded to 12.2 and still the Daemon doesn't work)

Any help is greatly appreciated.

Firstly use the latest release 0.12.3: https://github.com/monero-project/monero-gui/releases

Also, as dEBRUYNE mentioned in a comment, try running as administrator.


Privacy implications resulting from lack of xmr.to multiple output function When sending Monero the confidential transaction feature of RingCT hides thetransaction amount. Is there a privacy leak with the current xmr.to setup that weakens that claim?

Assume an online electronics vendor is selling televisions for 0.092 Bitcoin each. Monero users would send that equivalent in Monero to xmr.to which would forward 0.092 BTC immediately (orders up to 0.1 BTC will be sent out instantly) to the electronics vendor. Depending on the block in which the Monero was sent, there may only be a small number of Monero transactions, one of which we know was for exactly the Monero equivalent of 0.092 Bitcoin.

Is the above analysis correct? If so, could the problem be mitigated by modifying xmr.to so that it could send to multiple Bitcoin addresses at once and/or also make (partial) Monero refund transactions? Transaction amounts of the incoming Monero payments would appear harder to match with < 0.1 Bitcoin outgoing transactions with this modification.

Let's say it is possible to guess the exact Monero transaction on the blockchain that resulted in the corresponding Bitcoin transaction.

That would not constitute a significant privacy leak. No one can know your Monero wallet address or even which outputs you were actually spending.


Monero distribution estimates With no rich list estimating the distribution of Monero is difficult compared to other currencies lacking the privacy properties of Monero.

Are there an published reports of estimated Monero distribution patterns?

If so what are those estimates, and what criteria was used to create them?

Is there enough data to assign a statistical probability to a min/max threshold of the size of the Monero community and the number of wallets over a certain size?

As stated in your question, precision in answering this impossible. The most detailed estimate I have seen is from almost 3 years ago and updated 2 years ago.

Based on the continual growth of all community metrics such as bitcointalk metrics, Reddit subscriptions, network hash rate, node count,
 transaction data and development activity the userbase has grown by orders of magnitude since 2014.

Assuming a similar distribution to 3 years ago and some partial divestment of some of the largest holders for diversification or other reasons I think possible distribution estimate would be a 20x multiple of Case "A" 2014 estimated users (approximate increase in r/Monero subs between then and indirectly supported by MyMonero account numbers much higher than r/monero subscriptions according to fluffyponyza).

Assuming there are now 20x the 2014 estimated (5,200) we are now looking at about 104,000 users. Only July 20th 2014 when the original estimate was made there were about 2.2 million XMR and today there are about 14.5 million XMR. (14.5/2.2)/20 = a mean XMR holding of around 1/3 the mean size from 2014 (to accommodate a balance between 20x more users and the increase in total XMR supply. This means that although there are many more Monero users now compared to 2014, the additional users (and previous users that have since redistributed some or all of their coins) will now be more heavily weighted towards smaller sized average holdings.

Based on the above, mean XMR holdings may be about 140 coins (total current supply/estimated users) with a very large margin for error.  There are likely to be very few "Leviathans" with the great majority of users being "herrings" based on user growth and reasonable redistribution estimates.

Many users never use Reddit or MyMonero and instead rely on the official CLI for which download counts are not recorded. On the other hand some people may have multiple MyMonero or Reddit accounts, making those numbers unreliable as well. Because Monero is so private, we will never know for sure what the exact distribution looks like.


Coming from bitcoin, are there change address with monero? In bitcoin when you send your coins, your technically sending everything and it comes back to your change address. Does monero have the same concepts of a change address, because I see that in monero you only have 1 address that is reusable without impacting privacy.

No.

Well, kind of. There will be a "change output" but it's not your address. In fact, Monero address works as an instruction to create many unique one-time public keys which actually holds the funds. Your wallet address never appears on the blockchain.

Each of those unique one-time public keys has a corresponding unique private key (which you can recover using your wallet's private spend key). THOSE work similar to Bitcoin address. So, when comparing with Bitcoin, it would be as if someone followed some instruction to generate a new Bitcoin address for you, sent the funds there, and you can auto-magically recover the private key and the sender can't :)

When spending, you're actually spending those one-time public keys. If, for example you have one of 10 XMR and one of 2 XMR, and want to send 11 XMR, the TX would create 2 brand-new one-time keys, one of 11 XMR for your recipient, and one of 1 XMR back to your wallet. Without some secret key, nobody is able to tell to which address those newly-created one-time keys belong.


Complete extra field structure (standard interpretation) The documentation on transactions' 'extra' field is spread out and not completely clear. This is the original cryptonote description. Here is a different question that reveals some more of the concepts.

I would like to devote this question to listing all information about the 'extra' field, and its standard interpretation and implementation in core software v0.15.x.x. In other words, how is it stored in transaction data, and what are the rules and assumptions/conventions surrounding common tags (i.e. how the field gets parsed)?

0x01: transaction public key...

Incorrect. 0x01 is a public key. Not specifically a transaction public key. The wallets may stuff other public keys in extra, as an example, for multi-sig needs.

  Open question(s): If e.g. there are two transaction public keys with tag 0x01, how will the core implementation interpret this?

Tag 0x01 is not defined as "transaction" public key, just as public key. Thus, when anything needs the transaction public key, it has to try each public key found in extra until it finds one that works for them.

  Will it ignore the first, or second one, or try to use both of them? What about other tag multiples?

No. The field extra is essentially freeform. You don't even have to tag data in it, this is just how the wallets are using it. Therefore anything that depends on data stuffed into extra has to deal with this fact - the core wallets included.

  ...merge mining tag, how does this one work?

It's not currently used by anything (that I'm aware of at least).


Tail emission in Aeon Tail emission in Monero is implemented in cryptonote_basic_impl.cpp, but I don't see it in Aeon's counterpart.
Will it be added to Aeon in the future?

There appears to be a community consensus for an AEON tail emission based on what I have seen on Bitcointalk, Reddit and IRC. I think most AEON users consider tail emission to be part of the AEON roadmap. Other users at various times have had the false impression that it has already been implemented. However its implementation has not yet formalized or codified.

One proposal being considered by AEON core developer Smooth is described as follows:

  Once the base reward declines below 0.3/minute, then reward will switch to inflationary at a target rate of 0.8888888....%/year (actual rate may deviate slightly in practice due to variations in block rate, block reward penalty, rounding, etc.)

The above proposal is similar but not identical to the system used by Monero where the reward is set to a pace of 0.3 XMR per minute (.6XMR per block with an average block time of 2 minutes).


Is this Monero python implementation complete & trustworthy? I am trying to develop a variant of Monero.
Considering the size and the complexity of the original Monero implementation in C++, I figured it might be easier fork this Python implementation of Monero.
How complete is it?
Can I test things on it (like using the Monero testnet)?

Thanks

The linked project is not a "Python implementation of Monero". It's a module with a set of tools for interacting with the Monero daemons / wallets amongst other utilities.

From their docs:

  The aim of this project is to offer a set of tools for interacting
  with Monero cryptocurrency in Python. It provides higher level classes
  representing objects from the Monero environment, like wallets,
  accounts, addresses, transactions.

Therefore you cannot use this as a basis to create a "a variant of Monero".


Where is the Monero blockchain stored on Linux build? I'm a Linux newbie and I don't know where monerod is storing the blockchain.

The blockchain is stored in $HOME/.bitmonero

For testnet, it'll be in $HOME/.bitmonero/testnet

You can select a different directory with the --data-dir option if needed, eg:

./monerod --data-dir /var/tmp/monero


Do you have to download the entire monero blockchain when using the core wallet? And how big is it? As of July 2017, how big is the monero blockchain download and do you have to download the entire thing?

Blockchain size: Blockchain size on hard drive?

By default - yes. Although, you can use remote nodes to sync the wallet:

What is a remote node?

How much information is passed from the daemon to simplewallet when scanning for a wallet's transactions?

There's a way without having to download the blockchain but it comes with a trade-off: you need to give your viewkey to some service and then it does the scanning for you.

How does mymonero web wallet work?

Centralization of users around such services comes with some risk:

How can Monero defend against a "majority of view keys" attack?

That's why the plan is to bake-in the backend to the official release, and enable anyone to run his own back-end (like, you let your PC be synced, and hook your mobile to it).


Can we practically compensate full nodes Is it practical to compensate full nodes in the Monero network? The nodes that aren't mining

The primary issue with non-Proof of Stake methods is the sybil attack, but requiring full nodes to already have a minimum amount of XMR mitigates this via attrition.

As for what these staked nodes do can be anyone's guess. Perhaps only staked nodes are eligible to issue assets once MoneroAssets are possible, but getting them compensated from the block reward or other issuance schedule would promote both scarcity and network security.

Despite the dubious utility of masternodes in the dashpay network, it has achieved scarcity and demand for the token, and I think the core concept can be replicated before being outright dismissed

The short answer is no, at least not safely.

Something we've discussed before is for full nodes to (completely optionally) include a donation address in their handshake, with separate addresses on clearnet and i2p (to prevent fingerprinting). Then when a wallet is building a transaction it can ask the daemon for a random donation address from the list of outbound nodes it is connected to, and include a tiny fee (say 1/2 or 1/4 of the transaction fee) paid to that address.

Because this is opt-in approach where not everyone lists an address and not every wallet participates in donating, such a scheme doesn't run the risk of over-incentivisation. The reason that over-incentivisation is bad is that it will lead to abuse of the system - an attacker will run thousands of pseudo-nodes on a VPS just for profit. This donation-driven, opt-in system, on the other hand, should allow full node users to cover their electricity and bandwidth costs as the cost in running a full node scales to Bitcoin levels.

The other nice thing about this is that we can always just nuke the functionality on the wallet side if it starts getting abused.


Why is mymonero.com blocked when using the Tor Browser? When trying to access mymonero.com via the Tor Browser I am redirected to another site that says blocked.mymonero.com. When one of the main purposes of monero is to establish anonymity, why is access to mymonero.com being blocked? I recognize that one could use a VPN, but Tor and a VPN should not be mutually exclusive.

According to site operator fluffyponyza there should be an error message that explains this:

  The site you are visiting is NOT the real MyMonero! Please make sure that in future you type mymonero.com into your address bar, and don't click on links to visit the site. Note that you may also see this message when trying to access MyMonero on Tor, as impersonator sites try and use Tor to reverse-proxy to MyMonero.

Eventually Mymonero will offer 2 solutions that will work with tor:

An onion site
A downloadable client based on MyMonero code

Until then the error is provided for your protection against hackers:

  that use attacks like POODLE. That's not even counting things like sslstrip + a lock favicon, or URI Unicode hacks, or a sophisticated attacker leveraging a compromised or malleable CA. TLS over Tor is safe only if you verify the fingerprint, or use something that secures it such as DANE (which is largely unsupported and hardly deployed).


Is there a minimum effective mixin? I understand that as of the last hard fork, the minimum mixin has been changed from 0 to 2.  However, is this an effective baseline? Or is there a higher selection that users can or should choose that would ideally guarantee a private transaction?

There can be no such thing, because "private" is not well defined. Even if you were to ring sign against every single other output on the chain, everybody doesn't use Monero, right ? Moreover, there is a difference beteen untraceability and unlinkability, and more (tracking first relaying node, etc). Different facets with different solutions.

Generally, the higher the mixin, the larger the anonimity set. However, when you start getting into the less used mixins, such as 73 or 352, two transactions using mixin 73 will be likely to be sent by the same wallet. This may be an argument for quantizing mixin values.

As an aside, the wallet default mixin is 4, which provides more privacy than the bare minimum allowed by the network.

It is probable that minimum mixin will be increased in one of the next few forks, since this was one of the recommendations of https://lab.getmonero.org/pubs/MRL-0004.pdf.


Is it possible to build a BitcoinJ style library that will help enable lightwallets? As I understand it, lightwallets are inherently difficult for CryptNote currencies because the wallet has to scan every block in the blockchain. This  means they can't just request block headers to verify the chain and use bloom filter requests to request certain blocks with their transactions. Is this correct?

What is the best case scenario for an SPV style library then?

If a user is importing an older wallet will they just have to scan the entire blockchain? Or, can they sync all headers then just request the blocks they need using bloom filters or a similar technique?

I've heard some discussion about workarounds to allow sending txs from a lightwallet (request a random subset of TX outputs to be able to mix with). However, I'm more curious about how difficult and what limitations exist with regards to just syncing a wallet in SPV mode.

As an aside, MoneroJ would be an excellent name for a Monero Java library.

Basically yes, a wallet has to scan every block in the blockchain to see if any transactions belong to it.

When importing an older wallet, it only needs to scan from the last block known to that old wallet, forward. Depending on the age of the wallet this may be much less than the entire blockchain.

The new wallet code is much faster now because it can just sync block headers for ranges that the wallet doesn't care about. (A newly created wallet can be synced in seconds, instead of hours.) But for ongoing use of an existing wallet, you still need to scan every new block. Being more selective of individual blocks or block ranges could leak information to the server about your identity.


Monerod rpc method getblock - blob data https://getmonero.org/resources/developer-guides/daemon-rpc.html

Using the monerod json rpc, we can get the blob data for a specific block.

curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"getblock","params":{"height":912345}}' -H 'Content-Type: application/json'

blob data returned for that block:

"blob": "0102f4bedfb405b61c58b2e0be53fad5ef9d9731a55e8a81d972b8d90ed07c04fd37ca6403ff786e0600000195d83701ffd9d73704ee84ddb42102378b043c1724c92c69d923d266fe86477d3a5ddd21145062e148c64c5767700880c0fc82aa020273733cbd6e6218bda671596462a4b062f95cfe5e1dbb5b990dacb30e827d02f280f092cbdd080247a5dab669770da69a860acde21616a119818e1a489bb3c4b1b6b3c50547bc0c80e08d84ddcb01021f7e4762b8b755e3e3c72b8610cc87b9bc25d1f0a87c0c816ebb952e4f8aff3d2b01fd0a778957f4f3103a838afda488c3cdadf2697b3d34ad71234282b2fad9100e02080000000bdfc2c16c00",

block hash for that block:

"hash": "e22cf75f39ae720e8b71b3d120a5ac03f0db50bba6379e2850975b4859190bc6"

I think the blob is made up of the blockheader, nonce, Merkle root hash and size of transactions.

Using get_block_longhash from https://github.com/monero-project/monero/blob/960886aa04f0b50265884c0d4338031a93b1bc5d/src/cryptonote_basic/cryptonote_format_utils.cpp#L883

Can we hash that blob manually, which should yield its block hash?

Also what's the difference between the getblock method blob and the getblocktemplate method blocktemplate_blob ?

The block header or block isn't what is being hashed.

The block header contains versions, timestamp, coinbase tx, and other ancillary info.

The block contains the header, as well as a list of transaction IDs.

The block hashing blob, which is different contains the block header plus the number of transactions and the Merkle tree root (ie, not the whole set of tx ids). That is what is being hashed for PoW.

getblocktemplate gets you the block hashing block in the blockhashing_blob field.


How do you run the official GUI? The pull request for the official GUI was recently merged. How do you get the GUI running?

The instructions linked here will get the non-official build up and going on Ubuntu i386.

https://www.reddit.com/r/Monero/comments/4yp52w/super_simple_build_instructions_for_the_monero/

# Early Monero-GUI setup and build instructions:

# For best results, I used Oracle's VirtualBox to make a virtual machine and loaded a fresh install with the latest Ubuntu 16.04 i386 iso. **NOTE** Be sure to have at least 15-20gb allocated for space on the virtual drive, and no more than 3gig of RAM for the VM (as for me it crashed with more than 3 gig of RAM).

# Ubuntu 16.04 i386 Monero GUI Install instructions (these are the exact instructions and links I used. The VM was set up on a Windows 7 installation)

# grab a copy of virtual box and follow the install instructions here http://www.psychocats.net/ubuntu/virtualbox , and
# grab a copy of Ubuntu's latest iso if you don't have it yet, http://releases.ubuntu.com/16.04.1/ubuntu-16.04.1-desktop-i386.iso.torrent

# after Ubuntu is installed and running, go into the command line and run these commands...
# update Ubuntu's repository
sudo apt update

#install git to download latest Monero source code from github
sudo apt install git

# install bitmonero dependencies to be able to compile Monero, taken from here: https://moneroexamples.github.io/compile-monero-09-on-ubuntu-16-04/
sudo apt install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev

# go to Ilya's repository where the most recent version is (you can run this while the previous command is running)
git clone https://github.com/mbg033/monero-core.git

# go into the repository
cd monero-core

# use the script to make sure everything is in order and compile the bitmonero libs necessary to run the GUI
./get_libwallet_api.sh

# install the GUI dependencies (this can be run while bitmonero is being compiled with the previous command)
sudo apt-get install qtbase5-dev qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-xmllistmodel qttools5-dev-tools qml-module-qtquick-dialogs

# build the GUI
qmake
make

# To run the GUI, don't forget to have a bbitmonero client running in the background for the GUI to talk to, it's probably not necessary to have an updated blockchain, but if you have one on hand you can load into the machine it certainly won't hurt. The GUI should run without the node, but you still must follow all the steps listed, so this command is optional.
./bitmonerod --rpc-bind-port 38081

# go to the directory where the compiled client is
cd /release/bin

# run the GUI client
./monero-core


Why is it necessary in confidential transactions to have two generators? So as i understand it (though im not sure if its the same w/ bulletproofs so please correct me if im wrong), a commitment is generated like this;

commitment = (blinding_secret . G) + (value . H)

where G and H are both different generators on the same curve. But why is it necessary to have the second generator, H, instead of just using G twice?

Normally C = xG + aH where a is the amount and x is the blinding factor.

The point of a Pedersen Commitment is to commit you to a certain value of a. If instead you had C = xG + aG, then this simplifies to C = (x+a)G. So you could claim any value of a later by claiming you'd used a different blinding factor. Using H, which has an unknown DL w.r.t. G, prevents you from doing this.


Using remote node still syncs blockchain? I have restored my previous wallet with the 25 words key (stored in a different laptop). I don't want to download the whole BC in this new computer, just connect to a remote node. However no matter what option I tried, it seems that all of them lead to a full download?

I followed the instructions here for the command line client:
How do I connect monero-wallet-cli to a remote node?

And the instructions here for the GUI client:
https://getmonero.org/resources/user-guides/remote_node_gui.html

In the GUI, starting the daemon will start downloading the BC in ./bitmonero/lmdb something I would like to avoid due to lack of space.

Also in the GUI, if I connect to the remote node, on the lower left part the network status will change to Synchronizing. However it will start from the beginning (1.4M+ blocks). Monitoring the network traffic, it seems that it is downloading the whole BC, even if it is a remote node?

Is there a quick way to restore my wallet using my 25 words that does not imply downloading the BC (either by using my own node or a remote one)? I am a bit lost on the available options for a "light" client.

Thanks

In Monero there's two "syncs". First, the blockchain sync, which is basically downloading the blockchain from other nodes / peers. Second, the wallet sync, which is the wallet "refreshing" / scanning blocks looking for transactions belonging to your address / wallet. Since you're using a remote node, you're skipping the first step. Thus, the status indicator on the left bottom (of the GUI) is showing the number of blocks it still needs to refresh. If it states Connected it's fully refreshed and should show your balance.

Now, to make sure you are properly connected to a remote node and restore your wallet, use the following command (CLI):

On Windows make sure to launch it from the command line. Go to the folder monero-wallet-cli is located and make sure your cursor isn't located on any of the files. Subsequently do SHIFT + right click and it will give you an option to "Open command window here". Lastly, type the following command:

monero-wallet-cli.exe --daemon-address node.moneroworld.com:18089 --restore-deterministic-wallet

On Linux and Mac OS X, you need to open a new terminal from the same directory as monero-wallet-cli and subsequently type:

./monero-wallet-cli --daemon-address node.moneroworld.com:18089 --restore-deterministic-wallet

For the GUI, go to the wizard (if you currently have a wallet open, go to the Settings page and press Close wallet, it'll bring you back to the wizard) and (on the second page) set node.moneroworld.com:18089 as custom daemon address. Subsequently, choose Restore wallet from keys or mnemonic seed. As restore height you can use the block height of your first transaction to the wallet minus 10k blocks. Thus, if the first transaction to your wallet was included in block 1410000 you ought to use 1400000 as restore height.

Note that if you want to use a different remote node, simply change node:moneroworld.com:18089 to the preferred remote node and its port.

Lastly, as user36303 said:

  It does not. It HAS to download something. It just isn't the whole chain.


RingCT code usage in other projects Aside from AEON are there any other coins that have made efforts to integrate RingCT?

Are there any reports of RingCT interest for privacy use cases other than currency (smart contracts, etc) outside of the Monero project?

As far as I know, the only other coin with working RingCT at this time is Lubecoin, a joke (I assume) coin forked off Monero very recently. I don't know where it is, but the forker was on IRC asking various questions about Monero for this.


What is the bandwidth cost of running a full node? Simply...how much bandwidth will I use when running a full node at home, without mining?

Bandwidth utilization greatly depends upon whether or not inbound ports are opened up or not.

On a fast 10gbit+ VPS with inbound ports opened up, I see 280 GB inbound and 250 GB outbound used.

On a residential connection with 8 outbound connections and zero inbound, I see less than 10GB inbound / outbound used in 30 days.


ring size three transactions in txpool after v6 fork There have been 3 transactions sitting in the txpool since the beginning of the v6 fork activation about 97 hours ago. Each of these 3 transactions (examples 1, 2, and 3) has a ring size of 3 which is now invalid after the v6 fork. According to this answer:

Transactions drop from the txpool:

after 7 days if they were included in a block that was orphaned
after 24 hours otherwise

The orphaned block case can happen with invalid transactions, if they were mined by a daemon which does not obey consensus (maybe an old one).

More than 24 hours have passed since v6 and the above transactions are still in the tx pool. Should we assume they were included in a block that was orphaned and will disapear in 7 days?

As you can see, these transactions are no longer appearing in the mempool or anywhere else in the block explorer. Thus, they were dropped.


Are there any technical reasons why Monero Classic could not exist? Assuming there were some people who did not like the Monero change from one to two minute blocks.

Are there any technical reasons they could have not just continued to mine on the old chain (with 1 minute blocks), call it Monero classic (XMC) and start trading it?

If Monero classic still is operational (is actively mined) why have I never heard of it? What makes ETC so much well known than the "losing" chain that resulted from Monero forks (LMDB fork, tail emission fork, etc)?

No reason. Some did just that (probably not intentionally, though). You're free to mine on that chain, I think it's still there. You could make an exchange and sell those monero if you wished (assuming you find buyers).

The reason ETC kept going strong is that the ETH fork chose to reach back and blacklist some transactions or outputs (I don't know the details), rather than fix or improve something.


How much memory does monerod take on a Ubuntu server? I'm planning to run a monerod node on my Ubuntu server, but I also have a web server running there and another cryptonote daemon. I was wondering, how much memory does monerod take on Ubuntu?

Looks like 1.75 GB.

$ docker stats

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
59cba0501edf        monerod             1.61%               1.751GiB / 15.54GiB   11.27%              81.2GB / 421GB      136GB / 224MB       25

This particular invocation has been up for about 4 weeks, since I last needed to reboot the kernel. (I've set Docker up to restart the process on boot)


Can a 95-character Monero address be reduced to a mnemonic phrase? At present a raw integrated Monero address (e.g. 44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A) is 106 base 58 characters. This is a lot for a human to transcribe manually without errors.

Consider that Bitcoin BIP39 defines a word list and translation mechanism between a word in that list and a binary seed (byte array) which is ultimately used to define a 128/192/256 bit word.

Given the complexity of a Monero address, is there a tool that takes the binary representation of the above and reverse encodes it into a word list for easier transmission by humans? Is this something that should be added to Monero wallets?

For example, the above could be represented by (and this is entirely made up):

  correct horse battery staple aardvark lunch stealth wibble

(I'm aware of the OpenAlias initiative but I think it's limited to single addresses rather than a general representation solution).

It's an interesting idea, and yes it would be possible to do. All you'd have to do is define some convention to make the conversion and have it coded. Then, if people like it, it could stick around and start to be used widely.

Personally, I wouldn't use it, as the string of words would be much longer than the base58 one. Consider a bigger dictionary than the one used for wallet mnemonics, say 8000 words. You'd need 30 words from that dictionary to encode it!
(106^58 = 30^8000)

With 70000 word dictionary you'd need 24 words. But that big of a dictionary comes with other problems like probably many similar words, which would again increase the chance of error.
With the 1626 word dictionary currently used for mnemonics, you'd need 37 words!