This is a simple program in Java for renting movies, books, videos, music. It implements a blockchain logic to log all the transactions done.
You can create a user who will have his own Digital wallet (private key and public key) and will be able to rent a media for 1 dollar. Each session (starting and closing the application) will create a block. A block will contain all transactions made (rental or return). The admin user is the one who gets paid and he will be able to see the users and the blockchain that has been created. The program briefly consists of:
Media class: title, type (book, movie, etc), length, genre, description, artists, averageRating, ratingsCount Block class: contains properties such as id, nonce, timeStamp, hash, previousHash list of transactions. CryptographyHelper class: provides methods for hashing data, generating key pairs using ECDSA, and applying/verifying digital signatures using ECDSA. Transaction class: each transaction consists of Id, sender (the user who rents, returns), the receiver (always the admin), signature, action (rent, return), title of media. Wallet class: privateKey and publicKey, which are generated by java package. User class: name, email, password, balance.