--- website: https://www.getmonero.org repo: https://github.com/monero-project/monero obj: concept --- # Monero Monero is a privacy-focused cryptocurrency that prioritizes anonymity and security in transactions. Launched in April 2014, Monero (XMR) has gained popularity for its commitment to providing private and untraceable transactions on a blockchain. ## Features ### 1. **Privacy and Fungibility** Monero employs advanced cryptographic techniques, including ring signatures and stealth addresses, to ensure that transactions are private and unlinkable. This focus on privacy enhances fungibility, as all units of Monero are considered equal and indistinguishable. ### 2. **Ring Signatures** Monero uses ring signatures to mix a user's transaction with others, making it difficult to determine the actual sender. This ensures that the true origin of funds remains confidential. ### 3. **Stealth Addresses** Stealth addresses generate a one-time address for each transaction, making it virtually impossible to trace funds back to the recipient. This feature enhances the privacy of the receiver. ### 4. **Ring Confidential Transactions (RingCT)** RingCT further improves privacy by concealing transaction amounts. This is achieved by allowing users to prove the validity of their transaction without revealing the exact amount involved. ### 5. **Dynamic Block Size and Fees** Monero dynamically adjusts block size and fees based on network demand, ensuring scalability and preventing congestion. ## Daemon `monerod` connects to the Monero Network and acts as a node. ### Configuration By default Monero looks for `bitmonero.conf` in Monero data directory. To use a specific config file add `--config-file` option: `./monerod --config-file=/etc/monerod.conf` ``` # ~/.bitmonero/bitmonero.conf # # Configuration file for monerod. For all available options see the MoneroDocs: # https://docs.getmonero.org/interacting/monerod-reference/ # Data directory (blockchain db and indices) data-dir=~/.bitmonero # Blockchain storage location # Optional pruning #prune-blockchain=1 # Pruning saves 2/3 of disk space w/o degrading functionality but contributes less to the network #sync-pruned-blocks=1 # Allow downloading pruned blocks instead of prunning them yourself # Centralized services check-updates=disabled # Do not check DNS TXT records for a new version enable-dns-blocklist=1 # Block known malicious nodes # Banlist #ban-list=/path/to/ban.txt # Local list of peers to ban # Log file log-file=~/.bitmonero log-level=0 # Minimal logs, WILL NOT log peers or wallets connecting # P2P full node #p2p-bind-ip=0.0.0.0 # Bind to all interfaces (the default) #p2p-bind-port=18080 # Bind to default port #no-igd=1 # Disable UPnP port mapping # RPC open node #public-node=1 # Advertise to other users they can use this node for connecting their wallets rpc-restricted-bind-ip=0.0.0.0 # Bind to all interfaces (the Open Node) rpc-restricted-bind-port=18089 # Bind to a new RESTRICTED port (the Open Node) # RPC TLS rpc-ssl=autodetect # Use TLS if client wallet supports it; [enabled|disabled|(default)autodetect] # ZMQ #zmq-rpc-bind-ip=127.0.0.1 # Default 127.0.0.1 #zmq-rpc-bind-port=18082 # Default 18082 zmq-pub=tcp://127.0.0.1:18083 # ZMQ pub #no-zmq=1 # Disable ZMQ RPC server # Mempool size max-txpool-weight=2684354560 # Maximum unconfirmed transactions pool size in bytes (here ~2.5GB, default ~618MB) # Database sync mode #db-sync-mode=safe:sync # Slow but reliable db writes # Network limits out-peers=12 # Default 12 in-peers=48 # The default is unlimited; we prefer to put a cap on this limit-rate-up=1048576 # 1048576 kB/s == 1GB/s; a raise from default 2048 kB/s; contribute more to p2p network limit-rate-down=1048576 # 1048576 kB/s == 1GB/s; a raise from default 8192 kB/s; allow for faster initial sync # Tor/I2P: broadcast transactions originating from connected wallets over Tor/I2P (does not concern relayed transactions) #tx-proxy=i2p,127.0.0.1:4447,12,disable_noise # I2P #tx-proxy=tor,127.0.0.1:9050,12,disable_noise # Tor # Tor/I2P: tell monerod your onion address so it can be advertised on P2P network #anonymous-inbound=PASTE_YOUR_I2P_HOSTNAME,127.0.0.1:18085,24 # I2P #anonymous-inbound=PASTE_YOUR_ONION_HOSTNAME:18084,127.0.0.1:18084,24 # Tor # Tor: be forgiving to connecting wallets disable-rpc-ban=1 ``` ### i2p Monero should be used via [i2p](../internet/I2P.md) in order to combat networking attacks. First setup two b32 addresses: ```ini [monero-node] type = server host = 127.0.0.1 # Anonymous inbound port port = 18085 inport = 0 keys = monero-mainnet.dat [monero-rpc] type = server host = 127.0.0.1 # Restricted RPC port port = 18089 keys = monero-mainnet.dat ``` Then set these in the config: ``` anonymous-inbound=yourlongb32i2paddress.b32.i2p,127.0.0.1:18085 tx-proxy=i2p,127.0.0.1:4447,disable_noise ``` ## monero-cli-wallet `monero-wallet-cli` is the wallet software shipped in the Monero archives. It is a console program, and manages an account. Generate new wallet: ```shell monero-wallet-cli --generate-new-wallet ``` Use existing wallet: ```shell monero-wallet-cli --wallet-file --password-file ``` ### Commands | Command | Description | | --------------------------------------------- | ------------------------------------------------------------ | | `wallet_info` | Show wallet main address and other info | | `balance` | Show balance | | `address all` | Show all addresses | | `address new [