attest.so
v1.1.2
Published
<div align="center">
Maintainers
Readme
attest.so
A Unified Trust Framework for Blockchain-Based Attestation Infrastructure
🌐 Overview
attest.so provides enterprise-grade infrastructure for builders to create "Reputation Authorities" on-chain with verifiable and comprehensive identity proofs. The project supports multiple blockchain platforms, enabling a unified approach to attestations and identity verification.
Our framework addresses critical challenges in Web3:
- Identity Verification: Robust mechanisms for verifying identities across blockchain ecosystems
- Interoperable Trust: Consistent attestation standards across multiple blockchains
- Reputation Management: Infrastructure for building and maintaining on-chain reputation
- Scalable Solutions: Enterprise-ready attestation infrastructure for builders
🏗️ Architecture
Core Concepts
- Attestations: Verifiable claims made by authorities about subjects
- Schemas: Structured templates defining attestation data formats
- Authorities: Entities with permission to issue and manage attestations
- Subjects: Entities about which attestations are made
- Resolvers: Contract interfaces that locate and verify attestation data
Multi-Chain Support
attest.so is designed with cross-chain compatibility as a primary goal:
| Blockchain | Contract Language | Status | Key Features | |------------|-------------------|-------------|-------------------------------------------| | Stellar | Soroban (Rust) | Active | Fee management, levy collection, verifiable authorities | | Solana | Anchor (Rust) | Development | High throughput, scalable attestation storage | | Starknet | Cairo | Planned | ZK-friendly proofs, privacy-preserving attestations | | Aptos | Move | Research | Resource-oriented attestation model |
🧩 Key Components
1. Smart Contracts
The repository contains modular smart contract implementations for multiple blockchain platforms:
Stellar/Soroban Implementation
contracts/stellar/
├── authority/ # Authority resolver contract
│ ├── src/ # Contract implementation
│ └── Cargo.toml # Dependencies and configuration
└── protocol/ # Core attestation protocol
├── src/ # Contract implementation
└── Cargo.toml # Dependencies and configurationKey Features:
- Authority registration and verification
- Schema definition and validation
- Attestation issuance and verification
- Optional fee collection through levy system
- Comprehensive event logging
Additional Blockchain Implementations
Implementation details for Solana (Anchor), Starknet (Cairo), and Aptos (Move) with blockchain-specific optimizations.
2. SDK (Software Development Kit)
A TypeScript SDK that provides a unified interface for interacting with attestation infrastructure:
// Example SDK usage
import { AttestClient } from '@attest.so/sdk';
// Initialize client
const client = new AttestClient({
chain: 'stellar',
network: 'testnet'
});
// Create attestation
const attestation = await client.createAttestation({
schema: 'did:attest:identity',
subject: 'G...', // Subject address
claims: { verified: true, level: 2 }
});Core Functionality:
- Blockchain connection management
- Schema creation and registration
- Attestation lifecycle management
- Cross-chain verification utilities
- Typescript-first development experience
3. CLI (Command Line Interface)
A powerful command-line tool for interacting with the protocol:
# Install CLI
npm install -g @attest.so/cli
# Create a new attestation
attest create \
--schema did:attest:identity \
--subject G... \
--chain stellar \
--network testnet \
--claims '{"verified": true}'4. Documentation and Examples
Comprehensive documentation and example implementations to facilitate integration:
- Interactive API reference
- Integration guides
- Example applications
- Best practices
📦 Project Structure
The repository follows a monorepo structure using pnpm workspaces:
attest.so/
├── apps/ # Front-end applications
│ ├── docs/ # Documentation website (Next.js)
│ └── explorer/ # Attestation explorer
├── contracts/ # Smart contract implementations
│ ├── stellar/ # Soroban contracts
│ ├── solana/ # Anchor contracts
│ └── starknet/ # Cairo contracts
├── packages/ # SDK, CLI, and utilities
│ ├── sdk/ # TypeScript SDK
│ ├── cli/ # Command-line interface
│ └── common/ # Shared utilities and types
└── examples/ # Example applications
├── identity-verification/
└── reputation-system/See NAMING.md for detailed information about naming conventions and directory structure standards.
🛠️ Technical Stack
- Frontend: Next.js, React, Tailwind CSS
- SDK/CLI: TypeScript, Node.js
- Smart Contracts:
- Rust/Soroban (Stellar)
- Rust/Anchor (Solana)
- Cairo (Starknet)
- Move (Aptos)
- Developer Experience:
- pnpm workspaces
- TypeScript
- ESLint/Prettier
- Jest for testing
🚀 Getting Started
Installation
# Clone the repository
git clone https://github.com/daccred/attest.so.git
cd attest.so
# Install dependencies
pnpm install
# Build all packages
pnpm buildRunning the Development Environment
# Start the documentation site
pnpm run dev:docs
# Run the SDK tests
pnpm run test:sdk
# Deploy contracts to local development network
pnpm run deploy:localWorking with Contracts
# Build Soroban contracts
cd contracts/stellar
cargo build --release
# Deploy to Stellar testnet
stellar contract deploy --wasm target/wasm32-unknown-unknown/release/soroban_authority_contract.wasm --network testnet --source <source>🤝 Contributing
Contributions are welcome! Please see our CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📚 Resources & Links
- Product Development Log
- Solana Radar Public Goods Award
- Technical Documentation (Coming Soon)
- API Reference (Coming Soon)
📝 License
This project is licensed under the MIT License.
