Autonomi
LearnBuildWho we ArePublicationsGet ANTStart a Node
  • Learn
  • Node
  • ANT Token
  • Developers
  • Developer Documentation
  • Getting Started
    • Installation Guide
  • Core Concepts
    • Data Types
    • Data Storage
    • BLS Keys
  • How To Guides
    • Quick Start Guide
    • Local Network Setup Guide
    • Payments Guide
    • Build Apps with Python
    • Build Apps with Rust
  • API Reference
    • API Reference Overview
    • Client API
      • Chunks
      • GraphEntry
      • Pointer
      • Register
      • Scratchpad
      • BLS Keys
      • Analyze
    • Node API
    • BLS Threshold Crypto
    • Self Encryption
    • Rust Crate API Reference
    • Python API Reference
Powered by GitBook

Get Involved

  • Start a Node
  • Discord
  • Forum

Follow Us

  • X
  • Reddit
  • LinkedIn
On this page
  • What is Autonomi?
  • Quick Links
  • API References
  • Language Support
  • Building from Source
  • Contributing
  • Getting Help
Export as PDF

Developer Documentation

NextInstallation Guide

Last updated 1 month ago

Welcome to the Autonomi documentation… these guides will help you get started building with the Autonomi Network.

What is Autonomi?

Autonomi is a decentralised data and communications platform designed to provide complete privacy, security, and freedom by distributing data across a peer-to-peer network, rather than relying on centralised servers. Through end-to-end encryption, self-authentication, and the allocation of storage and bandwidth from users’ own devices, it seeks to create an autonomous, self-sustaining system where data ownership remains firmly in the hands of individuals rather than corporations.

Quick Links

  • Quick Start Guides

  • Core Concepts:

    • - Understanding the fundamental data structures

    • - How data is stored and retrieved

    • - Setting up a local development environment

API References

Language Support

Autonomi provides client libraries for multiple languages:

use autonomi::Client;

let client = Client::init()?;
from autonomi-client import Client

client = Client()
await client.init()
import { Client } from '@withautonomi/autonomi'

const client = await Client.init()

Building from Source

# Clone the repository
git clone <https://github.com/maidsafe/autonomi.git>
cd autonomi

# Build the project
cargo build --release

# Run tests
cargo test --all-features

# Install locally
cargo install --path .
# Clone the repository
git clone https://github.com/maidsafe/autonomi.git
cd autonomi

# Create and activate virtual environment
uv venv
source .venv/bin/activate  # Unix
# or
.venv\Scripts\activate     # Windows

# Installs `maturin`
uv sync

# Build and install the package
maturin develop --uv
# Clone the repository
git clone https://github.com/maidsafe/autonomi.git
cd autonomi/nodejs

# Install NAPI RS command-line tool
yarn global add @napi-rs/cli
# Install NPM dependencies
yarn install
# Build the node addon
yarn build

# Run tests
yarn test

Contributing

We welcome contributions! Here's how you can help:

  1. Create a feature branch

  2. Make your changes

  3. Submit a pull request

Getting Help

- Core client library for network operations

- Node implementation for network participation

- Threshold cryptography implementation

- Content-based encryption library

Low-level

Installation Guide
Quick Start Guide
Local Network Setup
Build Apps with Python
Build Apps with Rust
Data Types
Data Storage
Local Network Setup
Autonomi Client
Ant Node
BLS Threshold Crypto
Self Encryption
Rust Crate API Reference
Fork the repository
GitHub Issues