cybersoul

Crates.iocybersoul
lib.rscybersoul
version0.1.2
created_at2025-10-10 16:21:38.502078+00
updated_at2025-11-25 18:33:58.082208+00
descriptionA decentralized profile CLI tool for managing Soul Bound Token profiles based on ERC-7866
homepagehttps://github.com/anistark/cybersoul-cli
repositoryhttps://github.com/anistark/cybersoul-cli
max_upload_size
id1877152
size2,270,857
Ani (anistark)

documentation

README

CyberSoul CLI

A decentralized profile CLI tool for managing Soul Bound Token (SBT) profiles based on ERC-7866

Crates.io Downloads License: Apache-2.0 Rust Status

What is CyberSoul?

CyberSoul lets you create and manage decentralized user profiles as Soul Bound Tokens (SBTs). Your profile lives on the blockchain and is stored on IPFS - you own it, not some company.

Key Features

  • 🔐 Secure Wallet Management - AES-256-GCM encrypted keystores with OS keychain integration
  • 🆔 Unique Profiles - Create username@chain.soul identities
  • 🔒 Non-Transferable - Soul Bound Tokens that can't be sold or transferred
  • 🌐 Multi-Chain - Works across Ethereum, Polygon, and more
  • 📦 Decentralized Storage - IPFS-backed profile data
  • 🛡️ Privacy First - You control your data
  • 💻 Hardware Wallet Support (coming soon)

Installation

From Binary (Recommended)

# macOS/Linux
curl -sSfL https://raw.githubusercontent.com/anistark/cybersoul-cli/main/install.sh | sh

# Or download from releases
# https://github.com/anistark/cybersoul-cli/releases

From Source

# Requires Rust 1.75+
git clone https://github.com/anistark/cybersoul-cli.git
cd cybersoul-cli
cargo install --path .

Quick Start

# Create a wallet
cybersoul wallet create

# Create your profile
cybersoul create alice

# View your profile
cybersoul whoami

# Update your bio
cybersoul update bio "Building the decentralized web"

# Set an avatar
cybersoul avatar set ./avatar.png

# Export your profile
cybersoul export > backup.json

Usage

Create and Manage Your Profile

# Create profile
cybersoul create <username>

# Get any profile
cybersoul get <username>@<chain>.soul

# Update your profile
cybersoul update bio "Your bio"
cybersoul update website "https://example.com"
cybersoul update social twitter yourhandle
cybersoul update social github yourusername

Manage Your Avatar

# Set from file
cybersoul avatar set ./avatar.png

# Set from URL
cybersoul avatar set-url https://example.com/avatar.png

# View current avatar
cybersoul avatar get

# Remove avatar
cybersoul avatar remove

Wallet Commands

Your wallet is encrypted with AES-256-GCM and stored securely on your machine. Passwords are saved to your system's keychain (macOS Keychain, Windows Credential Manager, or Linux Secret Service).

# Create a new wallet (generates a random secp256k1 key pair)
cybersoul wallet create

# Import existing wallet from private key
cybersoul wallet import

# Show your wallet address and encryption info
cybersoul wallet show

# Export your private key (⚠️ keep it secret!)
cybersoul wallet export

Security Notes:

  • Your private key never leaves your machine
  • All keystores are encrypted with a password you choose (min 8 characters)
  • Password is stored in your OS keychain for convenience
  • Always backup your private key in a safe place

Configuration

# List networks
cybersoul config networks

# Switch network
cybersoul config set-network polygon

# View all config
cybersoul config list

Development Status

🚧 In Active Development

What's Working Now ✅

  • ✅ Wallet management (create, import, show, export)
  • ✅ AES-256-GCM encrypted keystores
  • ✅ OS keychain integration for password storage
  • ✅ Ethereum-compatible address generation

Coming Next

  • 🚧 Smart contract deployment (ERC-7866)
  • 🚧 Profile creation and management
  • 🚧 IPFS integration for metadata storage
  • 🚧 Multi-chain support

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

For developers:

Security

Report security vulnerabilities to: security@cybersoul.dev

See SECURITY.md for our security policy.

Resources

License

Apache-2.0


Built with Alloy and ratatui

Commit count: 0

cargo fmt