Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)MO

Monero tutorials and directory

  • Run a monero node with the CLI

    This is very simple.

    • Get the monero-cli binaries.
    • Unzip and go inside the directory before opening a terminal session.
    • ./monerod --rpc-bind-ip 127.0.0.1 --data-dir /directory/you/choose.
    This will run a monero node, the RPC will be accessible on 127.0.0.1:18081 and the blockchain location where you specified before.
    If you want to make the RPC accessible from outside your local network, follow this tutorial
    0
  • Monero Privacy Guide?

    I need your support again.

    • which swap service do you use for BTC -> XMR?

    • if I swap BTC to XMR, is there anything I need to consider before paying with XMR (should I hold XMR for a certain time?, should I send XMR to myself multiple times to increase privacy?...)?

    0
  • Make a monero wallet with the CLI. on Linux

    This tutorial will show you how to:

    • Run monero-wallet-cli.
    • Generate a wallet securely, by adding entropy to ensure the private-key randomness.
    • Backup, Restore a wallet.
    • Connect our wallet to a monero node over Tor.

    Step 1 - Get the monero software

    Step 2 - Run monero-wallet-cli

    Let's run monero-wallet-cli by typing:

    • $ ./monero-wallet-cli
    The software will directly ask you the wallet filename to open or typing a name to create a new one. In our case we just close the software.

    Step 3 - Create a new wallet:

    We will do it offline and by generating it with our own entropy, by rolling a dice in the real life.

    3.1 Making our own entropy

    It's very easy. Create a new file, roll a dice and write results in. More you rolled your dice more the seed generation will be randomized.

    3.2 Generate the wallet

    Save the file and now, let's run our wallet offline, while specifying the filename entropy, for this wallet generation:

    • $ ./monero-wallet-cli --offline --generate-new-wallet <name-of-the-new-wallet> --extra-entropy <entropy-filename>
    The wallet's console will ask you a password, the seed mnemonic words language and you now can exit the wallet after you wrote the displayed words on something safe.

    Step 4 - Restore the wallet

    Simple specify you want to restore a seed and the mnemonic language you choose when generating a new wallet

    • $ ./monerod --generate-new-wallet <name-of-the-new-wallet> --restore-from-seed --mnemonic-language <lang>
    Mention the seed and the password you want when it's prompted and the wallet will be restored.

    Step 5 - Open a wallet

    Mention the filename (+ the directory if needed) of your wallet when running monero-wallet-cli.

    • $ ./monero-wallet-cli --wallet-file <(/directory/)filename>
    Put the password when its prompted and you'll be on your wallet.

    Step 6 - Connect the wallet to a node over Tor.

    Mention the SOCKS proxy wanted (Tor in our case, follow this guide if needed), deactivate DNS requests since you're connecting to a hidden-service, mention the RPC's hidden-service and mention if the RPC is trusted or not. If you don't host the RPC you're going to connect to, put untrusted. Why not mentioning the wallet file.

    • $ ./monero-wallet-cli --wallet-file <filename> --proxy 127.0.0.1:9050 --no-dns --daemon-address xxxxx.onion:port --(un)trusted-daemon

    Step 7 - Generate a new address

    • address new

    2 (the index number of the sub-address) 86WR4xz5zmR7JXSmMtt5hucYMwKCUmnFz2nHN5xagVGoX6s3T5UKwZYJK2USYeFZvFCSYRdivVSszVpJeBYmyUrb239edhy (Untitled address)

    To see all your generated address, do:

    • address all

    Step 8 - Transfer funds

    We're going to send funds to the previously generated address

    • transfer 86WR4xz5zmR7JXSmMtt5hucYMwKCUmnFz2nHN5xagVGoX6s3T5UKwZYJK2USYeFZvFCSYRdivVSszVpJeBYmyUrb239edhy (the address) 0.0019 (the amount)
    • Wallet password: put your password

    Transaction 1/1: Spending from address index 1 Sending 0.001900000000. The transaction fee is 0.000030680000

    • Is this okay? (Y/Yes/N/No): put yes

    Transaction successfully submitted, transaction <010f4b949a6406b39618de93d05aee2af3aef0c5970946b92e3beb8d3f75452b>

    Step 8.1 - For looking up a transaction
    • show_transfer the TxID

    Outgoing transaction found txid: <010f4b949a6406b39618de93d05aee2af3aef0c5970946b92e3beb8d3f75452b> Height: 3030992 Timestamp: 2023-12-02 18:30:37 Amount: 0.000000000000 Payment ID: 0000000000000000 Change: 0.001969320000 Fee: 0.000030680000 Destinations: 86WR4xz5zmR7JXSmMtt5hucYMwKCUmnFz2nHN5xagVGoX6s3T5UKwZYJK2USYeFZvFCSYRdivVSszVpJeBYmyUrb239edhy: 0.001900000000

    Step 8.2 - See your transaction history
    • show_transfers

    3030982 in unlocked 2023-12-02 18:02:38 0.002000000000 45f34edd9ac01b4d1e71e1e06f6865e12188796060e6901a20072791215a09d4 0000000000000000 0.000000000000 8493i9:0.002000000000 1 - 3030992 out - 2023-12-02 18:30:37 0.000000000000 010f4b949a6406b39618de93d05aee2af3aef0c5970946b92e3beb8d3f75452b 0000000000000000 0.000030680000 86WR4xz5zmR7JXSmMtt5hucYMwKCUmnFz2nHN5xagVGoX6s3T5UKwZYJK2USYeFZvFCSYRdivVSszVpJeBYmyUrb239edhy:0.001900000000

    Step 9 - Prove you spend a transaction

    • get_spend_proof 010f4b949a6406b39618de93d05aee2afraef0c5970946b92e3beb8d3f75452b
    • Wallet password: put your password

    signature file saved to: monero_spend_proof

    • $ cat monero_spend_proof SpendProofV1SLtgyhcsfnJbyrGxRSNuDBhHUshqDZ3XrVKaZSvqJvxUPF6JH11RGzMVxq61CqqyKc4CPkTjMBQwTTJ6KcvPSSsFVdUSBK9ym7n2eDrYYsHcKaPs9ZGvSWHAzSRYFFx2DUG6fyQnZvJdQnTSmLdRWn1rENUngATeu51BUE1PKTqYhqooCvBPFYEp2zAcJ92wL94HRxVxdXS3TbdjsJfRbXSVb8NU3GkAkSRSyy92iXWx1avKRsJtRZgDRMT9MVtz3CD3S4Fd6Q9ozTc1tjLjc5CpzyCNkf7JbYfPZGFxC5G5PmErFW82TK9mRkVHBHBMyPkCWqTGZQV9NFXxe76LiceS2D1xKGrBaS622kL8oVXfJMAvaL6nywc37HeJ2pRnZANbN2JDMvdsRWuwp7tkjmYcsXUwukMJeZPA7sQTa5WPkV1E5YN839UfcqsvmRiPhyCBAf9WtedMUWKFh54CW2h3eew3vbT1h7MjafBC4s7nLBkVoUtzXrsnN3ZvdYtNbmzssP99kkR2CUnAhtWcRW93tAi5id1AmdbP4JgbfQXkF5ACmSfrxJxsfqEkfu2iKSddqsTSBs3KtLZWwxfw12vvQTG1WZZ7ADS63Q9w6wwbatf2Dh85yeYgoPErKTa6NbqB9GN8LF9RfV5Dv4vNVfzZFvq54fxSkw5zfcQsoD6jtiptGWnCugkqyP7t1RF8SvpWi2Mok17ijJHv4CgyVfS1oiBxu1Pxf1J4KTwugYvSDb3Htujad5Zb1R94Vkf4ap3bhEkFmKbVfSPNEY1Us8rseqtG1vvsNKxCS56edcCuL7GmAV9grmLeTMVyF8hHPnoSbCkW2RxqvBDAYb4YfCUhr1jmQ56RWnLd9HBMrD24faPhD5MabMKuWTZi3EQNiAMtfXUeYjNXuhGH6V4QxCC62wHzDRXrkmiAM3njaTqdYwei1ig9t7qDB1BVpMQhWzcZMwpBSXgFCnSxi4r5sqJMtXFRx6DLWxxpSS6u45nkGdxBin4TQZkH4xSmFEge7inBsPjuQL9ffEtJAgS38iitWUL71edsB6ezue7YqUQfmCRamSL6TnboW1rJqASmmXVo4Bm7Sh8JLQFRabAXUGKKPbJX3kGrdWGbYbQsfqTKR2FAtqJ26bnKBCi7WPgAf8FYW9pDNtTcNCVBEHELcGvVrPsLKXbnxGfkcghUyf8fbRL5qqBCDw46oDckY23R8RBvR9zUegG5oaLDJJECoEbSrYASw9x2GrQJb2VHAKV5t2AxwMYdQDHpnnQAfHeA24ZEvbtZ6pW1RNmtatJZiFfM9Fv9a22ks4sKYZxa1Pmm1qQwrE4cFzNTSAizuxba3GVSYhR8xSfDg8ZTXYAEKBCgUvqT6i8ah2SqBh8ZcD3S5teVUo9PzSzx7WZRYPdh

    To verify the spend proof:

    • check_spend_proof 010f4b949a6406b39618de93d05aee2afraef0c5970946b92e3beb8d3f75452b SpendProofV1SLtgyhcsfnJbyrGxRSNuDBhHUshqDZ3XrVKaZSvqJvxUPF6JH11RGzMVxq61CqqyKc4CPkTjMBQwTTJ6KcvPSSsFVdUSBK9ym7n2eDrYYsHcKaPs9ZGvSWHAzSRYFFx2DUG6fyQnZvJdQnTSmLdRWn1rENUngATeu51BUE1PKTqYhqooCvBPFYEp2zAcJ92wL94HRxVxdXS3TbdjsJfRbXSVb8NU3GkAkSRSyy92iXWx1avKRsJtRZgDRMT9MVtz3CD3S4Fd6Q9ozTc1tjLjc5CpzyCNkf7JbYfPZGFxC5G5PmErFW82TK9mRkVHBHBMyPkCWqTGZQV9NFXxe76LiceS2D1xKGrBaS622kL8oVXfJMAvaL6nywc37HeJ2pRnZANbN2JDMvdsRWuwp7tkjmYcsXUwukMJeZPA7sQTa5WPkV1E5YN839UfcqsvmRiPhyCBAf9WtedMUWKFh54CW2h3eew3vbT1h7MjafBC4s7nLBkVoUtzXrsnN3ZvdYtNbmzssP99kkR2CUnAhtWcRW93tAi5id1AmdbP4JgbfQXkF5ACmSfrxJxsfqEkfu2iKSddqsTSBs3KtLZWwxfw12vvQTG1WZZ7ADS63Q9w6wwbatf2Dh85yeYgoPErKTa6NbqB9GN8LF9RfV5Dv4vNVfzZFvq54fxSkw5zfcQsoD6jtiptGWnCugkqyP7t1RF8SvpWi2Mok17ijJHv4CgyVfS1oiBxu1Pxf1J4KTwugYvSDb3Htujad5Zb1R94Vkf4ap3bhEkFmKbVfSPNEY1Us8rseqtG1vvsNKxCS56edcCuL7GmAV9grmLeTMVyF8hHPnoSbCkW2RxqvBDAYb4YfCUhr1jmQ56RWnLd9HBMrD24faPhD5MabMKuWTZi3EQNiAMtfXUeYjNXuhGH6V4QxCC62wHzDRXrkmiAM3njaTqdYwei1ig9t7qDB1BVpMQhWzcZMwpBSXgFCnSxi4r5sqJMtXFRx6DLWxxpSS6u45nkGdxBin4TQZkH4xSmFEge7inBsPjuQL9ffEtJAgS38iitWUL71edsB6ezue7YqUQfmCRamSL6TnboW1rJqASmmXVo4Bm7Sh8JLQFRabAXUGKKPbJX3kGrdWGbYbQsfqTKR2FAtqJ26bnKBCi7WPgAf8FYW9pDNtTcNCVBEHELcGvVrPsLKXbnxGfkcghUyf8fbRL5qqBCDw46oDckY23R8RBvR9zUegG5oaLDJJECoEbSrYASw9x2GrQJb2VHAKV5t2AxwMYdQDHpnnQAfHeA24ZEvbtZ6pW1RNmtatJZiFfM9Fv9a22ks4sKYZxa1Pmm1qQwrE4cFzNTSAizuxba3GVSYhR8xSfDg8ZTXYAEKBCgUvqT6i8ah2SqBh8ZcD3S5teVUo9PzSzx7WZRYPd
    0
  • Make a monero multisig wallet with the CLI

    Before starting this tutorial, beware because theres vulnerabilities in the multisignature. I only had to follow this tutorial to do it without issues/bugs. This is not a common multisig method it does by secret-splitting methods.

    Step 1 - Creating wallets

    • ./monerod --offline (you need to create new keypairs for a multisig)
    Inside the wallet's console
    • set inactivity-lock-timeout 0 (deactivate the wallet autolock feature)
    • set enable-multisig-experimental 1 (to unlock multisig)

    Step 2 - Preparing the multisig

    • prepare_multisig will return you an "intitialization key" (starting with MultisigxV2R) . Do it on each wallet you want in the multisig and note theses somewhere.

    Step 3 - Make the multisig

    • make_multisig (how many keys to unlock the signature) init-key-2 init-key-3 (ect..).
    Be sure you do this on every wallet. Don't add the init-key belonging to the same wallet (add init-key of the wallet 2 and 3 to the wallet 1 ect..)
    The console will again return you a new key (starting with MultisigxV2R) on each wallet you need to note somewhere.

    Step 4 - Exchanging multisig keys

    • exchange_multisig_keys key-2 key-3
    The console will again return you a new key (starting with MultisigxV2R) on each wallet you need to note somewhere.

    Step 4.1 - Exchanging (a second time multisig keys)

    • exchange_multisig_keys key-2 key-3
    The console will return you the multisig's type and the multisig's address
    Once you did that (on every wallet) it will diplay:
    • Multisig wallet has been successfully created.
    • Current wallet type: n/n
    • multisig address: (a xmr address)

    Step 5 - Receive funds

    Just generate a new address by typing

    • address new

    Step 6 - Sign a multisig transaction

    In first, refresh your balance

    • refresh
    6.1 Exporting partial key-images

    On every wallet, do:

    • export_musig_info a-filename-you-choose
    6.2 Importing partial key-images

    Now import partial key images in every wallet

    • import_multisig_info a-filename-you-choose a-filename-you-choose (you can add multiple keys at the same time)
    Once it's done your spendable outputs will be verified & ready to be spent.
    6.3 Signing the transaction
    • transfer <address> <amount>
    Once the transaction is "confirmed" by entering the password, it'll generate a partially signed transaction with the multisig_monero_tx filename. Now sign the transaction with each wallet (required to treshold):
    • sign_multisig multisig_monero_tx
    And then you can broadcast it
    • submit_multisig multisig_monero_tx
    It'll return the TransactionID

    Step 7 - Backup a multisig wallet

    A multisig mnemonic is very specific. It's not words it's a long key so beware of how you store it.

    • seed
    Write the key somewhere safe
    7.1 Restoring the multisig wallet
    • ./monerod --restore-multisig-wallet
    Write the key when it's prompted, refresh the wallet and go back to the Step 6.1 if you want to spend funds.

    Here's an example of a 2/3 multisig

    0
  • Privacy on Monero: What you should and what you should not.

    Monero isn't private ?

    it's private, but a bad usage can lead to being deanonymized.

    Ok then what i should do ?

    You mean what you should not ?

    • Do no KYC related to cryptocurrency: if you can avoid it then you're not recorded as a monero user (simple as this).
    • Do no CEX -> CEX XMR swaps: you have (for the minimum) to split the amount and churn funds or RingSignatures wont help you.
    • Do not reuse an address: always generate a new-subaddress when it's a private payment (like it's not a donation address).
    • Do not consolidate UTXOs: spend them one-by-one.
    • Don't broadcast transactions to a remote-node without Tor or I2P: FeatherWallet for the win.
    What you should do:
    • Move received funds to new addresses at random timings.
    • Use your own node (local/self-hosted node).
    • Keep using NoKYC services.
    0
  • Buy &amp; Sell Monero without KYC

    Why should you only buy NonKYC XMR ?

    • Because being KYC is painful and takes time.
    • Not having your identity leaking somewhere leading to an identity theft.
    • Partially reveal how many XMR did you get.
    Method 1: Mine it.

    Mine it so you earn XMR take a good PC config (Good CPU, some RAM) and mine on P2Pool. Be sure your configuration is making a higher ROI than you invest

    Method 2: Simply earn it.

    It's a currency, that means you can earn XMR, trough good and services. No need of any bank account, just buy goods with cash and sell theses for monero or some regular services.

    Method 3: NoKYC swappers and P2P trades.
    • To buy/sell monero for a lot of different cryptos, you can check MajesticBank & Intercambio.
    • To buy/sell for cash or other FIAT payment methods, take a look on AgoraDesk to find wire bank or cash by mail P2P trades.
    0
  • Make a Tor hidden-service for the RPC interface of your monero node + proxify transactions.

    Why i should make a hidden-service for my RPC endpoint ?

    Because it gives you a private and secure access to your node.

    Step 1: modify torrc to activate the hidden-service

    In your terminal, install Tor and modify your configuration using nano

    • sudo apt install tor
    • sudo nano /etc/tor/torrc

    Now, in the hidden-service section, remove the hashtags to activate your hidden-service, replace the defaults ports for 18081 (the default port number used for the RPC) and save the file.

    • HiddenServiceDir /var/lib/tor/hidden_service/
    • HiddenServicePort 18081 127.0.0.1:18081
    Step 2: restart Tor & get the hidden-service

    Restart the service and then open the "hostname" file to get your hidden service.

    • sudo service tor start
    • sudo nano /var/lib/tor/hidden_service/hostname
    Step 3: start your monero node & proxify transactions over Tor

    Bind the localhost interface with the --rpc-bind-ip arg of monerod and proxify your transactions over Tor with the --tx-proxy arg.

    • ./monerod --rpc-bind-ip 127.0.0.1 --tx-proxy tor,127.0.0.1:9050
    Step 4: connect your wallet to your node

    Use FeatherWallet, go in the network-settings, in the proxy tab add a Tor SOCKS5 proxy (127.0.0.1:9050), check the only connect to .onions and start a bundled Tor router boxes.

    Now in the nodes tab, add (your_hidden_service).onion:18081 as your remote-node and you can now use your node over Tor !

    0
  • The main directory

    0
0 Active user