### Install Monero on Guix Source: https://github.com/monero-project/monero/blob/master/README.md Use this command to install Monero on Guix. ```bash guix package -i monero ``` -------------------------------- ### Install Monero on Gentoo Source: https://github.com/monero-project/monero/blob/master/README.md Commands to set up the Monero overlay and install Monero on Gentoo. ```bash emerge --noreplace eselect-repository eselect repository enable monero emaint sync -r monero echo '*/*::monero ~amd64' >> /etc/portage/package.accept_keywords emerge net-p2p/monero ``` -------------------------------- ### Install Monero on NixOS Source: https://github.com/monero-project/monero/blob/master/README.md Use this command to install Monero on NixOS. ```bash nix-shell -p monero-cli ``` -------------------------------- ### Install Monero on Alpine Linux Source: https://github.com/monero-project/monero/blob/master/README.md Use this command to install Monero on Alpine Linux. ```bash apk add monero ``` -------------------------------- ### Install Guix Source: https://github.com/monero-project/monero/blob/master/contrib/guix/INSTALL.md Install the Guix package after building. This command requires superuser privileges. ```sh sudo make install ``` -------------------------------- ### Install Wallet RPC Server Source: https://github.com/monero-project/monero/blob/master/src/wallet/CMakeLists.txt Installs the compiled wallet RPC server executable to the 'bin' directory in the final installation path. This makes the executable available after installation. ```cmake install(TARGETS wallet_rpc_server DESTINATION bin) ``` -------------------------------- ### Install Dependencies on openSUSE Source: https://github.com/monero-project/monero/blob/master/README.md Installs all required build dependencies for Monero on openSUSE using zypper. ```bash sudo zypper ref && sudo zypper in cppzmq-devel libboost_chrono-devel libboost_date_time-devel libboost_filesystem-devel libboost_locale-devel libboost_program_options-devel libboost_regex-devel libboost_serialization-devel libboost_system-devel libboost_thread-devel libsodium-devel libunwind-devel unbound-devel cmake doxygen ccache fdupes gcc-c++ libevent-devel libopenssl-devel pkgconf-pkg-config readline-devel libqt5-qttools-devel patterns-devel-C-C++-devel_C_C++ ``` -------------------------------- ### Install Monero on Arch Linux Source: https://github.com/monero-project/monero/blob/master/README.md Use this command to install Monero on Arch Linux. ```bash sudo pacman -S monero ``` -------------------------------- ### Install Monero on macOS with Homebrew Source: https://github.com/monero-project/monero/blob/master/README.md Use this command to install Monero on macOS using Homebrew. ```bash brew install monero ``` -------------------------------- ### Install Monero on Debian Source: https://github.com/monero-project/monero/blob/master/README.md Use this command to install Monero on Debian 12 (Bookworm) or later. ```bash sudo apt install monero ``` -------------------------------- ### Install Daemon Executable Source: https://github.com/monero-project/monero/blob/master/src/daemon/CMakeLists.txt Installs the built 'daemon' executable to the 'bin' directory. ```cmake install(TARGETS daemon DESTINATION bin) ``` -------------------------------- ### Install Protobuf on MSYS32 Source: https://github.com/monero-project/monero/blob/master/src/device_trezor/README.md Install the MinGW-w64 x86_64 Protobuf package using pacman on MSYS32. ```shell pacman -S mingw-w64-x86_64-protobuf ``` -------------------------------- ### Install Dependencies on Fedora Source: https://github.com/monero-project/monero/blob/master/README.md Installs all required build dependencies for Monero on Fedora using dnf. ```bash sudo dnf install gcc gcc-c++ cmake pkgconf boost-devel openssl-devel zeromq-devel unbound-devel libsodium-devel libunwind-devel readline-devel ccache doxygen graphviz qt5-linguist hidapi-devel libusbx-devel protobuf-devel protobuf-compiler ``` -------------------------------- ### Install Dependencies on Arch Linux Source: https://github.com/monero-project/monero/blob/master/README.md Installs all required build dependencies for Monero on Arch Linux using pacman. ```bash sudo pacman -Syu --needed base-devel cmake boost boost-libs openssl zeromq unbound libsodium libunwind readline python3 ccache doxygen graphviz qt5-tools hidapi libusb protobuf ``` -------------------------------- ### Monero TX Scheme Example with Amount and Description Source: https://github.com/monero-project/monero/wiki/URI-Formatting An example of a Monero payment URI with a specified amount and description. ```plaintext monero:46BeWrHpwXmHDpDEUmZBWZfoQpdc6HaERCNmx1pEYL2rAcuwufPN9rXHHtyUA4QVy66qeFQkn6sfK8aHYjA3jk3o1Bv16em?tx_amount=239.39014&tx_description=donation ``` -------------------------------- ### Install Guix on Debian/Ubuntu Source: https://github.com/monero-project/monero/blob/master/contrib/guix/INSTALL.md Use this command to install Guix as a distribution package on Debian or Ubuntu systems. ```sh sudo apt install guix ``` -------------------------------- ### Install Dependencies on macOS Source: https://github.com/monero-project/monero/blob/master/README.md Installs all required build dependencies for Monero on macOS using Homebrew and the provided Brewfile. ```bash brew update && brew bundle --file=contrib/brew/Brewfile ``` -------------------------------- ### Install ccache for Build Optimization Source: https://github.com/monero-project/monero/blob/master/README.md Install ccache to avoid recompiling unchanged translation units. Monero's CMakeLists.txt handles its integration. ```bash sudo apt install ccache ``` -------------------------------- ### Cross-Compile Example with Parallel Jobs Source: https://github.com/monero-project/monero/blob/master/contrib/depends/README.md Example of cross-compiling dependencies for a specific host platform (x86_64-w64-mingw32) using 4 parallel jobs. ```bash make HOST=x86_64-w64-mingw32 -j4 ``` -------------------------------- ### Get Balance RPC Call Example Source: https://github.com/monero-project/monero/wiki/Wallet-RPC-Documentation Example of a curl request to the simplewallet RPC to retrieve the current wallet balance and unlocked balance. No parameters are required for this method. ```bash curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"getbalance"}' -H 'Content-Type: application/json' ``` -------------------------------- ### Get Height RPC Call Example Source: https://github.com/monero-project/monero/wiki/Wallet-RPC-Documentation Example of a curl request to the getheight RPC method, which returns the current blockchain height known to the wallet. This method does not require any parameters. ```bash curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"getheight"}' -H 'Content-Type: application/json' ``` -------------------------------- ### Set up Mingw Build Alternatives Source: https://github.com/monero-project/monero/blob/master/contrib/depends/README.md For MinGW builds, switch the default C++ and C compilers to their POSIX-compatible alternatives. ```bash update-alternatives --set x86_64-w64-mingw32-g++ x86_64-w64-mingw32-g++-posix ``` ```bash update-alternatives --set x86_64-w64-mingw32-gcc x86_64-w64-mingw32-gcc-posix ``` -------------------------------- ### Get Block by Height Source: https://github.com/monero-project/monero/wiki/Daemon-RPC-documentation Retrieve full block information by specifying the block's height. This example shows a block with no non-coinbase transactions. ```shell [ monero->~ ]$ 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' { "id": "0", "jsonrpc": "2.0", "result": { "blob": "...", "block_header": { "depth": 80694, "difficulty": 815625611, "hash": "e22cf75f39ae720e8b71b3d120a5ac03f0db50bba6379e2850975b4859190bc6", "height": 912345, "major_version": 1, "minor_version": 2, "nonce": 1646, "orphan_status": false, "prev_hash": "b61c58b2e0be53fad5ef9d9731a55e8a81d972b8d90ed07c04fd37ca6403ff78", "reward": 7388968946286, "timestamp": 1452793716 }, "json": "{\n \"major_version\": 1, \n \"minor_version\": 2, \n \"timestamp\": 1452793716, \n \"prev_id\": \"b61c58b2e0be53fad5ef9d9731a55e8a81d972b8d90ed07c04fd37ca6403ff78\", \n \"nonce\": 1646, \n \"miner_tx\": {\n \"version\": 1, \n \"unlock_time\": 912405, \n \"vin\": [ {\n \"gen\": {\n \"height\": 912345\n }\n }\n ], \n \"vout\": [ {\n \"amount\": 8968946286, \n \"target\": {\n \"key\": \"378b043c1724c92c69d923d266fe86477d3a5ddd21145062e148c64c57677008\"\n }\n }, {\n \"amount\": 80000000000, \n \"target\": {\n \"key\": \"73733cbd6e6218bda671596462a4b062f95cfe5e1dbb5b990dacb30e827d02f2\"\n }\n }, {\n \"amount\": 300000000000, \n \"target\": {\n \"key\": \"47a5dab669770da69a860acde21616a119818e1a489bb3c4b1b6b3c50547bc0c\"\n }\n }, {\n \"amount\": 7000000000000, \n \"target\": {\n \"key\": \"1f7e4762b8b755e3e3c72b8610cc87b9bc25d1f0a87c0c816ebb952e4f8aff3d\"\n }\n }\n ], \n \"extra\": [ 1, 253, 10, 119, 137, 87, 244, 243, 16, 58, 131, 138, 253, 164, 136, 195, 205, 173, 242, 105, 123, 61, 52, 173, 113, 35, 66, 130, 178, 250, 217, 16, 14, 2, 8, 0, 0, 0, 11, 223, 194, 193, 108\n ], \n \"signatures\": [ ]\n }, \n \"tx_hashes\": [ ]\n}", "status": "OK" } } ``` -------------------------------- ### Tor Hidden Service Configuration Source: https://github.com/monero-project/monero/blob/master/docs/ANONYMITY_NETWORKS.md Example Tor configuration for Monero's P2P and RPC hidden services. Ensure Tor is installed and running. ```text # P2P Hidden service HiddenServiceDir /var/lib/tor/data/monero HiddenServicePort 18084 127.0.0.1:18084 # anonymous-inbound # RPC Hidden service HiddenServiceDir /var/lib/tor/data/monero-rpc HiddenServicePort 18089 127.0.0.1:18089 # rpc-restricted-bind-port ``` -------------------------------- ### Get Block by Hash Source: https://github.com/monero-project/monero/wiki/Daemon-RPC-documentation Retrieve full block information by providing the block's hash. This example demonstrates a block containing multiple non-coinbase transactions. ```shell [ monero->~ ]$ curl -X POST http://127.0.0.1:18081/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"getblock","params":{"hash":"510ee3c4e14330a7b96e883c323a60ebd1b5556ac1262d0bc03c24a3b785516f"}}' -H 'Content-Type: application/json' { "id": "0", "jsonrpc": "2.0", "result": { "blob": "...", "block_header": { "depth": 12, "difficulty": 964985344, "hash": "510ee3c4e14330a7b96e883c323a60ebd1b5556ac1262d0bc03c24a3b785516f", "height": 993056, "major_version": 1, "minor_version": 2, "nonce": 2036, "orphan_status": false, "prev_hash": "0ea4af6547c05c965afc8df6d31509ff3105dc7ae6b10172521d77e09711fd6d", "reward": 6932043647005, "timestamp": 1457720227 }, ``` -------------------------------- ### Get Bulk Payments with Monero RPC Source: https://github.com/monero-project/monero/wiki/Wallet-RPC-Documentation The `get_bulk_payments` method allows fetching incoming payments for one or more `payment_ids` starting from a specified `min_block_height`. This is a more extensible alternative to `get_payments`. ```json { "jsonrpc": "2.0", "id": "0", "method": "get_bulk_payments", "params": { "payment_ids": [ "4279257e0a20608e25dba8744949c9e1caff4fcdafc7d5362ecf14225f3d9030" ], "min_block_height": 990000 } } ``` -------------------------------- ### Get Address RPC Call Example Source: https://github.com/monero-project/monero/wiki/Wallet-RPC-Documentation Demonstrates how to use curl to call the getaddress RPC method, which returns the wallet's public address. This method requires no input parameters. ```bash curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"getaddress"}' -H 'Content-Type: application/json' ``` -------------------------------- ### Valgrind Test Executable List Example Source: https://github.com/monero-project/monero/blob/master/utils/health/README.md Example format for the input file used by valgrind-tests.sh, listing executables and their arguments line by line. ```text ls -l -h build/tests/unit_tests/unit_tests ``` -------------------------------- ### Manage Guix Daemon (Arch Linux AUR) Source: https://github.com/monero-project/monero/blob/master/contrib/guix/INSTALL.md Stops and disables the existing Guix daemon, then enables and starts the 'guix-daemon-latest' service. This is specific to installations using lantw44's Arch Linux AUR package. ```shell systemctl stop guix-daemon systemctl disable guix-daemon systemctl enable guix-daemon-latest systemctl start guix-daemon-latest ``` -------------------------------- ### Manage Guix Daemon (Source Installation) Source: https://github.com/monero-project/monero/blob/master/contrib/guix/INSTALL.md Stops and disables the original Guix daemon service, then enables and starts the new Guix daemon service after a successful pull. This ensures the system uses the updated Guix daemon. ```shell systemctl stop guix-daemon-original systemctl disable guix-daemon-original systemctl enable guix-daemon systemctl start guix-daemon ``` -------------------------------- ### Build Monero Reproducibly Source: https://github.com/monero-project/monero/blob/master/contrib/guix/README.md Invoke this script from the top of a clean repository to build Monero with all default options. ```sh ./contrib/guix/guix-build ``` -------------------------------- ### Install Project Headers Source: https://github.com/monero-project/monero/blob/master/src/CMakeLists.txt Installs header files to a specified subdirectory within the project's include path. This is part of the development component installation. ```cmake function (monero_install_headers subdir) install ( FILES ${ARGN} DESTINATION "include/${subdir}" COMPONENT development) endfunction () ``` -------------------------------- ### Monero Wallet Proxy Configuration Examples Source: https://github.com/monero-project/monero/blob/master/docs/proxies.md Examples of using the `--proxy` option for Monero CLI/RPC wallets. Supports SOCKS4, 4a, and 5 with optional username and password authentication. IPv6 addresses are also supported. ```bash --proxy 192.168.0.10:1050 ``` ```bash --proxy socks5://192.168.0.10:1050 ``` ```bash --proxy socks5://username:password@192.168.0.10:1050 ``` ```bash --proxy [::1]:1050 ``` ```bash --proxy socks5://[::1]:1050 ``` ```bash --proxy socks5://username:password@[::1]:1050 ``` -------------------------------- ### Install Guile 3.0 on Debian/Ubuntu Source: https://github.com/monero-project/monero/blob/master/contrib/guix/INSTALL.md Installs Guile version 3.0 and its development headers on Debian-derived systems. Ensure both packages are installed if your distribution splits them. ```sh apt install guile-3.0 guile-3.0-dev ``` -------------------------------- ### Bootstrap Guix Build System Source: https://github.com/monero-project/monero/blob/master/contrib/guix/INSTALL.md Bootstrap the build system for Guix. This command prepares the necessary build files. ```sh ./bootstrap ``` -------------------------------- ### Install epee Library for GUI Source: https://github.com/monero-project/monero/blob/master/contrib/epee/src/CMakeLists.txt Conditionally installs the 'epee' and 'epee_readline' libraries if BUILD_GUI_DEPS is enabled. The installation destination depends on the target architecture (IOS vs. others). ```cmake if (BUILD_GUI_DEPS) if(IOS) set(lib_folder lib-${ARCH}) else() set(lib_folder lib) endif() install(TARGETS epee ARCHIVE DESTINATION ${lib_folder}) if (USE_READLINE AND GNU_READLINE_FOUND) install(TARGETS epee_readline ARCHIVE DESTINATION ${lib_folder}) endif() endif() ``` -------------------------------- ### Build and Install Autoconf Packages Source: https://github.com/monero-project/monero/blob/master/contrib/guix/INSTALL.md Build and install packages using an autoconf-style build system. Ensure autogen.sh or configure.ac exists before running. ```sh ./autogen.sh || autoreconf -vfi ./configure --prefix= make sudo make install ``` -------------------------------- ### Install easylogging Library for GUI/libwallet Source: https://github.com/monero-project/monero/blob/master/external/easylogging++/CMakeLists.txt Configures installation rules for the 'easylogging' library, creating platform-specific subdirectories for archives and libraries when BUILD_GUI_DEPS is enabled. ```cmake if (BUILD_GUI_DEPS) if(IOS) set(lib_folder lib-${ARCH}) else() set(lib_folder lib) endif() install(TARGETS easylogging ARCHIVE DESTINATION ${lib_folder} LIBRARY DESTINATION ${lib_folder}) endif() ``` -------------------------------- ### Install gen_ssl_cert Executable Source: https://github.com/monero-project/monero/blob/master/src/gen_ssl_cert/CMakeLists.txt Installs the gen_ssl_cert executable to the 'bin' directory. ```cmake install(TARGETS gen_ssl_cert DESTINATION bin) ``` -------------------------------- ### Make Integrated Address RPC Call Example Source: https://github.com/monero-project/monero/wiki/Wallet-RPC-Documentation Demonstrates how to construct a JSON RPC request to create an integrated address using a payment ID. Ensure the IP and PORT are correctly set for your wallet instance. ```bash IP=127.0.0.1 PORT=18082 METHOD="make_integrated_address" PARAMS="{\"payment_id\":\"1234567890123456789012345678900012345678901234567890123456789000\"}" curl \ -X POST http://$IP:$PORT/json_rpc \ -d '{"jsonrpc":"2.0","id":"0","method":"'$METHOD'","params":'$PARAMS'}' \ -H 'Content-Type: application/json' ``` -------------------------------- ### Autotools Configuration and Staging Source: https://github.com/monero-project/monero/blob/master/contrib/depends/packages.md Provides guidance on using autotools for configuration and staging, including using $(package)_autoconf and the standard 'make install' command with DESTDIR. ```bash $(MAKE) DESTDIR=$($(package)_staging_dir) install ``` -------------------------------- ### Install Guix with AUR helpers (Arch Linux) Source: https://github.com/monero-project/monero/blob/master/contrib/guix/INSTALL.md Commands for installing Guix from the AUR using popular helpers like yay or paru. It's recommended to skip the check phase to avoid potential issues with build directory path length. ```sh yay --mflags="--nocheck" ... ``` ```sh paru --nocheck ... ``` -------------------------------- ### Configure Benchmark Header and Executable Source: https://github.com/monero-project/monero/blob/master/tests/CMakeLists.txt Configures the 'benchmark.h' header file and creates the 'monero-wallet-crypto-bench' executable, linking it with necessary crypto libraries. ```cmake configure_file("${CMAKE_CURRENT_SOURCE_DIR}/benchmark.h.in" "${MONERO_GENERATED_HEADERS_DIR}/tests/benchmark.h") monero_add_minimal_executable(monero-wallet-crypto-bench benchmark.cpp ${BENCH_OBJECTS}) target_link_libraries(monero-wallet-crypto-bench cncrypto) ``` -------------------------------- ### Fetch All Sources Without Building Source: https://github.com/monero-project/monero/blob/master/contrib/depends/README.md Run this target to download all necessary source files for dependencies without compiling them. ```bash make download ``` -------------------------------- ### Fetch Sources for Windows Builds Source: https://github.com/monero-project/monero/blob/master/contrib/depends/README.md Run this target to download only the source files required for building dependencies on Windows. ```bash make download-win ```