The end goal of this project is to build a peer-to-peer subscription model, but with a rust smart contract on the NEAR blockchain as the backend / database.
Creators will be able to store content as a String
that can be anything from markdown, ready to be parsed on the frontend or a link to a privately hosted media. Storing anything but a String
as content is likely very difficult and for reasons explored here it is not preferred.
A profile can be either a consumer or a creator, with creators being able to store content, and set a price for their content.
- Build out the data struct and methods for the smart contract
- Make the subscription methods payable and apply a payment logic
- Build out the tests
- Deploy on testnet
- Build out integration tests using workspaces-rs
- Update payment model to that outlined in blog post
- Decide on framework (vanilla-js, next.js, vue, react or yew/rocket-rs??)
- Build the frontend design
- Connect to the contract
- Build frontend tests
- Audit / secure the contract
- add account guards for appropriate get methods
- research other possible areas (re-entrancy etc)
- Make a parent contract that creates a single contract for a single Profile
- Research on chain contract creation and cross-contract calls
- Found a useful link for basic contract fundamentals