Shogun

Decentralized Web3 Ecosystem

A comprehensive toolkit for developing decentralized Web3 applications, focusing on privacy, security, and user ownership of data.

Ecosystem Components

Core Components

📦

shogun-core

The core of the ecosystem with decentralized authentication, distributed storage with GunDB, wallet management, and security.

TypeScript, GunDB, ethers.js, WebAuthn, SEA.js
🤝

shogun-protocol

Definition of the Shogun protocol, including standards for authentication, certificates, contact management, and messaging.

JavaScript, GunDB
📡

shogun-relay

Relay server for the Shogun network, facilitating communication between decentralized nodes using GunDB.

Express, GunDB, WebSockets

Utility and UI

🔘

shogun-button-react

React components to facilitate Shogun authentication integration into applications.

React, TypeScript
🔒

shogun-d3

Messaging system with end-to-end encryption for secure peer-to-peer communication directly in the browser.

JavaScript, GunDB, SEA.js, MetaMask
📋

shogun-panpot

P2P messaging system based on Bugout and GunDB for communication via WebRTC.

JavaScript, HTML/CSS, Bugout, GunDB, WebRTC

Applications

💬

shogun-messenger-app

Complete messaging application based on Shogun for decentralized communications.

React, TypeScript, Tailwind CSS

shogun-task-app

Task management application based on Shogun, demonstrating the use of the ecosystem.

Next.js, React, Tailwind CSS
💰

shogun-wallet-app

Wallet application for managing crypto assets, integrated with the Shogun ecosystem.

Vite, React, TypeScript
📝

shogun-contracts

Ethereum smart contracts used in the Shogun ecosystem for blockchain functionalities.

Solidity, Hardhat

Architecture

The following diagram illustrates how Shogun components interact with each other:

┌─────────────────┐ ┌─────────────────┐ │ shogun-core │ │ shogun-relay │ └────────┬────────┘ └────────┬────────┘ │ │ ┌────┼────────────┬────────────────┐ │ │ │ │ ▼ ▼ ▼ ▼ ┌────────────┐ ┌──────────┐ ┌────────────┐ │ protocol │ │ d3 │ │ panpot │ └────────┬───┘ └──────────┘ └────────────┘ │ │ └────────────────┐ │ ▼ ┌─────────────────┐ │ messenger-app │ └─────────────────┘ ┌─────────────────┐ │ shogun-button │ └────────┬────────┘ │ ┌────┴────┐ │ │ ▼ ▼ ┌─────────┐ ┌─────────┐ │ wallet │ │ task │ └────┬────┘ └─────────┘ │ ▼ ┌──────────────┐ │ contracts │ └──────────────┘

Main Features

Decentralized Authentication

WebAuthn, MetaMask, cryptographic keys for secure authentication without central servers.

Distributed Storage

GunDB with real-time synchronization to store data in a decentralized way.

Secure Messaging

End-to-end encryption for private and secure communications between users.

Wallet Management

BIP-44 compatible, support for stealth addresses and secure key management.

User Interfaces

React components and complete applications ready to use for a modern user experience.

Smart Contracts

Blockchain integrations for advanced decentralized functionalities.

Getting Started with Shogun

To start using the Shogun ecosystem, it's advisable to first familiarize yourself with shogun-core, which provides the basic functionalities used by other components.

# Install shogun-core
npm install shogun-core
# or
yarn add shogun-core

For complete examples and detailed documentation, visit the repositories of the individual components.