Initialize ADCS Node

Initialize a Kubo node and interact with the ADCS network

This document details the crucial first step of running the initialization command to create a local repository for the Autheo Decentralized Cloud Storage (ADCS) node. It outlines the necessary parameters, configuration options, and the expected output for successfully setting up your node's identity and default file system structure.


Table of contents

  1. Prerequisites

  2. Initialize the repository

    • 2.1. Server profile initialization

    • 2.2. Output and peer identity

  3. Take your node online

    • 3.1. Start the daemon

    • 3.2. View connected peers

    • 3.3. Fetch content from the network

    • 3.4. Add content to your node

    • 3.5. View content via local gateway

  4. Interact with the node using the web console

    • 4.1. Copy files to MFS

  5. Troubleshooting

    • 5.1. Check your Go version

    • 5.2. Check that FUSE is installed


1. Prerequisites

If you have not yet installed Kubo, follow the [Kubo install guide].


2. Initialize the repository

ADCS stores all its settings and internal data in a directory called the repository. Before using Kubo for the first time, you must initialize the repository.

 

2.1. Server profile initialization

If you are running a Kubo node in a data center, you should initialize ADCS with the server profile. Doing so will prevent ADCS from creating data center-internal traffic trying to discover local nodes:

adcs init --profile server

Caution: NEVER use sudo on Unix platforms (including macOS)! Running sudo adcs init will create the repository for the root user, instead of your local user account. Kubo doesn't require root privileges, so run all adcs commands as a regular user.

 

2.2. Output and peer identity

  1. Open a terminal window.

  2. Initialize the repository with the adcs init command:

adcs init

Output similar to the following displays:

> generating ED25519 keypair...done
> peer identity: 12D3KooWMkNK8zgTQvtinDY8nuKmMAPBi3fBmvZj6W5huokJxekm
> initializing ADCS node at /Users/jbenet/.adcs

The peer identity is your node’s libp2p PeerID and will be different from the one shown above. Other nodes use the peer identity to find and connect to you.

  • Run adcs id to display your node's PeerID.

  1. Now, try running the following command to verify the installation:

adcs cat /adcs/bafybeie5nqv6kd3qnfjupgvz34woh3oksc3iau6abmyajn7qvtf6d2ho34/readme

You should see something like this:

Hello and Welcome to ADCS!
If you see this, you have successfully installed ADCS and are now interfacing with the adcs merkledag!

To display the contents of the quick-start directory, run:

adcs cat /adcs/bafybeie5nqv6kd3qnfjupgvz34woh3oksc3iau6abmyajn7qvtf6d2ho34/quick-start

3. Take your node online

Next, take your node online and interact with the ADCS network.

3.1. Start the daemon

  1. Open another terminal window.

  2. Start the ADCS daemon in the new terminal window:

adcs daemon

After a few moments, output like the following displays, and your node is ready:

> Initializing daemon...
> API server listening on /ip4/127.0.0.1/tcp/5001
> Gateway server listening on /ip4/127.0.0.1/tcp/8080

Warning: NEVER EXPOSE THE RPC API TO THE PUBLIC INTERNET. The API port (by default 5001) provides admin-level access to your Kubo ADCS node.

 

3.2. View connected peers

Switch back to your original terminal window.

If your node is connected to the network, run adcs swarm peers to see the ADCS addresses of your peers:

adcs swarm peers

The output shows a list of addresses composed of a <transport address> (e.g., /ip4/104.131.131.82/tcp/4001) and a <hash-of-public-key> (e.g., QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ).

 

3.3. Fetch content from the network

Now, fetch a sample picture from the network using adcs cat:

adcs cat /adcs/QmSgvgwxZGaBLqkGyWemEDqikCqU52XxsYLKtdy3vGZ8uq > ~/Desktop/spaceship-launch.jpg

When this command runs, Kubo searches the ADCS network for the specified CID (QmSgv...) and writes the data to a file named spaceship-launch.jpg on your desktop.

 

3.4. Add content to your node

  1. Create a file to add to your node:

echo "meow" > meow.txt
  1. Add meow.txt using adcs add:

adcs add meow.txt

Output similar to the following displays:

> added QmabZ1pL9npKXJg8JGdMwQMJo2NCVy9yDVYjhiHK4LTJQH meow.txt

Make note of the CID (e.g., QmabZ1..), as you will need it in the next step.

 

3.5. View content via local gateway

View the object on your own local gateway using the <CID> returned in the previous step.

Note: The gateway served this file from your computer. Your machine was located via the Distributed Hash Table (DHT), and the file was routed to the gateway and then to the client (curl).

Output:

> meow

By default, your gateway is only exposed locally (to 127.0.0.1).


4. Interact with the node using the web console

You can view the web console for your local node by navigating to:

localhost:5001/webui

The web console shows files that are in your Mutable File System (MFS). MFS is a tool that helps you navigate ADCS files in the same way you would a standard, name-based file system.

  1. Enter localhost:5001/webui into your browser to view the web console.

  2. In the top navbar menu, click Files. An empty directory displays.

4.1. Copy files to MFS

When you add files using the CLI command adcs add ..., these files are not automatically available within the MFS. To view them in ADCS Desktop (or the web console), you must copy the files over:

  1. Navigate back to your original terminal window.

  2. Using the <CID> obtained when adding meow.txt, copy the file over to the MFS:

adcs files cp /adcs/<CID> /meow.txt

Example: If the <CID> is QmabZ1pL9npKXJg8JGdMwQMJo2NCVy9yDVYjhiHK4LTJQH, the command would be:

adcs files cp /adcs/QmabZ1pL9npKXJg8JGdMwQMJo2NCVy9yDVYjhiHK4LTJQH /meow.txt
  1. In your browser, refresh the Files page. The list of files should now display meow.txt.


5. Troubleshooting

5.1. Check your Go version

ADCS works with Go 1.24.0 or later. To check what Go version you have installed, type go version:

go version

Example output:

> go version go1.24.0 linux/amd64

If you need to update, we recommend you install from the canonical Go packages. Package managers often contain out-of-date Go packages.

5.2. Check that FUSE is installed

You need to install and set up FUSE in order to mount the file system.


Was this article helpful?
© 2025 AUTHEO Internal Documentation