lotus/documentation/en/mining.md
Celeste A. Seberras 5d1e51da9c
Update mining.md
2020-07-30 02:57:25 -04:00

3.5 KiB

Storage Mining

Here are instructions to learn how to perform storage mining. For hardware specifications please read this.

It is useful to join the Testnet prior to attempting storage mining for the first time.

Note: Using the Lotus Storage Miner from China

If you are trying to use lotus-storage-miner from China. You should set this environment variable on your machine.

IPFS_GATEWAY="https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/"

Get started

Please ensure that at least one BLS address (starts with t3) in your wallet exists with the following command:

lotus wallet list

If you do not have a bls address, create a new bls wallet:

lotus wallet new bls

With your wallet address:

  • Visit the faucet
  • Click "Create Miner"
  • DO NOT REFRESH THE PAGE. THIS OPERATION CAN TAKE SOME TIME.

The task will be complete when you see:

New storage miners address is: <YOUR_NEW_MINING_ADDRESS>

Initialize the storage miner

In a CLI window, use the following command to start your miner:

lotus-storage-miner init --actor=ACTOR_VALUE_RECEIVED --owner=OWNER_VALUE_RECEIVED

Example

lotus-storage-miner init --actor=t01424 --owner=t3spmep2xxsl33o4gxk7yjxcobyohzgj3vejzerug25iinbznpzob6a6kexcbeix73th6vjtzfq7boakfdtd6a

You will have to wait some time for this operation to complete.

Mining

To mine:

lotus-storage-miner run

If you are downloading Filecoin Proof Parameters, the download can take some time.

Get information about your miner:

lotus-storage-miner info
# example: miner id `t0111`

Seal random data to start producing PoSts:

lotus-storage-miner sectors pledge
  • Warning: On Linux configurations, this command will write data to $TMPDIR which is not usually the largest partition. You should point the value to a larger partition if possible.

Get miner power and sector usage:

lotus state power
# returns total power

lotus state power <miner>

lotus state sectors <miner>

Performance tuning

FIL_PROOFS_MAXIMIZE_CACHING=1 Environment variable

This env var can be used with lotus-storage-miner, lotus-seal-worker, and lotus-bench to make the precommit1 step faster at the cost of some memory use (1x sector size)

FIL_PROOFS_USE_GPU_COLUMN_BUILDER=1 Environment variable

This env var can be used with lotus-storage-miner, lotus-seal-worker, and lotus-bench to enable experimental precommit2 GPU acceleration

Setting multiaddresses

Set multiaddresses for the miner to listen on in a miner's config.toml file (by default, it is located at ~/.lotusminer/config.toml). The ListenAddresses in this file should be interface listen addresses (usually /ip4/0.0.0.0/tcp/PORT), and the AnnounceAddresses should match the addresses being passed to set-addrs.

The addresses passed to set-addrs parameter in the commands below should be currently active and dialable; confirm they are before entering them.

Once the config file has been updated, set the on-chain record of the miner's listen addresses:

lotus-miner actor set-addrs <multiaddr_1> <multiaddr_2> ... <multiaddr_n>

This updates the MinerInfo object in the miner's actor, which will be looked up when a client attempts to make a deal. Any number of addresses can be provided.

Example:

 lotus-miner actor set-addrs /ip4/123.123.73.123/tcp/12345 /ip4/223.223.83.223/tcp/23456