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

  1. Adcs-go-libp2p-kad-dht

    • Purpose and insights

    • How to clone

  2. Adcs-boxo

    • Purpose and insights

    • How to clone

  3. Adcs-go-libp2p

    • Purpose and insights

    • How to clone

  4. Adcs-webui

    • Purpose and insights

    • Installation guide

    • How to build and run

    • CORS configuration

  5. 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) for libp2p.

  • This is the backbone for peer and content discovery in ADCS applications.

  • 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

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 ADCS applications and implementations.

  • It is modified to create an independent P2P network, fully isolated from the global IPFS ecosystem.

  • Ideal for developers building custom ADCS nodes, gateways, or tools that interact with the ADCS network.

  • 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

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 libp2p networking 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

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 ADCS node.

  • 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 ADCS daemon via HTTP API, supporting custom gateway routing at /adcstestnet for 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).

  1. Clone the repository:

  2. 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 ADCS protocol, 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 ADCS node, providing robust decentralized storage and retrieval capabilities.

  • Exposes a comprehensive HTTP gateway and RPC API, with all endpoints under /adcstestnet for 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

  1. Clone the repository:

  2. Required Tools: Git, Go Modules (enabled by default since Go 1.11), and Go v1.24. GNU make and Git are required for building.

  3. 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

  1. To build and install:

    john@sys:~$ cd adcs-kubo
    
    john@sys:~/adcs-kubo$ make install
  2. To build only (without installing):

    john@sys:~/adcs-kubo$ make build
    

Getting started

  1. Initialize configuration:

    john@sys:~$ adcstestnet init
    
  2. Add and retrieve a file:

    john@sys:~$ echo "hello world" > hello
    
    john@sys:~$ adcstestnet add hello
    john@sys:~$ adcstestnet cat <hash>
  3. 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.


Was this article helpful?
© 2025 AUTHEO Internal Documentation