Install & Run Curio

Curio is the core PDP client that coordinates sealing, interacts with Lotus and submits PDP proofs.

System Configuration

Before you proceed with the installation, you should increase the UDP buffer size:

sudo sysctl -w net.core.rmem_max=2097152
sudo sysctl -w net.core.rmem_default=2097152

To make this change persistent across reboots:

echo 'net.core.rmem_max=2097152' | sudo tee -a /etc/sysctl.conf
echo 'net.core.rmem_default=2097152' | sudo tee -a /etc/sysctl.conf

Build Curio

Clone the repository and switch to the PDP branch:

git clone https://github.com/filecoin-project/curio.git
cd curio
git checkout synapse

Curio is compiled for a specific Filecoin network at build time. Choose the appropriate build command below.

# For Filecoin Mainnet:
make clean build

# For Calibration Testnet:
make clean calibnet

Install and Verify Curio

Run the following to install the compiled binary:

sudo make install

This will place curio in /usr/local/bin

Verify the installation:

curio --version

Expected output:

# Example output for Mainnet:
curio version 1.24.4+mainnet+git_f954c0a_2025-04-06T15:46:32-04:00

# Example output for Calibration:
curio version 1.24.4+calibnet+git_f954c0a_2025-04-06T15:46:32-04:00

Guided Setup

Curio provides a utility to help you set up a new miner interactively. Run the following command:

curio guided-setup

1️⃣ Select "Create a new miner"

Use the arrow keys to navigate the guided setup menu and select "Create a new miner".

2️⃣ Enter Your YugabyteDB Connection Details

If you used the default installation steps from this guide, the following values should work:

  • Host: 127.0.0.1

  • Port: 5433

  • Username: yugabyte

  • Password: yugabyte

  • Database: yugabyte

You can verify these settings by running the following command from the Yugabyte directory:

./bin/yugabyted status

After selecting "Continue to connect and update schema", Curio will automatically create the required tables and schema in the database.

3️⃣ Set Wallet Addresses

For this step, use the two BLS wallets you created earlier with Lotus:

  • Use wallet 1 for the Owner Address

  • Use wallet 2 for the Worker Address

  • Use wallet 1 again for the Sender Address

These addresses must match the Lotus wallets created earlier.

You can display your Lotus wallets at any time by running:

lotus wallet list

4️⃣ Choose Sector Size

Choose sector size:

  • 64 GiB

💡 Selecting a sector size is required during the Curio guided setup, but PDP itself doesn’t use sectors. Proof set sizes in PDP are arbitrary and fully flexible.

5️⃣ Create Miner Actor

Review the information to ensure all inputs are correct. Then select "Continue to verify the addresses and create a new miner actor" to proceed.

This step may take a few minutes to complete as Curio pushes the message and waits for it to land on-chain.

Once the actor is created, Curio will:

  • Register your miner ID

If the guided setup fails after creating the miner actor, run the following command to complete the installation:

curio config new-cluster <miner ID>

6️⃣ Telemetry (Optional)

You’ll be asked whether to share anonymised or signed telemetry with the Curio team to help improve the software.

Select your preference and continue.

7️⃣ Save Database Configuration

At the final step of the guided setup, you’ll be prompted to choose where to save your database configuration file.

Use the arrow keys to select a location. A common default is:

/home/your-username/curio.env

Once selected, setup will complete, and the miner configuration will be stored.

8️⃣ Launch the Curio Web GUI

To explore the Curio interface visually, start the GUI layer:

curio run --layers=gui

Then, open your browser and go to:

http://127.0.0.1:4701

This will launch the Curio web GUI locally.

Last updated

Was this helpful?