Architectural Overview
Core User Concepts
Quick Start Guide
High-Level Architecture
The LimeWire Network architecture consists of several key layers that work together to ensure your data is secure, properly replicated, and readily accessible:
- Smart Contracts (Blockchain Layer): Handles the core economics and configuration of the network. This includes account creation, API key management, billing, bucket configuration, and storage provider staking.
- Validator Nodes: Forms the consensus layer of the network. Validators manage the lifecycle of objects, verify operations (like uploads and downloads), enforce access policies, manage data replication, and regularly issue Proof of Storage challenges to ensure data integrity. Validators are backed by governance tokens. During the public beta, the LimeWire team members are holding all governance tokens and delegate their voting powers to the validators. Once the public release is out, the governance will be transitioned to a DAO and validator nodes will be run by the members of the DAO.
- Storage Providers: Independent, semi-trusted entities that physically store and serve your data. They run an enhanced version of MinIO to provide S3-compatible interfaces. These nodes are regularly challenged and can have their staked funds slashed if data is lost or inaccessible.
If you are interested in running your own storage provider, please contact us via this form.
- User Layer & Gateways: You interact with the network through our SDKs, the Web3 UI, or an S3 Gateway.
Public Infrastructure
To facilitate easy onboarding and robust availability without needing to run your own routing or validation infrastructure, LimeWire provides the following public nodes out-of-the-box for SDK integration:
- Validator Nodes (for dispatching ECDSA-signed network events):
v1.limewire.network
v2.limewire.network
v3.limewire.network
- Graph Node (for querying deployed buckets and resolving storage provider endpoints efficiently):
- S3 Gateway (for S3-compatible access to buckets):
s3-gw.us-east.limewire.network (more regions will be available after the public release)
How It Differs From Standard S3
While the LimeWire Network provides S3-compatible interfaces, it inherently differs from traditional, centralized Amazon S3 in a few fundamental ways:
- Decentralization & Zero-Trust: Your data is stored across independent storage providers rather than a single corporate entity.
- Native ECDSA Signatures: Deep down, operations use Elliptic Curve Digital Signature Algorithm (ECDSA) to guarantee non-repudiation. Standard S3 uses HMAC signatures requiring a shared secret, which is not suitable for a zero-trust decentralized network. Both clients and storage providers report successful operations to Validator Nodes.
- Blockchain-based Billing: Storage allocation and data transfers are paid using smart contracts, directly from the user’s on-chain funds to the storage providers, facilitated by the validator nodes.
Ways to Use LimeWire Network
There are two primary ways to integrate and use the LimeWire Network for your applications:
1. Native SDKs (Recommended)
For the best performance, security, and full feature-set, we recommend using one of our native SDKs. These SDKs directly support the ECDSA-based signing required by the network and communicate natively with Storage Providers and Validator Nodes.
Currently available SDKs:
2. S3 Gateway
For seamless integration with existing tools and applications that expect standard S3 credentials (Access Key ID and Secret Key), you can use the LimeWire Network S3 Gateway.
The S3 Gateway acts as a translation layer:
- It accepts traditional S3 HMAC-signed requests.
- It translates these into the ECDSA-signed requests required by the LimeWire Network.
- It proxies the communication directly to the underlying Storage Providers.
This ensures 100% S3 compatibility, meaning you can drop LimeWire Network into your existing infrastructure with zero code changes once the Gateway is released.