Hive Microblog

A decentralized micro-blogging platform built on the Hive blockchain, enabling users to create posts, chat with others, and interact in a decentralized social environment.

Features

Posts

  • Create interactive posts with text and images
  • Canvas-based post creation with drag-and-drop functionality
  • Like and comment on posts
  • Real-time updates using Hive blockchain

Chat System

  • Direct messaging between users
  • Encrypted communication using Hive Keychain
  • Real-time message updates
  • Search and filter conversations

User Profiles

  • Secure authentication with Hive Keychain
  • View user posts and activity
  • Customizable profile information

Technology Stack

  • Frontend: React + Vite
  • UI Framework: Material-UI (MUI)
  • Blockchain: Hive
  • Authentication: Hive Keychain

Prerequisites

  1. Node.js (v14 or higher)
  2. npm or yarn
  3. Hive Keychain browser extension
  4. A Hive account

Installation

  1. Clone the repository:
git clone https://github.com/iamthehimansh/hive-microblog.git
cd hive-microblog
  1. Install dependencies:
npm run install-all
  1. Start the development servers:
npm run dev

The application will be available at http://localhost:5173

Usage

Authentication

  1. Install the Hive Keychain browser extension
  2. Click "Login" in the application
  3. Enter your Hive username
  4. Approve the login request in Hive Keychain

Creating Posts

  1. Click "Create Post" in the navigation bar
  2. Use the canvas editor to add text and images
  3. Arrange elements using drag-and-drop
  4. Click "Post" to publish to the Hive blockchain

Messaging

  1. Navigate to the Chat section
  2. Select a user or start a new conversation
  3. Messages are automatically encrypted using Hive Keychain

Project Structure

├── frontend/
│   ├── src/
│   │   ├── components/
│   │   ├── pages/
│   │   └── App.jsx
│   └── package.json
├── backend/
│   ├── src/
│   │   └── index.js
│   └── package.json
└── package.json

Blockchain Integration

The application uses the following Hive custom operations:

  • hive_microblog_post: Create and store posts
  • hive_microblog_like: Handle post likes
  • hive_microblog_comment: Manage comments
  • hive_microblog_message: Handle encrypted messages

Security

  • All messages are end-to-end encrypted using Hive Keychain
  • Authentication is handled securely through Hive blockchain
  • No sensitive data is stored on centralized servers

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Hive Blockchain
  • Hive Keychain Team
  • Material-UI Team
  • React Community