Metadata Blockchain based on Substrate
The goal of Starlog is to research and develop an open source solo chain or potential parachain, which stores metadata for the next generation of the world wide web as non-fungible tokens as well as availability data. The metadata will be signed by the uploaders and includes a unique file hash, a price, a timestamp, a license code, a metadata hash (off-chain information about the uploaded file itself) as well as the location of the initial upload or pinning gateway.
The project was initiated to improve Dweb.page. That's why Dweb.page is used as a potential first user-interface/testing environment for Starlog (see images below).
IPFS is used as a distributed storage layer. Support for other similar systems might be implemented in the future. Starlog provides the following key benefits for IPFS uploads:
- Searchability via human-readable names
- Copyright system for IPFS uploads
- Marketplace for uploaded content
- Electronic identity based on personal IPFS uploads
- Faster initial loading of non-distributed IPFS content
Rather than trying to find one single truth directly on the blockchain (e.g., token-curated registry), the idea is to develop a subscription-based system (see image below).
This means Publishers store immutable metadata and unavailability data on the chain. Consumers can decide which publishers (signatures) they trust and follow. In practice, this will be automatically archived by rules hard-coded into the interface (e.g., dweb.page). The benefit of the system is the immediate availability of information without the requirement of an additional voting system nor a filtering system, which takes individual preferences into account.If you haven’t installed Substrate before, check out the official Substrate documentation. If you are a windows user, I also suggest taking a look at the Substrate GitHub.
Clone this repository and run the following commands:
./build.sh
cargo build --release
./target/release/starlog purge-chain --dev
./target/release/starlog --dev
You can interact with your local chain using the Polkadot-JS Apps UI. Therefore, you need to adjust the Settings:
Remote node/endpoint to connect to > Local Node (127.0.0.1:9944)
Default Interface Theme > Substrate
Under the developer tab upload and save the Metadata.json to register the custom struct.
If you want to help either join our discord server or you can open issues for bugs you've found or features you think are missing. You can also submit pull requests to this repository.
If editing the README, please conform to the standard-readme specification.
MIT License © PACT Care B.V.