Bitcoin's HD (hierarchical deterministic) wallets use subsequent addresses derived from your private key / seed to send your change to and improve privacy a bit. You can still follow the funds and determine eg. from spending patterns or known destinations what actually was the spending amount(s) and what the change.
Monero's design focussed on mandatory ...
There is a tradition in Monero that when you want to come up with a public key for which there is no known private key, you calculate that public key as H = hash_to_point(G), which in hex is 8b655970153799af2aeadc9ff1add0ea6c7251d54154cfa92c173a0dd39c1f94.
Therefore providing proof of payment to any wallet with H as the public spend key would be proof of ...
You should use --generate-from-json for this.
The input fields in the JSON file are:
version: integer, should be 1
filename: string, path/filename for the newly created wallet
scan_from_height: 64 bit unsigned integer, optional
password: string, optional
viewkey: string, hex representation
spendkey: string, hex ...
I made an offline command-line tool, subaddress-derive-xmr, that derives any number of subaddresses from mnemonic, seed, or priv-view-key + pub-spend-key.
Usage would look like:
$ ./subaddress-derive-xmr --seed="66dcbb7490ee34dad1b04fa316b90ba1795ce70586298e2cc09455de1ae95273" -g --numderive=3
Is there a way to pre-generate 1000 subaddresses from your monero private key?
Generating subaddresses from a private view key explained in this answer and on the monerodocs site here.
And then say I sent some xmr to the 979th subaddress, would the wallet see it or do I need to do something first?
The default wallet lookahead indices are set to 50:200 (...
You just run commands like monerod status which connects to the detached process and runs the command (status in this example).
You can also use the daemons RPC get_info.
But, how can I check the detached daemon status without a wallet?
A node does not have a wallet attached to it.
Yes, as we have done before for the other forks, you'll need to update daemon, wallet, and miner.
As you can see here, the upcoming fork will bring to Monero a new PoW algorithm: the CNv4, Cryptonight variant 4 aka CryptonightR.
You have a couple of options.
One option is to have a running wallet RPC: monero-wallet-rpc --wallet-dir . --rpc-bind-port 18085 --disable-rpc-login
Which you can then call its create_wallet method like:
curl -X POST http://localhost:18085/json_rpc -d \
The full math you have to do is:
D = P - Hs(8aR || i)G, where i is a varint representing the index of the output. You then check whether D matches your main public spend key or any of your subaddress public spend keys. if it does, the output is destined for you.
The output public key P is in the json as vout.target.key. The transaction public key R is not ...
In bash, just:
monero-wallet-cli --create-address-file --password password123 --mnemonic-language English --generate-new-wallet ./new.wallet
You can enumerate new.wallet with a variable. Just wait a few seconds and (p)kill the client before moving on to next.
First off, the node does not do anything about addresses, the wallet does. The node never gets your secret keys.
Next, the Monero wallet will always cache/calculate the next 200 addresses for the next 50 accounts. Every time you receive monero in one of these, the Monero wallet will cache/calculate more of these to always keep a buffer of 200/50 beyond the "...
What is the difference between simplewallet, wallet and wallet2?
simplewallet.[cpp|h] is the source code for the command-line wallet monero-wallet-cli.
wallet2.[cpp|h] is the source code for the core wallet functionality. simplewallet therefore makes heavy use of this.
There seems to be 3 variations of wallets in the Monero code.
No, there are only two ...
New outputs are locked for 10 blocks (unless the sender selects more), which is about 20 minutes on average. If all your monero is in a single output, then sending it will lock your entire balance for that number of blocks. There are two ways to avoid having to wait when sending to multiple recipients:
ensure your wallet is made up of several outputs, so ...
As an alternative to user36303's answer, you can also just supply the additional required parameters when calling with --generate-from-spend-key to prevent any prompting. E.g.
monero-wallet-cli --generate-from-spend-key "xxxxxx" \
--wallet-file xzy --password xyz \
--mnemonic-language English --restore-height 123456
(and any others I may have missed)
Downloading the chain is pointless.
Restoring the wallet from seed will wipe the transaction keys.
A double spend like this after a restore from seed/keys can be caused by an outgoing transaction being stuck in the daemon, waiting to be spent. The outputs spent in that tx are not spent on chain, but the daemon will still reject reuse of them since it's ...
You can select Testnet as network parameter in the wizard (setup) of the GUI (under Advanced options). See this part of the Monero GUI guide and corresponding screenshot.
In case you choose to use a remote node, make sure to connect to a testnet remote node.
The following page comprehensively documents how to run a private testnet: https://github.com/moneroexamples/private-testnet
This allows you to run a private network of nodes (and wallets), which is exactly what you're after.
Coinomi supports every ERC20 token. If the one you want to store isn't already on the "Add tokens - Ethereum" list in the app you can follow the instructions here to manually add the token wallet: https://coinomi.freshdesk.com/support/solutions/articles/29000009779-how-to-manually-add-an-erc20-token-
It should be fine, unless the programs stay stopped for a long time, in which cases timeouts may occur. If you're local, timeouts with a single client is more than 3 minutes IIRC, so it should be just fine. I've done this a few times before with a loop and kill pidof monerod and there was no problem.
You have given a login for the daemon, but no password. monero-wallet-rpc is an unattended program, so does not prompt. You need to pass the password after the login, with a separating colon, like this:
Arguably, there should be a --prompt-for-daemon-password option, which would override the unattended part.
During wallet generation, set "subaddress-lookahead" higher than default like previously mentioned, example 50:1000. Generate the wallet with the predetermined subaddress lookahead using the flag --subaddress-lookahead 1000
Then, run bash to generate the subaddresses by calling RPC "create_account" method.
In the examples below be sure to ...
The wallet RPC and daemon RPC are different. Refer to the projects documentation on how to run both wallet and daemon RPCs.
The node you reference at node.xmr.to is a daemon RPC, not a wallet RPC, therefore you cannot use it for any of the wallet commands, only daemon commands.
To use a wallet RPC (like you are trying to do from php), you have to run ...
Each Monero transaction contains multiple inputs/outputs. It is not expected that you own all of the outputs of the transaction; only those destined for you.
The utility you used is reporting:
This address owns output 1 with pubkey: 238a...48ce for amount: 0.297602
Which indicates that your address did, in fact, receive 0.297602 XMR.
Last I was aware, Poloniex issues users with a Monero integrated address, which embeds a payment ID in the address. You can easily verify this by the address length - integrated addresses are 106 hex digits long.
As the Monero community has already signalled that payment IDs are being deprecated, subaddresses should be used instead moving forwards.
For compiling, the dependencies are all listed in the project's README file. When built as static binaries though (the way the releases are built), there are no runtime dependencies, but if you compiled as dynamic, the libraries listed as dependencies are then required to be installed on the target system.
For any Android/iOS wallets, you will need to ...