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
- 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
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 |
The repository contains modular smart contract implementations for multiple blockchain platforms:
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 configuration
Key Features:
- Authority registration and verification
- Schema definition and validation
- Attestation issuance and verification
- Optional fee collection through levy system
- Comprehensive event logging
Implementation details for Solana (Anchor), Starknet (Cairo), and Aptos (Move) with blockchain-specific optimizations.
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
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}'
Comprehensive documentation and example implementations to facilitate integration:
- Interactive API reference
- Integration guides
- Example applications
- Best practices
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.
- 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
# Clone the repository
git clone https://github.com/daccred/attest.so.git
cd attest.so
# Install dependencies
pnpm install
# Build all packages
pnpm build
# 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:local
# 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>
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
- Product Development Log
- Solana Radar Public Goods Award
- Technical Documentation (Coming Soon)
- API Reference (Coming Soon)
This project is licensed under the MIT License.