Repositories
Repositories
This document serves as a comprehensive index and guide to all source code repositories related to the Autheo Decentralized Cloud Storage (ADCS) platform, providing essential links, descriptions, and contribution guidelines for developers and project stakeholders.
Table of contents
-
Adcs-go-libp2p-kad-dht
-
Purpose and insights
-
How to clone
-
-
Adcs-boxo
-
Purpose and insights
-
How to clone
-
-
Adcs-go-libp2p
-
Purpose and insights
-
How to clone
-
-
Adcs-webui
-
Purpose and insights
-
Installation guide
-
How to build and run
-
CORS configuration
-
-
Adcs-kubo
-
Purpose and insights
-
Prerequisites
-
Minimal system requirements
-
Installation and build
-
Getting started
-
Troubleshooting
-
1. Adcs-go-libp2p-kad-dht
| Detail | Information |
| Title | go-libp2p-kad-dht |
| Repo Link | https://github.com/autheo-network/adcs-go-libp2p-kad-dht |
Purpose and insights
-
Go implementation of the Kademlia Distributed Hash Table (
DHT) forlibp2p. -
This is the backbone for peer and content discovery in
ADCSapplications. -
It enables nodes to find each other and exchange data without centralized servers.
-
Typically imported as a Go module and integrated into custom peer-to-peer applications.
How to clone
john@sys:~$ git clone https://github.com/autheo-network/adcs-go-libp2p-kad-dht.git
For more information, see README.md and NOTICE.md in the repository.
2. Adcs-boxo
| Detail | Information |
| Title | BOXO: ADCS SDK for GO |
| Repo Link | https://github.com/autheo-network/adcs-boxo |
Purpose and insights
-
A comprehensive set of Go libraries for building
ADCSapplications and implementations. -
It is modified to create an independent P2P network, fully isolated from the global IPFS ecosystem.
-
Ideal for developers building custom
ADCSnodes, gateways, or tools that interact with theADCSnetwork. -
Provides modular components for content routing, data transfer, naming, and more.
-
Designed for flexibility; developers can pick and choose components as needed.
-
This is not a standalone application; it is meant to be imported as a library in Go projects.
How to clone
john@sys:~$ git clone https://github.com/autheo-network/adcs-boxo.git
For more information, see README.md and NOTICE.md in the repository.
3. Adcs-go-libp2p
| Detail | Information |
| Title | go-libp2p |
| Repo Link | https://github.com/autheo-network/adcs-go-libp2p |
Purpose and insights
-
The official Go implementation of the
libp2pnetworking stack. -
Used as the networking layer for decentralized applications, including
ADCS. -
Provides modular protocols for peer discovery, transport, security, multiplexing, and more.
-
The foundation for building robust, scalable, and secure peer-to-peer networks in Go.
-
This is not a standalone application; it is intended to be imported as a library and used as the networking backbone for distributed systems.
How to clone
john@sys:~$ git clone https://github.com/autheo-network/adcs-go-libp2p.git
For more information, see README.md and NOTICE.md in the repository.
4. Adcs-webui
| Detail | Information |
| Title | ADCS Web UI |
| Repo Link | https://github.com/autheo-network/adcs-webui |
Purpose and insights
-
The primary graphical interface for interacting with an
ADCSnode. -
It makes decentralized storage accessible, manageable, and user-friendly.
-
Provides a browser-based dashboard for monitoring node status, storage usage, and network health in real time.
-
Integrates with the
ADCSdaemon via HTTP API, supporting custom gateway routing at/adcstestnetfor namespace separation and security. -
Makes decentralized storage practical for real-world use cases by abstracting away command-line complexity.
Installation guide
Prerequisites: Requires Node.js (18.x, 20.x, or 21.x recommended).
-
Clone the repository:
john@sys:~$ git clone https://github.com/autheo-network/adcs-webui.git -
Install dependencies:
john@sys:~$ cd adcs-webui john@sys:~/adcs-webui$ npm install
How to build and run
| Command | Purpose |
john@sys:~/adcs-webui$ npm start |
Start the development server. |
john@sys:~/adcs-webui$ npm run build |
Build for production. |
CORS configuration
To allow the Web UI to communicate with your ADCS node, configure CORS headers on your Kubo RPC endpoint.
-
Run the script:
john@sys:~/adcs-webui$ ./cors-config.sh -
Or configure manually:
john@sys:~$ adcstestnet config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://localhost:3000", "http://127.0.0.1:5001"]'
john@sys:~$ adcstestnet config --json API.HTTPHeaders.Access-Control-Allow-Methods '["POST"]'
For more information, see README.md and NOTICE.md in the repository.
5. Adcs-kubo
| Detail | Information |
| Title | Kubo: ADCS Implementation in GO |
| Repo Link | https://github.com/autheo-network/adcs-kubo |
Purpose and insights
-
The reference implementation of the
ADCSprotocol, written in Go. -
A custom build to establish an independent IPFS-based public network, separate from the global IPFS network, by implementing a custom Distributed Hash Table (
DHT). -
Runs a full
ADCSnode, providing robust decentralized storage and retrieval capabilities. -
Exposes a comprehensive HTTP gateway and RPC API, with all endpoints under
/adcstestnetfor clear namespace separation. -
Offers a powerful
CLI(adcstestnet) for node management, file operations, and network diagnostics. -
Acts as the backend for
ADCS Web UI, providing the data and control plane for graphical management.
Prerequisites
-
Clone the repository:
john@sys:~$ git clone https://github.com/autheo-network/adcs-kubo.git -
Required Tools: Git, Go Modules (enabled by default since Go 1.11), and Go
v1.24. GNUmakeand Git are required for building. -
Environment Variables (for private modules): Set the following (Linux/macOS example):
john@sys:~$ export GOPRIVATE=github.com/autheo-network/*
john@sys:~$ export GONOSUMDB=github.com/autheo-network/*
john@sys:~$ export GONOPROXY=github.com/autheo-network/*
Minimal system requirements
-
At least 6 GB of RAM and 2 CPU cores are recommended.
-
Larger pinsets require more memory ($\approx 1\text{ GiB}$ RAM per $20$ million items).
Installation and build
-
To build and install:
john@sys:~$ cd adcs-kubo
john@sys:~/adcs-kubo$ make install -
To build only (without installing):
john@sys:~/adcs-kubo$ make build
Getting started
-
Initialize configuration:
john@sys:~$ adcstestnet init -
Add and retrieve a file:
john@sys:~$ echo "hello world" > hello
john@sys:~$ adcstestnet add hello
john@sys:~$ adcstestnet cat <hash> -
Start the daemon:
john@sys:~$ adcstestnet daemon
Troubleshooting
If you encounter issues after upgrading, try deleting or backing up your ~/.adcstestnet config directory and re-running adcstestnet init.
For more information, see README.md, NOTICE.md, INSTALL.md, and PREREQUISITES.md in the repository.