What do Martin Lawrence, Snoop Dogg, and emerging artists have in common? To advance their careers, they are at the mercy of someone else . In an interview, Snoop once commented that, in the music business, it takes an artist approximately 35 years to get back the masters of his work, and therefore the governance over his profits and the use of his work.
For a complex problem, complex systems must be orchestrated to build a solution that fights back: the Content Ownership Smart Contract, one of the most recent creations of MeshJS, is a contribution to creating a single source of truth of who owns content. The set of Aiken validators that make up the MeshJS solution can be integrated with other logics such as royalties, licensing, etc.
The logic behind the complex design of the Content Ownership Smart Contract is quite simple:
When content is created (Create Content
component of the Mesh Playground), the hash of the created content is included in the transaction. Also, it’s referenced in the transaction:
-
the Content Registry (a previously deployed validator —
Send Ref-Script Onchain
component of the Mesh Playground). -
the Ownership Registry (a previously deployed validator —
Send Ref-Script Onchain
component of the Mesh Playground). -
the NFT of the owner of the content that is in an Oracle contract (
Mint One Time Minting Policy
component of the Mesh Playground). This NFT was minted by the same owner of the content using a one-time minting policy created by the dapp creator (the owner of the content is not the same as the owner of the dapp that provides the Content Registry service. Note additionally, how the address in the “Operation Address” field is the same in all components — terminated in e4cxr).
Also, by providing the appropriate TxHashes as in 1, 2, and 3, they are also referenced in the transaction:
- the token related to the Content Registry
- the token related to the Ownership Registry
Inspecting the Datums
Now, notice how, upon inspecting the datums related to the Content Registry and Ownership Registry tokens after submitting a new transaction in the Create Content
component of the Mesh Playground using the same information from the previous transaction (i.e., using the same ownership registry and the same content registry), you can see how they change given the increase in the number of content and ownership records.
Bringing real use cases and building tooling that recreates them using the Cardano blockchain is a mission we will continue to go deeper into.
Next Steps
-
Go to Mesh Playground and explore the contract demo: Content Ownership - Mesh JS
-
Imagine other use cases where having a single source of truth about ownership of an asset can reduce or eliminate costs, conflicts, intermediaries, etc.
-
Both on-chain and off-chain codes are open-source and available on Mesh Github Repository:mesh/packages/mesh-contract/src/content-ownership at main · MeshJS/mesh · GitHub
Want to know what we are cooking for this Catalyst Fund 13 and give us your support to keep the​:bulb:lights on? Thanks in advance: Project Catalyst - Mesh JS