For the complete documentation index, see llms.txt. This page is also available as Markdown.

SDK Overview

A software development kit (SDK) brings together libraries, tools, and examples for building applications. To store or retrieve data, your application usually imports a language library and calls its methods. Supporting tools, such as a local daemon, are separate programs you start when your integration needs them.

What your application calls

Your application can connect directly through a native or browser library, or call a separately running local daemon. The library runs inside your application; the difference is how it manages the connection to the Autonomi Network.

Library
How it works
Reference

Native direct-connection library

Includes a compiled network client that your application loads

Browser direct-connection library

Runs a WebAssembly client in the browser and connects over WebRTC; this SDK is experimental

Client library for a local daemon

Sends requests to a separately running background service called antd

The packages and APIs differ. Use the installation instructions for the library you choose; installing a client library does not start a daemon.

Connecting directly from a native application

Your application
       |
       v
Language library and bundled network client
       |
       v
Autonomi Network

The compiled library is loaded by your application, not run as a separate command. Use the Python SDK, Node.js SDK, or .NET SDK reference for installation and language-specific usage.

Connecting directly from a browser

The browser SDK includes a network client compiled to WebAssembly (WASM). Your web application calls it from JavaScript or TypeScript, and WebRTC connects it directly to nodes. There is no local daemon to start. See Browser SDK for capabilities and Retrieve Data in the Browser for a complete example.

Connecting through a local daemon

Your application makes local API calls; the background service handles the connection to the Autonomi Network. Start it before making requests from a language client.

Connection model

antd has no built-in authentication and listens only on the local machine by default:

  • REST: http://127.0.0.1:8082

  • gRPC: 127.0.0.1:50051

Any process that can connect can call write, wallet, and local-filesystem endpoints. Keep both listeners on loopback unless you place access controls in front of them. Enabling Cross-Origin Resource Sharing (CORS) does not add authentication.

Some clients can discover antd automatically. See your language reference for connection options.

API coverage

Use the REST API to store and retrieve data and files, estimate costs, and manage upload payments.

The gRPC definitions cover health, data, chunks, files, uploads, wallet operations, signed quote verification, and events. The Event Service method completes immediately without events, so it is not a usable event subscription.

Health responses separate API liveness from network connectivity. status: "ok" means the API responds; write_ready reports a best-effort peer-count threshold, not wallet readiness or guaranteed storage. REST and gRPC expose the counts and the age of the last successful store-type operation. See REST API for field meanings.

Local-daemon client libraries

Choose a client in Language Bindings. The Python and JavaScript clients install from PyPI and npm. Other languages have their own package or source-install instructions.

Do not assume feature parity. Bindings have language-specific constructors and expose different transport subsets. For example:

  • JavaScript examples use createClient() from @withautonomi/antd

  • Python examples use AntdClient() from antd

  • some bindings implement both REST and gRPC, while others implement REST only

  • gRPC prepare responses omit total_chunks and already_stored_count, which REST returns

Chunk writes return PutResult-style shapes with cost plus an address, but cost is an empty string because the write path does not return its prepaid cost. REST data writes return an address or data_map plus chunks_stored and the resolved payment_mode_used, which is single or merkle, not the requested auto. File uploads also return storage_cost_atto and gas_cost_wei.

For public direct writes, antd stores the DataMap in a separate operation after uploading the data chunks. Reported cost, gas, chunk count, and payment mode cover the data-chunk upload only; they exclude that separate DataMap store.

Cost endpoints such as POST /v1/data/cost and POST /v1/files/cost are advisory. They sample up to five chunk addresses, use the first live sampled price to extrapolate storage cost, and estimate gas without a live gas-price query. The write reconciles the amount actually due.

Use the binding-specific page when you need package names, constructors, or transport details.

Upstream sources

Last updated