| +----------------+ | Musician | +----------------+ | | creates music | +----------------+ | ERC-721 | | Token | +----------------+ | | contains metadata | +----------------+ | Smart Contract | +----------------+ | | sets revenue share, royalty, and ownership terms | +----------------+ | Blockchain | +----------------+ | | records ownership and tracks revenue share | +----------------+ | Animator | +----------------+ | | creates animation | +----------------+ | ERC-721 | | Token | +----------------+ | | contains metadata | +----------------+ | Smart Contract | +----------------+ | | sets revenue share, royalty, and ownership terms | +----------------+ | Blockchain | +----------------+ | | records ownership and tracks revenue share | | --- | --- | | +------------------+ | Revenue Sharing | | Mechanism | +------------------+ | | Calculates and distributes revenue and royalties | +--------+ +--------+ | Musician| |Animator| +--------+ +--------+ | +------------------+ | Revenue Sharing | | Mechanism | +------------------+ | | Calculates and distributes revenue and royalties | +--------+ +--------+ | Musician| |Animator| +--------+ +--------+ |
In this diagram, the musician creates music and the animator creates animation
They agree to collaborate on a single ERC-721 token, which represents their joint creation
The ERC-721 token contains the collective creation metadata, and includes information about the revenue share, royalty, and ownership terms agreed upon by the musician and animator
This metadata is orchestrated by a smart contract, which sets the terms and ensures that they are enforced
The smart contract is deployed on the blockchain, which records ownership of the token and tracks the revenue share
Whenever the token is sold or traded, the revenue sharing mechanism calculates revenue based on the sale price of the token and distributes it according to the revenue distribution rules set by the smart contract
Similarly, the royalty sharing mechanism calculates royalties based on any subsequent sales of the token and distributes them to the appropriate parties
The parties involved in the collaboration, such as the musician and animator, receive their share of revenue and royalties as determined by the rules set in the smart contract metadata
Overall, this diagram shows how the collaboration between a musician and animator can be facilitated by an ERC-721 token with customizable revenue share, royalty, and ownership terms orchestrated within the metadata, and how the smart contract, blockchain and revenue sharing mechanism facilitate this process
The Collab smart contract inputs consist of metadata fields including the names of creators, the file names associated with the token, revenue share and royalty percentages for each creator, and ownership stake percentages for each creator
The ERC-721 token represents a non-transferable right to reproduce the underlying work with credit to the creators and contributors, but the purchaser does not receive any intellectual property ownership rights to the work
The contract Token includes constructor functions to assign values to the metadata fields.
Metadata Field | Description |
---|---|
Creator 1 | Name of the first creator |
Creator 2 | Name of the second creator |
File Name 1 | Name of the first file associated with the token |
File Name 2 | Name of the second file associated with the token |
Revenue Share 1 | Percentage of revenue shared with Creator 1 |
Revenue Share 2 | Percentage of revenue shared with Creator 2 |
Royalty 1 | Percentage of royalty paid to Creator 1 |
Royalty 2 | Percentage of royalty paid to Creator 2 |
Ownership Stake 1 | Percentage of ownership stake held by Creator 1 |
Ownership Stake 2 | Percentage of ownership stake held by Creator 2 |
Smart Contract Language |
---|
"contract Token { |
string public creator1;
string public creator2;
string public fileName1;
string public fileName2;
uint public revenueShare1;
uint public revenueShare2;
uint public royalty1;
uint public royalty2;
uint public ownershipStake1;
uint public ownershipStake2;
constructor(string memory _creator1, string memory _creator2, string memory _fileName1, string memory _fileName2, uint _revenueShare1, uint _revenueShare2, uint _royalty1, uint _royalty2, uint _ownershipStake1, uint _ownershipStake2) public {
creator1 = _creator1;
creator2 = _creator2;
fileName1 = _fileName1;
fileName2 = _fileName2;
revenueShare1 = _revenueShare1;
revenueShare2 = _revenueShare2;
royalty1 = _royalty1;
royalty2 = _royalty2;
ownershipStake1 = _ownershipStake1;
ownershipStake2 = _ownershipStake2;
}
}" |
API |
---|
"{ |
""metadata"": { |
""creator1"": {
""name"": ""string"",
""revenueShare"": ""number"",
""royalty"": ""number"",
""ownershipStake"": ""number""
},
""creator2"": {
""name"": ""string"",
""revenueShare"": ""number"",
""royalty"": ""number"",
""ownershipStake"": ""number""
},
""file1"": {
""name"": ""string""
},
""file2"": {
""name"": ""string""
}
} }" |
Optional Metadata Terms | |
---|---|
Non-Transferable IP Ownership | This ERC-721 token represents a non-transferable right to reproduce the underlying work with credit to the creators and contributors. The purchaser of this token does not receive any intellectual property ownership rights to the underlying work, including but not limited to copyright, trademark, or patent rights. Any reproduction or use of the underlying work must be done in accordance with applicable laws and with proper attribution to the creators and contributors. |