A development repository for publicrypto book publishing platform using Aptos blockchain and IPFS distributed filesystem.
Publicrypto is a platform to achieve book or article publication without intermediary. The reader can purchase a document and most of the reward is fed back to the author. The blockchain consumes a little bit of gas fee, but it is minimal compared to conventional publication platforms.
The key idea is that each copy of the document is encrypted by a unique key, so other users cannot see the contents.
Since we need rapid prototyping to get the grant, we develop with the following strategy:
- Implement a set of script files to perform basic operations, such as publishing a book, sending to a reader and decripting on the reader side.
- Implement smart contract to perform key exchange between the publisher and the reader.
- Implement a simple frontend to demonstrate the publishing UX. Ideally we should encrypt on the frontend without using external servers, but we need to see if it's possible.
- Implement a offline tool using Electron or Tauri for more DTP-like experience.
- Implement a reader app that decrypt and view simultaneously, probalby by utilizing pdf.js.
- Implement watermark feature to the publishing app as a countermeasure for piracy.
- Implement reselling feature, i.e. re-encryption with renewed key, and remove from previous owner's reader app.
- Implement a marketplace that publishers and readers can match.
See README in scripts for the full list of scripts for basic operations.
See contract for the smart contract codes in Move.