Getting Started
This is a step by step guide for new users to get onboarded with Curio
Curio Database and Distributed Architecture
Familiarizing Yourself with Curio
Before diving into the setup and configuration of Curio, we highly recommend becoming familiar with Curio's design and fundamental principles. This foundational knowledge will greatly assist in effective administration and troubleshooting.
HarmonyDB with YugabyteDB
Curio utilizes YugabyteDB to create an abstraction layer known as HarmonyDB. This HarmonyDB serves two primary purposes:
Metadata Storage: It stores all Curio-related metadata.
Consensus Layer: It establishes a consensus layer for the distributed architecture of a Curio cluster.
We recommend using at least 3 node YugabyteDB cluster for HA and scalability. Loss of the DB will render Curio dead. YugabyteDB should also be backed up regularly.
Key Features of HarmonyDB
High Availability: Ensures that the metadata and consensus information is always available, even in the event of node failures.
Scalability: Capable of handling increasing amounts of data and expanding as the Curio cluster grows.
Consistency: Maintains data consistency across the distributed nodes of the Curio cluster.
Benefits of Using YugabyteDB for HarmonyDB
Distributed SQL: Combines the benefits of SQL with the resilience and scalability of a distributed database.
Fault Tolerance: Provides strong fault tolerance, ensuring the reliability of the Curio cluster.
Multi-Region Deployment: Supports deployment across multiple regions for improved performance and redundancy.
Chain Node
Curio requires access to at least one Filecoin chain node like Lotus or Forest (integration in progress). This chain node is used by Curio to get the current chain state and send messages to the chain. Curio support using multiple chain nodes.
Network
Following port must be opened on each Curio node for API and GUI access
12300
Default API port
4701
Default GUI port. Not all Curio nodes are required to enable GUI
32100
Market Port. This port is determined by the user when enabling Boost access in configuration.
Boost Compatibility
Boost is fully compatible with Curio and can be used for making deals and retrieving the data same as lotus-miner
. The version compatibility guide can be found in Boost documentation.
Installing Curio and creating a Curio cluster
With an understanding of Curio's internal mechanisms, you can now proceed to install the Curio binaries. We recommend using Debian packages for the installation, as they facilitate easy installation, upgrades, and process management. After installing your first Curio binary, you can move on to setting up Curio, whether you are migrating from lotus-miner or initializing a new minerID.
Best Practices
We have compiled a list of best practices for deploying and maintaining a Curio cluster. All users are encouraged to follow these recommendations to avoid potential issues.
New users should also familiarize themselves with both binaries shipped with Curio and the GUI pages.
Last updated