← Back to Skills
Browser

archon-skill

santyr By santyr 👁 3 views ▲ 0 votes

Full Archon decentralized identity operations - local node

GitHub
---
name: archon
description: Full Archon decentralized identity operations - local node management, DID creation, credential issuance, vault operations, and public network resolution.
homepage: https://archon.technology
metadata:
  project: archon
  type: identity
  networks:
    - archon
    - hyperswarm
  local_node: true
---

# Archon - Decentralized Identity Network

Archon is an open-source decentralized self-sovereign identity (SSI) system. This skill provides full Archon capabilities including local node management, DID operations, credential issuance, vault management, and public network access.

## Platform Support

**Cross-Platform (All Platforms):**
- ✅ Public network API operations (DID resolution, network stats)
- ✅ Keymaster CLI via npx (@didcid/keymaster)
- ✅ Read-only operations require only Node.js + curl

**Local Node Operations:**
- ✅ **Linux** - Native Docker support, all scripts work
- ✅ **macOS** - Docker Desktop, scripts work (minor command differences handled)
- ⚠️ **Windows** - Requires WSL2 + Docker Desktop or native Docker with PowerShell adaptations
  - Helper scripts are bash (use Git Bash, WSL2, or adapt to PowerShell)
  - Path handling differs (`%USERPROFILE%` vs `~`)

**Recommendation for Windows users:**
- Use WSL2 (Ubuntu) for full compatibility
- Or use public network API + keymaster CLI (cross-platform)
- Local node management possible with PowerShell but requires script adaptation

## Architecture

**Local Archon Node:** `~/bin/archon` (Docker Compose stack)
- **Keymaster** (`:4226`) - Wallet operations, DID creation, signing
- **Gatekeeper** (`:4224`) - Public DID resolution, network gateway
- **IPFS** (`:5001`) - Content-addressable storage
- **Bitcoin nodes** - Blockchain anchoring (signet, mainnet)
- **MongoDB/Redis** - State management
- **Grafana** (`:3003`) - Metrics dashboard

**Public Network:** `https://archon.technology`
- Read-only access to public DIDs
- Network exploration and statistics

## Local Node Management

### Node Control

**Management scripts** (documented in HexMem):
```bash
/home/sat/bin/archon-start.sh   # Start Docker Compose stack
/home/sat/bin/archon-stop.sh    # Stop Docker Compose stack
/home/sat/bin/archon-status.sh  # Full status + health checks
/home/sat/bin/archon-health.sh  # Quick health check (exit 0 if healthy)
```

**Direct Docker Compose:**
```bash
cd ~/bin/archon
/snap/bin/docker compose ps        # List containers
/snap/bin/docker compose logs -f   # Follow logs
/snap/bin/docker compose up -d     # Start services
/snap/bin/docker compose down      # Stop services
```

**Health checks:**
- Keymaster API: `curl -sf http://localhost:4226/api/v1/ready`
- Gatekeeper API: `curl -sf http://localhost:4224/api/v1/ready`

### Configuration

**Wallet location:** `~/bin/archon/data/keymaster/wallet.json` (encrypted)  
**Passphrase:** `your-secure-passphrase`  
**Config directory:** `~/.config/hex/archon/` (alternative wallet location)

**Environment setup:**
```bash
export ARCHON_CONFIG_DIR="$HOME/.config/hex/archon"
export ARCHON_PASSPHRASE="your-secure-passphrase"
export ARCHON_GATEKEEPER_URL="http://localhost:4224"  # or https://archon.technology
export ARCHON_WALLET_PATH="$HOME/bin/archon/data/keymaster/wallet.json"
```

## Local Node Operations (Keymaster CLI)

The `@didcid/keymaster` CLI provides full wallet operations. Always run from config directory:

### Identity Management

**List identities in wallet:**
```bash
cd ~/.config/hex/archon
npx @didcid/keymaster list-ids
```

**Create new DID:**
```bash
npx @didcid/keymaster create-id \
  --name "identity-name" \
  --type agent  # or asset
```

**Resolve DID (local):**
```bash
npx @didcid/keymaster resolve-id did:cid:bagaaiera...
```

**Export DID document:**
```bash
npx @didcid/keymaster get-did did:cid:bagaaiera...
```

### Verifiable Credentials

**Issue credential:**
```bash
npx @didcid/keymaster issue-credential \
  --issuer-did did:cid:... \
  --subject-did did:cid:... \
  --type IdentityLink \
  --claims '{"nostr_npub":"npub1...","platform":"nostr"}'
```

**List credentials issued to me:**
```bash
npx @didcid/keymaster list-credentials
```

**Get credential details:**
```bash
npx @didcid/keymaster get-credential did:cid:...
```

**Verify credential:**
```bash
npx @didcid/keymaster verify-credential did:cid:...
```

### Vault Operations

**List vaults:**
```bash
npx @didcid/keymaster list-vaults
```

**Create vault:**
```bash
npx @didcid/keymaster create-vault \
  --name "vault-name" \
  --owner-did did:cid:...
```

**Add item to vault:**
```bash
npx @didcid/keymaster vault-put \
  --vault-id vault-name \
  --key "item-key" \
  --value "item-value" \
  --metadata '{"type":"backup","timestamp":"2026-02-03"}'
```

**List vault items:**
```bash
npx @didcid/keymaster list-vault-items vault-name
```

**Get vault item:**
```bash
npx @didcid/keymaster vault-get \
  --vault-id vault-name \
  --key "item-key"
```

**Retrieve file from vault:**
```bash
npx @didcid/keymaster vault-get \
  --vault-id vault-name \
  --key "item-key" \
  --output /path/to/file
```

### Group Operations

**Create group:**
```bash
npx @didcid/keymaster create-group \
  --name "daemon-collective" \
  --owner-did did:cid:... \
  --members did:cid:member1,did:cid:member2
```

**Get group info:**
```bash
npx @didcid/keymaster get-group daemon-collective
```

**Add member to group:**
```bash
npx @didcid/keymaster add-group-member \
  --group-id daemon-collective \
  --member-did did:cid:...
```

### Document Signing

**Sign arbitrary data:**
```bash
echo "data to sign" | npx @didcid/keymaster sign \
  --did did:cid:... \
  --output signature.json
```

**Verify signature:**
```bash
npx @didcid/keymaster verify \
  --signature signature.json \
  --data "data to sign"
```

## Helper Scripts

Location: `~/clawd/skills/archon/scripts/`

### Public Network Scripts

**archon-resolve.sh** - Resolve DID from public node
```bash
~/clawd/skills/archon/scripts/archon-resolve.sh did:cid:bagaaiera...
```

**archon-status.sh** - Public node network statistics
```bash
~/clawd/skills/archon/scripts/archon-status.sh
```

### Local Node Scripts

**archon-create-did.sh** - Create new DID with local node
```bash
~/clawd/skills/archon/scripts/archon-create-did.sh "name" "agent"
```

**archon-issue-credential.sh** - Issue verifiable credential
```bash
~/clawd/skills/archon/scripts/archon-issue-credential.sh \
  did:cid:issuer... \
  did:cid:subject... \
  "CredentialType" \
  '{"key":"value"}'
```

**archon-vault-backup.sh** - Backup to vault
```bash
~/clawd/skills/archon/scripts/archon-vault-backup.sh \
  vault-name \
  /path/to/file \
  backup-key
```

**archon-vault-list.sh** - List vault contents
```bash
~/clawd/skills/archon/scripts/archon-vault-list.sh vault-name
```

## HexMem Integration

Archon operations are documented in HexMem:

```bash
source ~/clawd/hexmem/hexmem.sh

# Query Archon facts
hexmem_select "SELECT predicate, object_text FROM facts WHERE subject_entity_id = 10;"

# Log Archon events
hexmem_event "identity" "archon" "Created new DID" "did:cid:..."

# Record lessons
hexmem_lesson "identity" "Always encrypt vault items with meaningful metadata" "..."
```

**Automated vault backups** (see `~/clawd/hexmem/SKILL.md`):
- HexMem database: Daily @ 3am MST → `hexmem-vault`
- Credentials: Monthly @ 1st 3am MST → `hexmem-vault`

## Use Cases

**Identity Operations:**
- Create DIDs for new agents/projects
- Issue credentials attesting to capabilities
- Cross-platform identity linking (Nostr ↔ Archon)
- Cryptographic proof of identity

**Secure Storage:**
- Encrypted backups to Archon vaults
- Distributed credential storage
- Version-controlled configuration (encrypted)
- Disaster recovery via IPFS

**Group Coordination:**
- Daemon collectives with shared credentials
- Group vaults for collaborative work
- Role-based access control
- Multi-agent coordination protocols

**Network Exploration:**
- Resolve DIDs of other agents
- Verify credential chains
- Explore decentralized identity network
- Monitor network health

## Cross-Platform Usage

### For AI Agents on Different Platforms

**Public Network API (All Platforms):**
```bash
# Works everywhere with curl/web_fetch
curl -s "https://archon.technology/api/v1/did/did:cid:..." | jq '.'
```

**Keymaster CLI (All Platforms with Node.js):**
```bash
# Cross-platform via npx
cd ~/.config/archon  # or %USERPROFILE%\.config\archon on Windows
npx @didcid/keymaster list-ids
npx @didcid/keymaster list-credentials
```

**Platform-Specific Considerations:**

**Linux:**
- Native Docker support
- All helper scripts work out of box
- Recommended for production deployments

**macOS:**
- Docker Desktop required
- Helper scripts work (platform detection handles BSD vs GNU commands)
- `detect-platform.sh` auto-adapts `stat` and `sha256sum` commands

**Windows:**
- **Option 1 (Recommended):** Use WSL2 + Docker Desktop
  - Full Linux compatibility
  - All scripts work unchanged
  - Best developer experience
  
- **Option 2:** Native Windows + Git Bash
  - Keymaster CLI works via npx
  - Helper scripts work in Git Bash
  - Docker commands may need path adjustments
  
- **Option 3:** PowerShell adaptations
  - Rewrite scripts in PowerShell
  - Use `Get-FileHash`, `Get-Content`, Docker Desktop CLI
  - Example: `docker compose` works same way

**Environment Setup (Cross-Platform):**
```bash
# Linux/macOS/WSL2
export ARCHON_CONFIG_DIR="$HOME/.config/archon"
export ARCHON_PASSPHRASE="your-passphrase"

# Windows PowerShell
$env:ARCHON_CONFIG_DIR = "$env:USERPROFILE\.config\archon"
$env:ARCHON_PASSPHRASE = "your-passphrase"
```

**Helper Scripts Platform Detection:**
Scripts source `detect-platform.sh` which auto-detects OS and sets:
- `$STAT_SIZE` - Platform-appropriate stat command
- `$CHECKSUM_CMD` - sha256sum (Linux/Git Bash) or shasum (macOS)
- `$DOCKER_CMD` - Docker command (usually just `docker`)

## Public Network API

For read-only access to public DIDs without local node:

**Base URL:** `https://ar

... (truncated)
browser

Comments

Sign in to leave a comment

Loading comments...