Demonstration video of my blockchain server available here :
👉https://buymeacoffee.com/AlexandreBar...
License Information
The source code for this project (both the server and client scripts) is licensed under the MIT License.
Server:
The server application is a file management system using a blockchain for secure access control. It performs the following actions:
Encryption/Decryption:
Uses AES encryption (with a key loaded from a file) to securely store and retrieve files.Files are encrypted when uploaded and decrypted when downloaded.
Blockchain Integration:
Implements a basic blockchain system to record access requests. Each request contains the user and the file hash.
Uses Proof of Work to add blocks to the blockchain, ensuring the integrity of the data.Access requests are logged and verified on the blockchain for authorization.
File Handling:
Files are uploaded to a server directory, encrypted, and then stored. The file hash is used to verify access rights.The server can respond to GET and POST HTTP requests for file retrieval and upload respectively.
User Management:
Users are stored in a JSON file with their username, password (hashed), and folder path.New users can be added through a graphical interface, and passwords are securely hashed using SHA-256.
HTTP Server:
A simple HTTP server (using Python's http.server module) listens for file upload and download requests.Each file is checked for the correct access rights before serving or storing.
Client:
The client application is a graphical interface for users to interact with the server to upload and download files securely.
File Upload:
Allows users to select a file to upload. The file is hashed (SHA-256) before upload to ensure integrity.The client communicates with the server via HTTP, sending the file and necessary headers (user credentials and file hash).
A progress bar is displayed to show the upload status, and the time taken for the upload is tracked.
File Download:
Users can enter a file hash to download the corresponding file from the server.
The client verifies the user's credentials and whether they are authorized to access the file.
Progress feedback is provided during the download, and the file is saved to the specified destination.
User Authentication:
The client authenticates users with their username and password (hashed) before allowing file upload/download actions.
The password is checked against the server's stored hash.
Blockchain Integration:
During file uploads, the client ensures that access to the file is recorded on the blockchain by sending the user's request to the server, which is then added to the blockchain.
Progress Indicators:
Displays a progress bar during file uploads and downloads, allowing the user to see how much data has been transferred.
Real-time updates on the elapsed time for operations are also shown.
На этой странице сайта вы можете посмотреть видео онлайн Open source Blockchain Server & Client - Python - Software development длительностью часов минут секунд в хорошем качестве, которое загрузил пользователь Alexandre Baranger 25 Февраль 2025, поделитесь ссылкой с друзьями и знакомыми, на youtube это видео уже посмотрели 32 раз и оно понравилось 3 зрителям. Приятного просмотра!