Experimental Modules Overview
This page mirrors README.md in the experimental-modules repo (branch develop).
The repository is the source of truth.
⚠️ EXPERIMENTAL: This repository contains experimental modules for the Auki Network. These modules are under active development and subject to rapid changes, including breaking changes to the API. Use with caution in production environments and expect frequent updates. We recommend pinning to specific versions and reviewing changelogs before upgrading.
This repository houses experimental SDKs and libraries for building applications on the Auki Network and Posemesh. Each module is designed to be a standalone component that can be integrated into your applications.
Available Modules
🔐 Authentication
Multi-platform authentication library for the Auki Network with support for Rust, JavaScript/TypeScript, Python, and React Native/Expo.
View Authentication Module Documentation →
Key Features:
- Sans-I/O core architecture written in Rust
- Automatic token management and refresh
- Multi-domain access support
- Cross-platform bindings (JavaScript, Python, React Native/Expo)
Quick Links:
📐 PnP (Perspective-n-Point)
Pure Rust PnP pose estimation. Estimates the 6-DoF pose (position + orientation) of a calibrated camera from known 3D landmarks and their 2D image observations. No OpenCV dependency.
View PnP Module Documentation →
Key Features:
- Three solver methods: EPnP, Iterative (Levenberg-Marquardt), and SQPnP
no_stdcompatible core library (withalloc)- WASM Component Model interface via WIT
- C FFI with auto-generated header for iOS/Android/desktop embedding
- Numerically validated against OpenCV reference output
Quick Links:
Repository Structure
modules/
├── authentication/ # Authentication module
│ ├── src/ # Rust core library
│ ├── pkg/ # Language bindings
│ ├── examples/ # Examples
│ ├── README.md # Module documentation
│ └── ARCHITECTURE.md # Technical details
├── pnp/ # PnP pose estimation module
│ ├── crates/
│ │ ├── pnp-core/ # Pure Rust solver (no_std + alloc)
│ │ ├── pnp-wasm/ # WASM Component Model guest
│ │ └── pnp-ffi/ # C FFI layer
│ └── README.md # Module documentation
├── CONTRIBUTING.md # Contribution guidelines
└── README.md # This file
Getting Started
Each module has its own documentation and setup instructions. See the individual module READMEs for details.
- Authentication: modules/authentication/README.md
- PnP: modules/pnp/README.md
Building from Source
Prerequisites
- Rust 1.70 or higher
- Node.js 18+ (for JavaScript bindings)
- Python 3.8+ (for Python bindings)
- Docker Desktop (for cross-platform builds)
Quick Build
# Clone the repository
git clone https://github.com/aukilabs/experimental-modules.git
cd modules/authentication
# Install build tools (first time only)
make install-tools
# Build JavaScript bindings
make javascript
# Build Python bindings
make python
# Build all
make all
See individual module documentation for detailed build instructions.
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Before contributing:
- Check existing issues
- For major changes, open an issue first to discuss
- Follow the coding standards for each language
- Test all language bindings after API changes
Documentation
- CONTRIBUTING.md - How to contribute to this project
Module Documentation:
- Authentication Module - Authentication for Auki Network
- PnP Module - Perspective-n-Point pose estimation
Versioning
Each module and language binding is independently versioned. Due to the experimental nature, expect:
- Frequent patch releases for bug fixes
- Minor version bumps for new features
- Major version bumps for breaking changes (which may happen often)
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions