How to run a miner

Let's have a look at how to run miner in Arweave

Prerequisites:

  • Arweave Wallet already setup

    • You can download the chrome extension from here.

  • You need an Arweave wallet address in order to receive mining rewards.

Minimum Hardware Requirements:

CPURAMStorage

8 core

32GB

6TB+ Nvme SSD

Install the miner.

  • Download the .tar.gz archive for your OS from the releases page.

  • Extract the contents of the archive.

  • It's recommended to unpack it inside a dedicated directory.

  • You can always move this directory around, but the miner may not work if you move only some of the files.

  • The weave data would, by default, be stored in this directory as well, but we recommend to override it using the data_dir command-line argument.

  • If your OS/platform architecture is not in the list, check the source code repository README for how to build the miner from source.

It is also possible to set-up an Arweave mining environment on Windows using the ‘Windows Subsystem for Linux’ or a virtual machine environment.

Preparation: File Descriptors Limit

  • The number of available file descriptors affects the rate at which your node can process data.

  • As the default limit assigned to user processes on most operating systems is usually low, we recommend increasing it.

  • You can check the current limit by executing ulimit -n

  • On Linux, to set a bigger global limit, open /etc/sysctl.conf and add the following line:

fs.file-max=100000000
  • Execute sysctl -p to make the changes take effect.

  • You may also need to set a proper limit for the particular user. To set a user-level limit, open /etc/security/limits.conf and add the following line:

<your OS user> soft nofile 10000000
  • Open a new terminal session. To make sure the changes took effect, and the limit was increased, type ulimit -n. You can also change the limit for the current session via ulimit -n 10000000

  • If the above does not work, set

DefaultLimitNOFILE=10000000
  • in both /etc/systemd/user.conf and /etc/systemd/system.conf

Running the miner

  • Now you’re ready to start the mining process by using the following command from the Arweave directory:

Note:

In order to protect your machine from material that may be illegal in your country, you should use a content policy when mining Arweave. Content policies can be generated using the Shepherd tool. Shepherd allows you to create your own content policies for the content that you would like to store on your Arweave node, abiding by your moral and legal requirements.

In order to help you get started quickly, @ArweaveTeam provides an NSFW content filter which you can load by adding the following to your Arweave start command:

transaction_blacklist_url http://shepherd-v.com/nsfw.txt

./bin/start mine mining_addr YOUR-MINING-ADDRESS peer 188.166.200.45 peer 188.166.192.169 peer 163.47.11.64 peer 139.59.51.59 peer 138.197.232.192

Please replace YOUR-MINING-ADDRESS with the address of the wallet you would like to credit when you find a block!

  • If you would like to see a log of your miner’s activity, you can run ./bin/logs -f in the Arweave directory in a different terminal.

  • The mining console should eventually look like this:

[Stage 1/3] Starting to hash
Miner spora rate: 1545 h/s, recall bytes computed/s: 3129, MiB/s read: 386, the round lasted 145 seconds.
[Stage 1/3] Starting to hash
Skipping hashrate report, the round lasted less than 10 seconds.
[Stage 1/3] Starting to hash
Miner spora rate: 1545 h/s, recall bytes computed/s: 3182, MiB/s read: 386, the round lasted 135 seconds.
[Stage 1/3] Starting to hash
Miner spora rate: 1637 h/s, recall bytes computed/s: 3292, MiB/s read: 409, the round lasted 245 seconds.
[Stage 1/3] Starting to hash
  • When you mine a block, the console shows:

[Stage 2/3] Produced candidate block ... and dispatched to network.
  • Approximately 20 minutes later, you should see

[Stage 3/3] Your block ... was accepted by the network
  • Note that occasionally your block won't be confirmed (the chain chooses a different fork).

  • To stop the miner, run ./bin/stop or kill the OS process (kill -sigterm or pkill ). Sending a SIGKILL (kill -9) is not recommended.

Last updated