Auto Drive is a decentralized content-addressed storage solution built on the Autonomys Network, leveraging its underlying permanent storage layer known as the Autonomys Distributed Storage Network (DSN). It provides users with a secure and efficient way to store, share, and manage digital assets with the assurance of long-term data persistence.
Auto Drive offers a user-friendly interface for uploading and downloading files, as well as an SDK and API for developers to integrate storage capabilities into their applications.
- Data chunking and reassembly
- Metadata management
- Blockchain integration for data storage
- Transaction management
- RESTful API for data operations
- Node.js (v14 or later)
- Yarn
- Access to an Autonomys Network node
-
Clone the repository:
git clone https://github.com/your-username/autonomys-data-storage.git cd autonomys-data-storage
-
Install dependencies:
yarn install
-
Set up environment variables: Create a
.env
file in the root directory and add the following:RPC_ENDPOINT=ws://localhost:9944 KEYPAIR_URI=//Alice
Adjust the values as needed for your Autonomys Network setup.
Start the server:
cd backend
yarn start
The server will start on http://localhost:3000
.
POST /upload-file
: Submit data for storageGET /retrieve/:cid
: Retrieve data by CIDGET /metadata/:cid
: Get metadata for a specific CIDGET /all
: Get all stored data (limited to 500 characters per entry)GET /transaction/:cid
: Get transaction result for a specific CIDGET /transactions
: Get all transaction resultsGET /fromTransactions/:cid
: Retrieve data directly from blockchain transactions
The service is built with the following components:
- Storage Manager: Handles data chunking, reassembly, and metadata management
- Transaction Manager: Manages blockchain transactions for data storage
- API Layer: Provides RESTful endpoints for interacting with the service
Run the test suite:
yarn test