# Set up

Before you begin storing any data on the Filecoin network, you need to run through a few steps to get everything set up. This section covers getting access to a Lotus full-node, creating a Lotus lite-node on your computer, getting a FIL address, and signing up to Filecoin+.

A flowchart showing to steps within this set up process.

What is Lotus?

Programs that interact with the Filecoin network are called implementations, and Lotus is a command-line interface (CLI) implementation. There are other implementation being created alongside Lotus, however Lotus is the only Filecoin implementation created and maintained by Protocol Labs.

# Things to note

As you're going through this section, make a note of the following variables:

Variable Description Example
Your Filecoin address The public part of your Filecoin address. This address is what other users can use to send your FIL. f1fwavjcfb32nxbczmh3kgdxhbffqjfsfby2otloi

# Access a full-node

A Lotus full-node is a computer running the lotus daemon. Full-nodes are unique because they have complete access to the Filecoin blockchain. The computer specifications required to run a Lotus full-node are relatively high and might be out of reach for most end-user laptops and PCs.

Usually, we'd have to spin up a full-node, but we're going to use a Lotus full-node provided by Protocol Labs for this tutorial. This node, called api.chain.love, is only for practice sessions like this tutorial and should not be relied upon for any production or development purposes.

# Install a lite-node

A lite-node lets your computer interact with the Filecoin network without having to run a resource-intensive full-node! Lite-nodes can do things like sign messages and talk to storage providers, but any processes that need data from the blockchain must come from a full-node. Luckily, lite-nodes automatically route any blockchain-based requests to a full-node. For this tutorial, you're going to run a Lotus lite-node on your local computer and have it connect to a full-node managed by Protocol Labs.

A diagram showing how Lotus lite-nodes interact with Lotus full-nodes.

To install a Lotus lite-node on your computer, you must have the tools required to build a Lotus binary from the GitHub repository.

Take a look at Lotus: install and setup to learn how to install Lotus on other operating systems.

# Run a Lotus lite-node

Now that you have Lotus ready to run, you can start a Lotus lite-node on your computer and connect to the api.chain.love Lotus full-node!

WARNING

Just as a reminder, api.chain.love is a Lotus full-node managed by Protocol Labs. It's ideal for use in this tutorial, but should not be used in a development or in a production environment.

  1. Open a terminal windows and run the lotus daemon --lite command, using api.chain.love as the full-node address:

    FULLNODE_API_INFO=wss://api.chain.love lotus daemon --lite
    
    ...
    2021-06-16T02:00:08.390Z        INFO    markets loggers/loggers.go:56   module ready   {"module": "storage client"}
    2021-06-16T02:00:08.392Z        INFO    markets loggers/loggers.go:56   module ready   {"module": "retrieval client"}
    2021-06-16T02:00:18.190Z        INFO    basichost       basic/natmgr.go:91      DiscoverNAT error:no NAT found
    ...
    
  2. MacOS users may see a warning regarding Lotus. Select Accept incoming connections if you see a warning.

  3. The Lotus daemon will continue to run. You must run further commands from a separate terminal window.

Next up is getting a FIL address ↓

# Get a FIL address

Filecoin addresses are similar to regular bank account numbers. Other users can use your address to send you FIL, and you can use your address to pay storage providers for storing and retrieving your data.

There are two parts to a Filecoin address: the public address and the private key. You can freely share your public address with anyone, but you should never share your private key. We're not going to view any private keys in this tutorial, but it's essential to understand the difference between your public address and your private key.

  1. Open a new terminal window and create an address using the lotus wallet new command:

    lotus wallet new 
    
    f1fwavjcfb32nxbczmh3kgdxhbffqjfsfby2otloi
    

    Lotus outputs your public address. Public addresses always start with f1.

  2. Make a note of this address. We'll use it in an upcoming section.

# Backup your address

Your address is made up of two parts: your public address and your private key. The public address is what you see when you run lotus wallet new, and you're safe to share that address with whoever you want. Your private key, however, must be kept secret and secure. If you lose your private key, you lose access to any FIL stored in that address.

It is incredibly important that you backup your addreses. Storing a copy of your addresses on another device is a great way to ensure you don't lose access to your funds.

  1. If your public address f1... is still in the terminal window, copy it to your clipboard. If not, list the addresses associated with your Lotus node and copy your public address:

    lotus wallet list
    
    Address                                    Balance  Nonce  Default  
    f1nau67e6k6ggdwluatfz4waexetjfrqmx6fil3nq  0 FIL    0      X  
    
  2. Use lotus wallet export to export your private key, replacing f1... with your public key:

    lotus wallet export f1... > my_address.key
    

    This will create a new file called my_address.key in the current directory.

Once you have your address in a file, you can copy it to another drive, securely send it to another computer, or even print it out. It's important to keep this file safe. If anything happens to your Lotus node, you can still access your funds using this file.

# Filecoin Plus

Storage providers get paid either by receiving FIL directly from users for storing their data, winning block rewards from the network, or both!

Getting paid from users is straightforward. If Laika wants to store some data, and Albert is a storage provider, the two of them can create a deal to store Laika's data for X amount of time for Y FIL.

Block rewards are randomly given to a storage provider every 30 seconds. The more data that a storage provider is storing, the higher their chances of winning the block reward. So if a storage provider accepts a deal from a user to store 5 GB of data, they have 5 chances to win the block reward for each 30 second round.

Data cap acts as a kind of multiplier for block rewards. If a storage provider accepts a deal from a user with data cap attached, also known as a verified deal , then the Filecoin network treats that deal as though it's 10x bigger. So a 5 GB deal gives the storage miner 50 chances to win the block reward instead of the usual 5 chances. Some storage providers find data cap so valuable that they're willing to make verified deals without charging any FIL! You can find a list of these storage providers using the Filecoin Plus miner registry (opens new window).

# Sign up

Signing up to Filecoin Plus is easy and free!

TIP

You need a GitHub account that is at least 180 days old. If you don't have a GitHub account that's old enough, get in touch with the team on Filecoin Slack (opens new window).

  1. Go to plus.fil.org (opens new window).
  2. Under For isClients, click Proceed.
  3. Under Get verified, click Get Verified.
  4. Click Automatic Verification.
  5. Click Start next to the GitHub logo.
  6. In the Request field, enter the public address you got from running lotus wallet list. This step may take a few minutes to complete.

# Next steps

Now that we've got all the set up out of the way, we can move onto storing data with the Filecoin network →