For the complete documentation index, see llms.txt. This page is also available as Markdown.

Solo Mining

Example arweave configuration for solo mining

  • When mining your node needs to have a valid wallet installed - see Node Wallet

  • For the following examples we will alway use En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI or Q5EfKawrRazp11HEDf_NJpxjYMV385j21nlQNjR8_pY as mining addresses. Replace them with your own address(es) before running the sample commands.

1. Overview

  • You've downloaded and packed all your data to 16TB disks using the mining address En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI

  • You'll use one of the DHA-provided public VDF servers

  • You'll use the publicly available NSFW filter provided by Shepherd

  • Run your miner with:

    • mining.enabled: true

    • peers.vdf_server set to vdf-server-3.arweave.xyz to use the DHA-provided VDF server

  • See Running Your Node for more information

2. Sample Directory Structure

  • Mount points for 16TB disks that will store the packed data:

    • /mnt/a

    • /mnt/b

  • data_dir: /opt/data

  • Storage module symlinks:

    • /opt/data/storage_modules/storage_module_0_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9 -> /mnt/a/storage_module_0_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9

    • /opt/data/storage_modules/storage_module_1_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9 -> /mnt/a/storage_module_1_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9

    • /opt/data/storage_modules/storage_module_2_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9 -> /mnt/a/storage_module_2_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9

    • /opt/data/storage_modules/storage_module_3_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9 -> /mnt/a/storage_module_3_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9

    • /opt/data/storage_modules/storage_module_4_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9 -> /mnt/b/storage_module_4_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9

    • /opt/data/storage_modules/storage_module_5_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9 -> /mnt/b/storage_module_5_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9

    • /opt/data/storage_modules/storage_module_6_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9 -> /mnt/b/storage_module_6_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9

    • /opt/data/storage_modules/storage_module_7_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9 -> /mnt/b/storage_module_7_En2eqsVJARnTVOSh723PBXAKGmKgrGSjQ2YIGwE_ZRI.replica.2.9

3. Sample Launch Command

Launch your node with the configuration file shown in the next section:

4. Sample Configuration

The same configuration in YAML, JSON, and command-line form:

/opt/arweave/config.yaml:

/opt/arweave/config.json:

With the CLI form there is no config file - every option is passed as a flag, with list options as a single-quoted JSON value (see Command-line Flags for the value syntax). The pre-2.9.6 space-separated launch style also still works (Legacy Configuration). For example:

Last updated

Was this helpful?