JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q42560F
  • License MIT

Blockchain Version Control - Decentralized version control system powered by blockchain and IPFS

Package Exports

  • bvc-eth
  • bvc-eth/bin/bvc.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (bvc-eth) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

πŸ”— Blockchain Version Control (BVC)

A decentralized version control system inspired by Git, but powered by blockchain and IPFS.

npm version License: MIT

✨ Features

  • πŸš€ Decentralized: No central server required
  • ⛓️ Blockchain-powered: Immutable commit history on Ethereum
  • 🌐 IPFS storage: Decentralized file storage
  • πŸ” Cryptographically secure: SHA256 file hashing
  • πŸ’» Git-like CLI: Familiar commands and workflows

πŸ“¦ Installation

npm install -g bvc-eth

Local Installation

npm install bvc-eth

Manual Installation

git clone https://github.com/Lviffy/BVC.git
cd BVC
npm install
npm link  # or use: node bin/bvc.js

πŸš€ Quick Start

1. Configure BVC

bvc-eth config --setup

2. Create a Repository

bvc-eth init my-project
cd my-project

3. Add Files and Commit

echo "console.log('Hello BVC!');" > index.js
bvc-eth add index.js
bvc-eth commit -m "Initial commit"

4. Push to Blockchain

bvc-eth push

5. View History

bvc-eth log

6. Collaborate

# Share your repository ID with others
bvc-eth list --mine

# Others can clone your repository
bvc-eth clone <your-repo-id>

# Pull latest changes
bvc-eth pull

πŸ“‹ Commands

Command Description Status
bvc-eth init [name] Create new repository βœ… Working
bvc-eth config Configure wallet/blockchain βœ… Working
bvc-eth add <files> Stage files for commit βœ… Working
bvc-eth commit -m "msg" Create commit with IPFS upload βœ… Working
bvc-eth status Show repository status βœ… Working
bvc-eth log View commit history βœ… Working
bvc-eth push Push commits to blockchain βœ… Working
bvc-eth pull Pull commits from blockchain βœ… Working
bvc-eth clone <id> Clone repository from blockchain βœ… Working
bvc-eth checkpoint Create commit batches βœ… Working
bvc-eth list List all repositories βœ… Working

βš™οΈ Configuration

BVC requires configuration for blockchain and IPFS integration:

bvc config --setup

Required settings:

  • Private Key: Your wallet private key
  • RPC URL: Blockchain RPC endpoint (Sepolia, Mainnet, etc.)
  • IPFS Endpoint: IPFS node URL

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   BVC CLI       │───▢│  Smart Contract  │───▢│   Blockchain    β”‚
β”‚   (Commander)   β”‚    β”‚   (Solidity)     β”‚    β”‚   (Ethereum)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                       β”‚                       β”‚
         β–Ό                       β–Ό                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Local Storage  β”‚    β”‚  File Hashing    β”‚    β”‚      IPFS       β”‚
β”‚   (.bvc/)       β”‚    β”‚   (SHA256)       β”‚    β”‚  (Distributed)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ§ͺ Testing

npm test

πŸ“œ License

MIT Β© Lviffy

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ž Support


⚠️ Note: This is an early-stage project. Use at your own risk and test thoroughly before production use.