### Local MkDocs Serve Setup Source: https://github.com/nanocurrency/nano-docs/blob/main/readme.md Install MkDocs and its dependencies using pip and serve the documentation locally. This is an alternative to the Docker setup. ```bash pip3 install -r requirements.txt mkdocs serve ``` -------------------------------- ### Docker Entrypoint Usage Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/docker-management.md Examples of using the Docker entry script for Nano node operations, including starting as a daemon, passing CLI options, logging, and vacuuming the database. ```bash Usage: /entry.sh nano_node [[--]daemon] [cli_options] [-l] [-v size] [--]daemon start as daemon either cli [--daemon] form or short form [daemon] cli_options nano_node cli options -l log to console -v vacuum database if over size GB on startup /entry.sh bash [other] other bash pass through /entry.sh [*] * usage default: /entry.sh nano_node daemon -l ``` -------------------------------- ### Configure Node Settings Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/configuration.md Example configuration snippet showing settings for RPC, child process, and OpenCL. The `rpc_path` is a Windows-specific example. ```json { "enable_sign_hash": "true", "version": "1", "child_process": { "enable": "false", // Whether the rpc server is run as a child process rather than in-process "rpc_path": "C:\\Users\\Wesley\\Documents\\raiblocks\\build\\Debug\\nano_rpc.exe", // The nano_rpc executable to run if enabled (Windows example). } }, "opencl_enable": "false", // Enable GPU hashing "opencl": { "platform": "0", // Platform ID "device": "0", // Device ID "threads": "1048576" } } ``` -------------------------------- ### Start Test Network Docker Container Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/test-network.md Starts the nano node Docker container on the test network. Ensure a separate host directory is used for test network setups to avoid conflicts with main or beta networks. ```bash docker run --rm --network=host -v ".:/root/.nano" nanocurrency/nano-test --daemon --test --disable-லத்தில் --rpc --fast-download --enable-ipv6 --config node-config.yml ``` -------------------------------- ### Sample Bootstrap Attempt Started Result Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/websockets.md This is a sample JSON response when a bootstrap attempt starts. ```json { "topic": "bootstrap", "time": "1561661740065", "message": { "reason": "started", "id": "C9FF2347C4DF512A7F6B514CC4A0F79A", "mode": "legacy" } } ``` -------------------------------- ### Enable Nano Node Service at Startup Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/advanced.md Command to configure the nano_node service to start automatically on system boot. ```bash sudo systemctl enable nano_node ``` -------------------------------- ### Start Nano Node Docker Container for Beta Network Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/node-setup.md This command starts the Nano node container for the beta network. Replace placeholders with your specific configuration, such as container name, tag, and host directory for data storage. ```bash #!/bin/bash # Assign a name to the docker container export NANO_NAME=nano_node_container # Specify the Docker tag to use (e.g., V25.1) export NANO_TAG=V25.1 # Specify the location on the host computer for ledger, config, and logs export NANO_HOST_DIR=/path/to/your/nano/data docker run -d --name ${NANO_NAME} -v ${NANO_HOST_DIR}:/root/Nano --network=host nanocurrency/nano-beta:${NANO_TAG} ``` -------------------------------- ### Start Nano Node Service Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/advanced.md Command to start the nano_node service using systemd. ```bash sudo service nano_node start ``` -------------------------------- ### Build Package for Windows Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/build-options.md Use cpack to generate a Windows installer. 'NSIS' specifies the Nullsoft Scriptable Install System format. ```bash cpack -G "NSIS" ``` -------------------------------- ### Samples Log File Example Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/troubleshooting.md This is an example of the `samples.stat` log file. It contains time-series data of node activities, reflecting sampled events at specific intervals. ```text samples,2018.03.29 01:45:36 01:45:36,bootstrap,initiate,out,2 samples,2018.03.29 01:45:41 01:45:37,traffic,all,in,322608 01:45:38,traffic,all,in,37064 01:45:39,traffic,all,in,38752 01:45:40,traffic,all,in,25632 01:45:38,traffic,all,out,185072 01:45:39,traffic,all,out,3072 01:45:41,traffic,all,out,920 01:45:37,message,all,in,1387 01:45:38,message,all,in,126 01:45:39,message,all,in,179 01:45:40,message,all,in,101 01:45:37,message,all,out,1254 01:45:38,message,all,out,10 01:45:39,message,all,out,16 01:45:41,message,all,out,6 01:45:38,message,keepalive,in,165 01:45:38,message,keepalive,out,1011 01:45:39,message,keepalive,out,12 01:45:41,message,keepalive,out,3 01:45:37,message,publish,in,19 01:45:38,message,publish,in,8 01:45:40,message,publish,in,3 01:45:41,message,publish,in,4 01:45:38,message,confirm_req,in,164 01:45:37,message,confirm_req,out,249 01:45:38,message,confirm_req,out,3 01:45:39,message,confirm_req,out,6 01:45:41,message,confirm_req,out,3 01:45:37,message,confirm_ack,in,1046 01:45:38,message,confirm_ack,in,141 01:45:39,message,confirm_ack,in,150 01:45:40,message,confirm_ack,in,100 01:45:36,bootstrap,all,out,2 01:45:36,bootstrap,initiate,out,2 01:45:41,bootstrap,initiate,out,1 ``` -------------------------------- ### Install Ubuntu Dependencies Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/build-options.md Installs essential build tools for Ubuntu 22.04 LTS and later. Includes Git, CMake, and a C++ compiler. ```bash sudo apt-get update && sudo apt-get upgrade sudo apt-get install git cmake g++ curl wget ``` -------------------------------- ### Start Nano Node Docker Container for Test Network Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/node-setup.md This command starts the Nano node container for the test network. Replace placeholders with your specific configuration, such as container name, tag, and host directory for data storage. ```bash #!/bin/bash # Assign a name to the docker container export NANO_NAME=nano_node_container # Specify the Docker tag to use (e.g., V25.1) export NANO_TAG=V25.1 # Specify the location on the host computer for ledger, config, and logs export NANO_HOST_DIR=/path/to/your/nano/data docker run -d --name ${NANO_NAME} -v ${NANO_HOST_DIR}:/root/Nano --network=host nanocurrency/nano-test:${NANO_TAG} ``` -------------------------------- ### Send Funds Example Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/key-management.md An example of sending 1 Nano (raw) from one account to another using the send RPC command. This demonstrates the required parameters for a typical transaction. ```bash curl -d '{ "action": "send", "wallet": "000D1BAEC8EC208142C99059B393051BAC8380F9B5A2E6B2489A277D81789F3F", "source": "nano_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000", "destination": "nano_16odwi933gpzmkgdcy9tt5zef5ka3jcfubc97fwypsokg7sji4mb9n6qtbme", "amount": "1000000000000000000000000000000", "id": "7081e2b8fec9146e" }' http://127.0.0.1:7076 ``` -------------------------------- ### Install Qt Wallet Dependencies on Debian Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/build-options.md Installs Qt development packages required for building the Qt wallet on Debian. ```bash sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools ``` -------------------------------- ### Counters Log File Example Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/troubleshooting.md This is an example of the `counters.stat` log file. It shows aggregated statistics logged at intervals, useful for historical analysis of node performance. ```text counters,2018.03.29 01:45:36 01:44:56,bootstrap,all,out,1 01:45:36,bootstrap,initiate,out,2 counters,2018.03.29 01:45:41 01:45:41,traffic,all,in,456344 01:45:41,traffic,all,out,189520 01:45:41,message,all,in,1925 01:45:41,message,all,out,1289 01:45:38,message,keepalive,in,165 01:45:41,message,keepalive,out,1027 01:45:41,message,publish,in,34 01:45:38,message,confirm_req,in,164 01:45:41,message,confirm_req,out,262 01:45:41,message,confirm_ack,in,1562 01:45:36,bootstrap,all,out,2 01:45:41,bootstrap,initiate,out,3 ``` -------------------------------- ### Start Nano Node Container Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/docker-management.md Starts the nano node Docker container as a daemon. Ensure environment variables like NANO_NAME, NANO_TAG, and NANO_HOST_DIR are set or substituted with explicit values. The NANO_HOST_DIR maps to the container's /root directory for persistent storage of ledger and configuration files. ```bash docker run --restart=unless-stopped -d \ -p 7075:7075 \ -p 127.0.0.1:7076:7076 \ -p 127.0.0.1:7078:7078 \ -v ${NANO_HOST_DIR}:/root \ --name ${NANO_NAME} \ nanocurrency/nano:${NANO_TAG} ``` -------------------------------- ### Database transaction tracker response example (Windows/Debug) Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/commands/rpc-protocol.md An example response from the database_txn_tracker command on Windows in debug mode, showing details of open transactions. ```json { "txn_tracking": [ { "thread": "Blck processing", "time_held_open": "2", "write": "true", "stacktrace": [ { "name": "nano::mdb_store::tx_begin_write", "address": "00007FF7142C5F86", "source_file": "c:\\users\\wesley\\documents\\raiblocks\\nano\\node\\lmdb.cpp", "source_line": "825" }, { "name": "nano::block_processor::process_batch", "address": "00007FF714121EEA", "source_file": "c:\\users\\wesley\\documents\\raiblocks\\nano\\node\\blockprocessor.cpp", "source_line": "243" }, { "name": "nano::block_processor::process_blocks", "address": "00007FF71411F8A6", "source_file": "c:\\users\\wesley\\documents\\raiblocks\\nano\\node\\blockprocessor.cpp", "source_line": "103" }, ... ] } ... // other threads ] } ``` -------------------------------- ### Start Nano Node Docker Container for Main Network Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/node-setup.md This command starts the Nano node container for the main network. Replace placeholders with your specific configuration, such as container name, tag, and host directory for data storage. ```bash #!/bin/bash # Assign a name to the docker container export NANO_NAME=nano_node_container # Specify the Docker tag to use (e.g., V25.1) export NANO_TAG=V25.1 # Specify the location on the host computer for ledger, config, and logs export NANO_HOST_DIR=/path/to/your/nano/data docker run -d --name ${NANO_NAME} -v ${NANO_HOST_DIR}:/root/Nano --network=host nanocurrency/nano:${NANO_TAG} ``` -------------------------------- ### Node Configuration Example Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/configuration.md This TOML snippet shows how to configure the node category, specifically enabling voting. ```toml [node] # Enable or disable voting. Enabling this option requires additional system resources, namely increased CPU, bandwidth and disk usage. # type:bool enable_voting = true ``` -------------------------------- ### RPC Gateway POST Request Example Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/ipc-integration.md Make RPC calls without a message envelope by appending the message name to the URL path. This example shows how to get account weight. ```json { "account": "nano_3t6k35gi95xu6tergt6p69ck76ogmitsa8mnijtpxm9fkcm736xtoncuohr3" } ``` -------------------------------- ### Example Environment Variable Configuration Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/logging-tracing.md Demonstrates setting both the default log level and specific log levels for individual components using export commands. ```bash export NANO_LOG=warn export NANO_LOG_LEVELS=active_transactions=debug,bootstrap=debug ``` -------------------------------- ### Get Successors Blocks Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/commands/rpc-protocol.md Retrieves a list of block hashes in an account's chain, starting from a given block up to the frontier. The starting block is included. 'count' specifies the number of blocks to return; '-1' returns all blocks up to the frontier. ```json { "action": "successors", "block": "991CF190094C00F0B68E2E5F75F6BEE95A2E0BD93CEAA4A6734DB9F19B728948", "count": "1" } ``` -------------------------------- ### Get Frontiers Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/commands/rpc-protocol.md Retrieves a list of account and block hash pairs representing the head block for a specified number of accounts starting from a given account. ```json { "action": "frontiers", "account": "nano_1111111111111111111111111111111111111111111111111111hifc8npp", "count": "1" } ``` ```json { "frontiers" : { "nano_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000": "000D1BAEC8EC208142C99059B393051BAC8380F9B5A2E6B2489A277D81789F3F" } } ``` -------------------------------- ### Build Qt Wallet for *nix Systems Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/build-options.md Commands to configure, build, and install the Qt wallet dependencies on Unix-like systems. Requires Qt 5.15.2+ open source edition to be downloaded and extracted to a specified source directory. ```bash [qt.src]/configure -shared -opensource -nomake examples -nomake tests -confirm-license -prefix [qt] make make install ``` -------------------------------- ### Download Nano Node for macOS Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/snippets/current-build-links-main.md Get the Nano node installer for macOS. Ensure the downloaded file is authentic by comparing its SHA256 checksum with the provided one. ```bash https://repo.nano.org/live/binaries/nano-node-V28.2-Darwin.dmg ``` -------------------------------- ### UPnP Port Mapping Conflict Error Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/troubleshooting.md Example log output indicating a port mapping conflict during UPnP setup. Check for static routes if you encounter this error. ```log [2019-Oct-29 11:06:56.641389]: UPnP failed 718: ConflictInMappingEntry [2019-Oct-29 11:06:56.644387]: UPnP failed 718: ConflictInMappingEntry ``` -------------------------------- ### Enable GUI Wallet Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/build-options.md Enable the build of the GUI wallet by setting the 'NANO_GUI' CMake variable to 'ON'. Requires Qt5 development libraries. ```bash cmake -D NANO_GUI=ON -D Qt5_DIR=[qt]lib/cmake/Qt5 ``` -------------------------------- ### Build Qt Wallet for Windows Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/build-options.md Commands to configure, build, and install the Qt wallet dependencies on Windows. Requires Qt 5.15.2+ open source edition to be downloaded and extracted to a specified source directory. Uses 'nmake' for building. ```bash [qt.src]/configure -shared -opensource -nomake examples -nomake tests -confirm-license -prefix [qt] nmake nmake install ``` -------------------------------- ### Create a Nano Wallet (Beta Network) Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/wallet-setup.md Use this command to create a new wallet and generate a seed on the beta network. The response includes a wallet ID. ```bash curl -d '{ "action": "wallet_create" }' http://127.0.0.1:55000 ``` -------------------------------- ### Normal UPnP Message - Port Mapping Not Found Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/troubleshooting.md Example log output for a normal UPnP message indicating that a specific port mapping entry was not found. This is expected when the node starts and UPnP is mapping the port. ```log [2019-Oct-29 11:06:56.641389]: UPNP_GetSpecificPortMappingEntry failed 714: NoSuchEntryInArray [2019-Oct-29 11:06:56.644387]: UPNP_GetSpecificPortMappingEntry failed 714: NoSuchEntryInArray ``` -------------------------------- ### bootstrap_any Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/commands/rpc-protocol.md Initializes a multi-connection bootstrap process to random peers. This command is not compatible with the --disable_legacy_bootstrap flag. Optional parameters include 'force', 'id', and 'account'. ```APIDOC ## bootstrap_any ### Description Initializes multi-connection bootstrap to random peers. Not compatible with launch flag [--disable_legacy_bootstrap]. ### Method POST ### Endpoint /rpc ### Parameters #### Request Body - **action** (string) - Required - The action to perform, must be "bootstrap_any". - **force** (boolean) - Optional - Manually force closing of all current bootstraps. Defaults to false. - **id** (string) - Optional - Set a specific ID for the bootstrap attempt for better tracking. - **account** (string) - Optional - Public address for targeting a specific account on bootstrap attempt. ### Request Example ```json { "action": "bootstrap_any" } ``` ### Response #### Success Response (200) - **success** (string) - Indicates if the bootstrap_any command was successfully initiated. #### Response Example ```json { "success": "" } ``` ``` -------------------------------- ### Create a Nano Wallet (Test Network) Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/wallet-setup.md Use this command to create a new wallet and generate a seed on the test network. The response includes a wallet ID. ```bash curl -d '{ "action": "wallet_create" }' http://127.0.0.1:17076 ``` -------------------------------- ### Delegators count response example Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/commands/rpc-protocol.md An example response for the delegators_count command, showing the total number of delegators. ```json { "count": "2" } ``` -------------------------------- ### Delegators response example Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/commands/rpc-protocol.md An example response for the delegators command, showing a mapping of delegator accounts to their balances. ```json { "delegators": { "nano_13bqhi1cdqq8yb9szneoc38qk899d58i5rcrgdk5mkdm86hekpoez3zxw5sd": "500000000000000000000000000000000000", "nano_17k6ug685154an8gri9whhe5kb5z1mf5w6y39gokc1657sh95fegm8ht1zpn": "961647970820730000000000000000000000" } } ``` -------------------------------- ### Confirmation quorum response example Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/commands/rpc-protocol.md An example response for the confirmation_quorum command, showing various stake and quorum metrics. ```json { "quorum_delta": "41469707173777717318245825935516662250", "online_weight_quorum_percent": "50", "online_weight_minimum": "60000000000000000000000000000000000000", "online_stake_total": "82939414347555434636491651871033324568", "peers_stake_total": "69026910610720098597176027400951402360", "trended_stake_total": "81939414347555434636491651871033324568" } ``` -------------------------------- ### Docker Setup for Nano Docs Development Source: https://github.com/nanocurrency/nano-docs/blob/main/readme.md Use these Docker commands to pull the latest image and run the documentation locally for development. Access the site at http://localhost:8000. ```bash docker pull ghcr.io/nanocurrency/nano-docs:latest docker run --rm -it -p 8000:8000 ghcr.io/nanocurrency/nano-docs:latest ``` -------------------------------- ### Build Boost for *nix Systems Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/build-options.md Commands to bootstrap and build Boost libraries for Nano node versions prior to V25.0 on Unix-like systems. Ensure you have downloaded and extracted Boost to a specified source directory. ```bash ./bootstrap.sh --with-libraries=context,coroutine,filesystem,log,program_options,system,thread ./b2 --prefix=[boost] --build-dir=[boost.build] link=static install ``` -------------------------------- ### JSON Response Example Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/advanced.md This is an example of a success response when processing a block. Note that the 'contents' field is a stringified JSON object. ```json { "block_account": "nano_3qb1qckpady6njewfotrdrcgakrgbfh7ytqfrd9r8txsx7d91b9pu6z1ixrg", "amount": "100000000000000000000000", "balance": "8900000000000000000000000", "height": "105", "local_timestamp": "0", "contents": "{\n \"type\": \"state\",\n \"account\": \"nano_3qb1qckpady6njewfotrdrcgakrgbfh7ytqfrd9r8txsx7d91b9pu6z1ixrg\",\n \"previous\": \"829C33C4E1F41F24F50AB6AF8D0893F484E7078F0FA05F8F56CB69223E8EEE77\",\n \"representative\": \"nano_3rropjiqfxpmrrkooej4qtmm1pueu36f9ghinpho4esfdor8785a455d16nf\",\n \"balance\": \"8900000000000000000000000\",\n \"link\": \"616349D5A5EBA49A73324EF29044B65E13644EC182FFC1ACA4371F897EFF22AA\",\n \"link_as_account\": \"nano_1rd5b9ctdtx6mbsm6mqkk34deqimej9e51qzr8pcafrzj7zhyaockuye93sk\",\n \"signature\": \"5058A5A1D371CE367D88DB232D398B33DF15FF95D84206986848F4165FFD9FB009B99D9DC6E90D2A3D96C639C7772497C6D6FFB8A67143AE9BB07DC49EB72401\",\n \"work\": \"5621a5a58ef8964a\"\n }\n" } ``` -------------------------------- ### Initialize Multi-Connection Bootstrap Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/commands/rpc-protocol.md Initiates a multi-connection bootstrap to random peers. This command is not compatible with the --disable_legacy_bootstrap flag. Optional parameters 'force', 'id', and 'account' can be used for specific scenarios. ```json { "action": "bootstrap_any" } ``` -------------------------------- ### Example config-log.toml Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/logging-tracing.md Configuration file for logging settings, including default level, console output, file output, and individual logger levels. ```toml [log] default_level = "info" [log.console] #colors = true enable = true #to_cerr = false [log.file] enable = true #max_size = 33554432 #rotation_count = 4 [log.levels] #active_transactions = "info" #all = "info" #blockprocessor = "info" #bootstrap = "info" #bootstrap_lazy = "info" #... #log_type = "log_level" ``` -------------------------------- ### Create Account on Beta Network Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/wallet-setup.md Use this command to create a new account on the Nano beta network. Ensure your node is running and accessible. ```bash curl -d '{ "action": "account_create", "wallet": "E3E67B1B3FFA46F606240F1D0B964873D42E9C6D0B7A0BF376A2E128541CC446" }' http://127.0.0.1:55000 ``` -------------------------------- ### Subscribe to Started Elections Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/websockets.md Use this JSON payload to subscribe to notifications when a new election is started. This allows tracking the initiation of block confirmations. ```json { "action": "subscribe", "topic": "started_election" } ``` -------------------------------- ### Install binutils for Debugging (Ubuntu/Debian) Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/troubleshooting.md Installs the binutils package, which is likely already present, required for debugging crash reports on Ubuntu/Debian systems. ```bash apt-get install binutils ``` -------------------------------- ### Install Rocky Linux Dependencies Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/build-options.md Installs necessary build tools for Rocky Linux 8, including Git, CMake, cURL, and Wget. ```bash sudo yum check-update sudo yum install git curl wget cmake ``` -------------------------------- ### Enable UPnP Logging (V26 and earlier) Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/troubleshooting.md Enable UPnP detailed logging for troubleshooting by appending this configuration to your launch command. For Nano node versions 26 or earlier. ```bash --config node.logging.upnp_details=true ``` -------------------------------- ### Install Debian Dependencies Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/build-options.md Installs essential build tools and libraries for Debian 11. Includes CMake, Clang, and Qt development packages. ```bash sudo apt-get update && sudo apt-get upgrade sudo apt-get install git cmake build-essential libc++-dev libc++abi-dev clang clang++11 curl wget sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools ``` -------------------------------- ### Download Nano Node for Windows (EXE) Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/snippets/current-build-links-main.md Download the executable installer for the Nano node on Windows. Verify the download using the SHA256 checksum to prevent tampering. ```bash https://repo.nano.org/live/binaries/nano-node-V28.2-win64.exe ``` -------------------------------- ### Launch Nano Node in Test Mode Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/advanced.md Use this command to start the nano_node in daemon mode for testing purposes on the test network. ```bash ./nano_node --daemon --network=test ``` -------------------------------- ### RPC Gateway Error Response Example Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/ipc-integration.md Example of an error response from the RPC gateway, indicating an access denied issue with a specific error code. ```json { "time": 1579737134595, "message_type": "Error", "message": { "code": 3, "message": "Access denied" } } ``` -------------------------------- ### Install binutils for Debugging (Fedora) Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/running-a-node/troubleshooting.md Installs the binutils package, which is likely already present, required for debugging crash reports on Fedora 22+ systems. ```bash dnf install binutils ``` -------------------------------- ### payment_begin Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/commands/rpc-protocol.md Begins a new payment session. Searches the wallet for an available account with a 0 balance. If found, the account is returned and marked as unavailable. If not found, a new account is created, placed in the wallet, and returned. ```APIDOC ## payment_begin ### Description Begin a new payment session. Searches wallet for an account that's marked as available and has a 0 balance. If one is found, the account number is returned and is marked as unavailable. If no account is found, a new account is created, placed in the wallet, and returned. ### Request ```json { "action": "payment_begin", "wallet": "000D1BAEC8EC208142C99059B393051BAC8380F9B5A2E6B2489A277D81789F3F" } ``` ### Response ```json { "account" : "nano_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000" } ``` ``` -------------------------------- ### Build Qt Wallet Source: https://github.com/nanocurrency/nano-docs/blob/main/docs/integration-guides/build-options.md Compile the Nano Qt wallet. This command is only necessary if you require the graphical user interface for the wallet. ```makefile make nano_wallet ```