Autonomi.Ffi 0.0.9

dotnet add package Autonomi.Ffi --version 0.0.9
                    
NuGet\Install-Package Autonomi.Ffi -Version 0.0.9
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Autonomi.Ffi" Version="0.0.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Autonomi.Ffi" Version="0.0.9" />
                    
Directory.Packages.props
<PackageReference Include="Autonomi.Ffi" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Autonomi.Ffi --version 0.0.9
                    
#r "nuget: Autonomi.Ffi, 0.0.9"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Autonomi.Ffi@0.0.9
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Autonomi.Ffi&version=0.0.9
                    
Install as a Cake Addin
#tool nuget:?package=Autonomi.Ffi&version=0.0.9
                    
Install as a Cake Tool

Autonomi.Ffi — direct-network .NET client for Autonomi

.NET 8 bindings over the ant-ffi Rust crate, generated with uniffi-bindgen-cs. The client joins the Autonomi network directly: no daemon, no HTTP hop. The native library is bundled in the package for win-x64, win-arm64, linux-x64, linux-arm64, osx-x64 and osx-arm64 and selected automatically at restore time.

For the daemon-backed client (the recommended path for most apps: the daemon holds the wallet and does the networking) see Autonomi.Antd.

Installation

dotnet add package Autonomi.Ffi

Quick start

using AntFfi;

Console.WriteLine(AntFfiMethods.AntFfiVersion());

// Offline: derive the EVM address for a wallet key (no RPC contacted).
var wallet = Wallet.FromPrivateKey(
    "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",
    "http://localhost:8545",
    "0x5FbDB2315678afecb367f032d93F642f64180aa3",
    "0x5FbDB2315678afecb367f032d93F642f64180aa3");
Console.WriteLine(wallet.Address());

// Online: connect to a local devnet from its manifest and round-trip data.
var client = await Client.ConnectFromDevnetManifest("/path/to/devnet-manifest.json");
var put = await client.DataPutPublic(System.Text.Encoding.UTF8.GetBytes("hello"), PaymentMode.Auto);
var got = await client.DataGetPublic(put.address);

The surface mirrors the Python (ant-sdk) and Node (@withautonomi/ant-sdk) bindings: Client (connect variants, data/file/chunk put and get, cost estimates, external-signer prepare/finalize, progress listeners), Wallet, and typed records/enums. All Client methods are async (Task<T>), bridged onto the crate's tokio runtime.

Compatibility

Targets .NET 8. Package version tracks the ant-ffi crate version (AntFfiMethods.AntFfiVersion() returns it). Linux builds are made against glibc 2.28 (manylinux_2_28), so any distribution from roughly 2019 on works. Not for browsers or Blazor WebAssembly: direct networking needs a native process.

Building from source

See ffi/README.md: ffi/scripts/build.sh builds the crate, generates AntFfi/Generated/, and builds this solution. dotnet test runs offline smoke tests (version + wallet derivation); the devnet round-trip is exercised by the publish workflow's smoke consumer.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.9 95 9/15/2026