Comprehensive documentation for the Aqua Protocol - a cryptographic protocol for creating verifiable, timestamped revision chains with signatures and blockchain anchoring.
Aqua Protocol is a decentralized protocol for data integrity and provenance tracking. It enables users to:
- Create Verifiable Trees: Link revisions cryptographically to maintain audit trails
- Sign Data: Add cryptographic signatures for authentication and non-repudiation
- Timestamp via Blockchain: Anchor data to Ethereum, Nostr, or TSA for immutable timestamps
- Link Dependencies: Create relationships between separate revision chains
- Verify Integrity: Cryptographically verify entire chains of revisions
- Document notarization and legal evidence
- Supply chain provenance tracking
- Multi-party approval workflows
- Verifiable credentials and identity
- Content versioning with accountability
- Audit trails and compliance
This repository contains documentation for multiple version documetataion of the Aqua Protocol:
aqua-docs/
├── introduction.mdx # Getting started with Aqua Protocol
├── quick-start.mdx # Quick start guide
├── schema_reference/ # Current version (v4) schema specs
│ ├── introduction.mdx
│ ├── object_revision.mdx
│ ├── template_revision.mdx
│ ├── signing_revision.mdx
│ ├── witness_revision.mdx
│ └── link_revision.mdx
├── previous_versions/
│ ├── version_1/ # Legacy version documentation
│ ├── version_2/ # Version 2 documentation
│ │ ├── introduction.mdx
│ │ ├── concepts.mdx
│ │ └── tooling.mdx
│ ├── version_3/ # Version 3 (JS SDK)
│ │ ├── introduction.mdx
│ │ ├── concepts.mdx
│ │ ├── tooling.mdx
│ │ └── schema.mdx
│ └── version_4/ # Version 4 (Current - Rust SDK)
│ └── introduction.mdx
└── docs.json # Documentation configuration
- Language: Rust with WASM support
- SDK: aqua-rs-sdk
- Features: Template system with JSON Schema, formal type system, cross-platform
- Status: Beta, recommended for new projects
- Language: JavaScript/TypeScript
- SDK: aqua-js-sdk
- Features: Multi-platform (Node.js, Web, React Native), comprehensive signing methods
- Status: Production-ready, mature implementation
- Historical versions for reference
- Not recommended for new projects
- Node.js v20.9.0 or later
- npm or yarn
-
Clone the repository
git clone <repository-url> cd aqua-docs
-
Install Mintlify CLI
The documentation is built with Mintlify for rendering. Install the CLI globally:
npm install -g mint
-
Start the development server
Run the following command in the root directory (where
docs.jsonis located):mint dev
-
View the documentation
Open your browser and navigate to:
http://localhost:3000
The documentation will auto-reload when you make changes to any .mdx files.
Dev environment not running:
mint updatePage loads as 404:
- Ensure you're in a directory with a valid
docs.json - Check that the page is listed in
docs.jsonnavigation
Changes not reflecting:
- Restart the dev server
- Clear browser cache
- Check for syntax errors in your
.mdxfiles
Documentation files use MDX (Markdown + JSX) with frontmatter:
---
title: "Page Title"
description: "Brief description for SEO and navigation"
---
# Main Heading
Your content here with standard Markdown syntax.
## Subheading
- Lists
- Code blocks
- Tables
- And more- Use Clear Titles: Make titles descriptive and searchable
- Include Examples: Provide code examples for all concepts
- Link Between Pages: Use relative links to connect related content
- Maintain Consistency: Follow the existing structure and style
- Version-Specific: Keep version-specific content in the appropriate directory
- introduction.mdx: Overview of Aqua Protocol
- quick-start.mdx: Quick start guide for new users
- schema_reference/: Detailed specifications for v4
Each version has its own directory with:
- Introduction and getting started
- Core concepts
- SDK/tooling documentation
- Schema specifications
- docs.json: Navigation structure and site configuration
- mint.json (if present): Additional Mintlify settings
We welcome contributions to improve the Aqua Protocol documentation!
- Fork the repository
- Create a feature branch
git checkout -b docs/improve-section-name
- Make your changes
- Follow the writing guidelines
- Test locally with
mint dev - Check for broken links
- Commit with clear messages
git commit -m "docs: improve explanation of witness revisions" - Push and create a Pull Request
git push origin docs/improve-section-name
- Fix errors: Typos, incorrect information, broken links
- Improve clarity: Better explanations, more examples
- Add examples: Real-world use cases and code samples
- Update for new versions: Document new features and changes
- Translate: Help make docs accessible in other languages
- Use present tense ("creates" not "created")
- Use active voice ("the SDK provides" not "is provided by the SDK")
- Keep paragraphs short (3-5 sentences)
- Use code blocks for all commands and code snippets
- Include both success and error examples
- Explain the "why" not just the "how"
The documentation is automatically built and deployed when changes are pushed to the main branch (if CI/CD is configured).
For manual builds:
mint buildWhen documenting a new protocol version:
- Create a new directory:
previous_versions/version_X/ - Include these core files:
introduction.mdx- Version overviewconcepts.mdx- Core conceptstooling.mdx- SDK and toolsschema.mdx- Technical specifications
- Update
docs.jsonnavigation - Link from main introduction page
- GitHub Organization: github.com/inblockio
- Rust SDK: aqua-rs-sdk
- JS SDK: aqua-js-sdk
- Mintlify Docs: mintlify.com/docs
- MDX Documentation: mdxjs.com
- Issues: Report documentation issues on GitHub
- Discussions: Join community discussions
- SDK Issues: Report SDK-specific issues in respective repositories
Documentation content is available under the terms specified in the LICENSE file.
The Aqua Protocol implementations are licensed separately - see their respective repositories for details.
- 2024-01: Added comprehensive v3 documentation (JavaScript SDK)
- 2024-01: Added v4 schema reference documentation (Rust SDK)
- 2024-01: Restructured previous versions organization
- 2023-12: Added v2 tooling documentation
See individual version documentation for version-specific changelogs.
Note: This is the documentation repository for Aqua Protocol. For protocol implementations, see the SDK repositories linked above.