Skip to content

thalperi/nodebit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

18 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Nodebit: Unified IPFS & OrbitDB for Node-RED

Nodebit provides a phpMyAdmin-like interface for decentralized storage in Node-RED. Manage IPFS networks, OrbitDB databases, and files through an intuitive web interface while building powerful automation flows.

๐ŸŽฏ What is Nodebit?

Nodebit transforms Node-RED into a comprehensive platform for decentralized data management. It combines the visual flow programming of Node-RED with the power of IPFS and OrbitDB, providing both programmatic access and a rich administrative interface.

Core Capabilities

  • ๐Ÿ“Š Distributed Dashboard: Comprehensive web UI for browsing networks, databases, and files
  • ๐Ÿ—„๏ธ OrbitDB Database Management: Create, query, and manage decentralized databases
  • ๐Ÿ“ IPFS File Operations: Upload, download, and manage files across IPFS networks
  • ๐ŸŒ Multi-Network Support: Connect to multiple IPFS networks simultaneously
  • ๐Ÿ”„ Real-time Integration: Live updates and monitoring within Node-RED flows
  • โš™๏ธ Configuration Management: Easy setup and management of decentralized infrastructure

๐Ÿš€ Quick Start

Installation

cd ~/.node-red
npm install nodebit

Basic Setup

  1. Restart Node-RED to load the Nodebit nodes
  2. Create a workspace configuration:
    • Go to hamburger menu โ†’ Configuration nodes
    • Add a new "nb-workspace" configuration
    • Give it a name like "My Workspace"
  3. Access the Distributed Dashboard:
    • In the workspace configuration, click "Open Workspace Admin"
    • Browse networks, databases, and files in the web interface

Your First Flow

[inject] โ†’ [nb-file] โ†’ [debug]
  1. Configure inject node: Set payload to "Hello, IPFS!"
  2. Configure nb-file node: Select your workspace, operation: "auto"
  3. Deploy and test: Click inject to upload your first file to IPFS

๐Ÿ“ฆ Node Overview

Node Purpose Status Description
nb-workspace Configuration & Admin โœ… Working Central hub with phpMyAdmin-like interface
nb-file IPFS file operations โœ… Demo Upload, download, pin/unpin files
nb-database OrbitDB operations โœ… Demo Create, query, manage databases
nb-encrypt Encryption services โœ… Optional Encrypt/decrypt data in flows

๐Ÿ–ฅ๏ธ Distributed Dashboard Features

The Distributed Dashboard provides comprehensive management capabilities with five main tabs:

๐Ÿ“Š Workspace Overview

  • IPFS Networks: Connected networks and peer counts
  • OrbitDB Databases: Database instances, entry counts, storage usage
  • IPFS Files: File management, pin status, storage distribution
  • Connected Peers: Live peer connections and status
  • Recent Activity: Live feed of operations and changes

๐ŸŒ Networks Tab

  • IPFS Network Browser: View all connected networks
  • Peer Information: Peer IDs, connection status, capabilities
  • Network Statistics: Bandwidth, latency, availability metrics
  • Connection Management: Add, remove, configure networks

๐Ÿ—„๏ธ Databases Tab

  • OrbitDB Browser: Browse all databases across networks
  • Database Types: Documents, key-value, event logs, feeds, counters
  • Schema Viewer: Inspect database structures and indexes
  • Query Interface: Execute queries and view results

๐Ÿ“ Files Tab

  • IPFS File Browser: Navigate files across all networks
  • Metadata Viewer: File sizes, types, upload dates, pin status
  • Bulk Operations: Pin/unpin multiple files, batch downloads
  • Storage Analytics: Usage patterns and optimization suggestions

๐Ÿ” Query Builder (Coming Soon)

  • Visual Query Designer: Drag-and-drop query construction
  • Cross-Database Joins: Query across multiple OrbitDB instances
  • Export Capabilities: CSV, JSON, and custom format exports
  • Saved Queries: Store and reuse complex queries

๐Ÿ—๏ธ Architecture

Nodebit uses a resource-centric design focused on data management rather than connection complexity:

graph TB
    subgraph "Node-RED Palette"
        WS[nb-workspace<br/>Configuration Node]
        FILE[nb-file<br/>File Operations]
        DB[nb-database<br/>Database Operations]
    end
    
    subgraph "Distributed Dashboard"
        UI[phpMyAdmin-like Web UI]
        API[HTTP API Endpoints]
    end
    
    subgraph "Decentralized Layer"
        IPFS[IPFS Networks]
        ORBIT[OrbitDB Databases]
    end
    
    WS --> UI
    WS --> API
    FILE --> WS
    DB --> WS
    WS --> IPFS
    WS --> ORBIT
Loading

Key Design Principles

  1. Configuration Node Pattern: nb-workspace acts as a shared configuration
  2. Distributed Dashboard Integration: Web UI embedded in Node-RED
  3. Resource Abstraction: Work with files and databases, not protocols
  4. Progressive Disclosure: Simple tasks are simple, complex tasks are possible

๐Ÿ“š Documentation

๐ŸŽ“ Example Use Cases

Personal Cloud Storage

[File Upload] โ†’ [nb-encrypt: encrypt] โ†’ [nb-file: store] โ†’ [Share Link Generator]

Distributed Database Application

[HTTP Request] โ†’ [nb-database: query] โ†’ [Template] โ†’ [HTTP Response]

Real-time Data Sync

[Timer] โ†’ [nb-database: sync check] โ†’ [Notification] โ†’ [Slack/Email]

Content Distribution Network

[RSS Feed] โ†’ [nb-file: cache content] โ†’ [nb-database: index] โ†’ [API Response]

๐Ÿ”ง Current Implementation Status

โœ… Working Features

  • Configuration Management: Full workspace configuration with validation
  • Distributed Dashboard: Complete web interface for managing distributed data
  • Demo Operations: File upload/download and database operations with mock data
  • Node-RED Integration: Proper palette integration and flow composition
  • HTTP API: RESTful endpoints for programmatic access

๐Ÿšง Demo Mode

Currently, all operations use mock data to demonstrate functionality:

  • File Operations: Generate mock CIDs, simulate uploads/downloads
  • Database Operations: In-memory storage, simulated OrbitDB operations
  • Network Management: Mock IPFS networks and peer connections

๐Ÿ”ฎ Planned Real Implementation

  • IPFS Integration: Replace mock operations with real Helia/IPFS calls
  • OrbitDB Integration: Connect to actual OrbitDB instances
  • Network Discovery: Automatic IPFS node detection and connection
  • Advanced Security: DID/ACL system with decentralized identity management

๐Ÿค Contributing

We welcome contributions! The current demo implementation provides a solid foundation for adding real IPFS and OrbitDB functionality.

For developers: See the Development Guide for detailed setup instructions, debugging workflow, and activity logging system.

Key Areas for Contribution

  1. IPFS Integration: Replace mock file operations with real Helia calls
  2. OrbitDB Integration: Implement actual database operations
  3. Network Discovery: Add automatic IPFS node detection
  4. Security Features: Implement encryption and access control
  5. Performance Optimization: Caching, batching, and efficiency improvements

๐Ÿ“„ License

MIT License - see LICENSE for details.

๐Ÿ™ Acknowledgments

Built on the shoulders of giants:

  • IPFS - The InterPlanetary File System
  • OrbitDB - Decentralized databases
  • Helia - Modern IPFS implementation
  • Node-RED - Visual programming for IoT

Ready to explore decentralized data management? Start with the Getting Started Guide!

About

Admin and Client Node Red Nodes for OrbitDB Integration

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors