AlgoKit Core Documentation
Welcome to the comprehensive documentation for AlgoKit Core, a collection of Rust crates that provide core functionality for Algorand blockchain development.
Overview
AlgoKit Core consists of several interconnected crates:
- algokit_transact - Core transaction building and signing functionality
- algokit_transact_ffi - Foreign Function Interface bindings for multiple languages
- ffi_macros - Procedural macros for FFI code generation
- uniffi_bindgen - Custom UniFFI binding generation tools
API Documentation
Browse the full Rust API documentation with detailed type information, function signatures, and code examples for all crates.
Architecture
This project follows a layered architecture:
- Core Layer (
algokit_transact
) - Pure Rust implementations of Algorand transaction logic - FFI Layer (
algokit_transact_ffi
) - Language bindings and foreign function interfaces - Tooling Layer (
ffi_macros
,uniffi_bindgen
) - Development and build-time utilities
Getting Started
Each crate has its own documentation with examples and API references. Start with the algokit_transact crate to understand the core functionality, then explore the FFI bindings for your target language.
Research and Decisions
This documentation also includes our research findings and architectural decision records to help you understand the reasoning behind our design choices:
- Research - Technical research and analysis
- Architecture Decisions - Documented decisions and their rationale
- Contributing - Guidelines for contributors
Building Documentation
To build this documentation locally:
cargo run --bin build-docs --manifest-path docs/Cargo.toml
The generated documentation will be available in the target/docs
directory.