Technical Implementation

Block Structure

Each block in our implementation contains:

  • Index - Position in the chain
  • Timestamp - When the block was created
  • Transactions - Array of transaction data (max 10 per block)
  • Previous Hash - Hash of the previous block
  • Hash - Current block's hash using SHA256
  • Nonce - Used for mining
  • Fee - Transaction fee for the block

Mining Process

Our blockchain uses a proof-of-work consensus mechanism with a difficulty-based mining system. Blocks are mined when:

  • 10 transactions are pending
  • Manual mining is triggered
  • The target hash must start with a specific number of zeros based on difficulty

Transaction System

The transaction system includes:

  • Dynamic fee calculation based on network load
  • Double-spending prevention
  • Balance validation before transaction execution
  • Automatic block creation when transaction limit is reached

Security Features

Security is ensured through:

  • SHA256 hashing for block integrity
  • Chain validation checking previous hashes
  • Transaction verification system
  • Immutable block structure

Getting Started

Installation

Download the repository from GitHub

Install the blockchain implementation using npm:

📄Shell
1npm install
2npm run dev

Dependencies

  • Next.js 14
  • shadcn/ui
  • Typescript
  • crypto-js
  • react-copy-to-clipboard
  • hamburger-react

Start coding!

Create the first file, main.ts.