This is a blockchain demo project developed using Python and Django, showcasing various aspects of blockchain technology, including hash generation, mining, blockchain chaining, peer-to-peer distribution, and key-based cryptography.
- Path:
/hash - Converts any input string into a SHA-256 hash.
- This page allows users to input a string and generate its corresponding hash value.
- Path:
/block - Converts ID, nonce, and data into a SHA-256 hash.
- Includes a button to mine and generate a hash with a prefix of 4 zeros using the nonce.
- Path:
/blockchain - Displays a chain of blocks, where each block is linked to its previous hash, forming a continuous blockchain.
- Path:
/distributed-blockchain - Simulates a distributed blockchain system with 3 peer blockchains, demonstrating how blockchains interact with one another in a decentralized network.
- Path:
/coinbase - This feature is under construction but will implement the creation of a coinbase transaction in the future.
- Implement coinbase transaction creation.
- Path:
/public-private-keys/keys/ - Allows the generation and management of public and private keys for cryptographic operations.
- Path:
/public-private-keys/signature/ - Allows users to sign data with their private key and verify signatures with the corresponding public key.
- Path:
/public-private-keys/transactions/ - Facilitates creating, signing, and sending transactions within the blockchain network using public and private keys.
- Implement transaction creation and validation.
- Path:
/public-private-keys/blockchain/ - Displays the blockchain and integrates public-private key functionalities for enhanced security and transaction validation.
- Integrate public-private key security into blockchain display.
To run this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/yourusername/blockchain-demo.gitNavigate to the project directory:
cd blockchain-demoInstall the required dependencies:
pip install -r requirements.txtRun the Django server:
bash
python manage.py runserver
Open the application in your web browser:
http://127.0.0.1:8000License This project is licensed under the MIT License - see the LICENSE file for details.
The checkboxes represent tasks that are still pending. You can mark them as completed once they're done. Let me know if you need further adjustments!