Cairo smart contracts for Mediolano, the intellectual property provider of the integrity web, powered on Starknet.
Quick links:
Mediolano Dapp (Sepolia)
Website mediolano.xyz
Telegram | YouTube | X / Twitter
Important
Mediolano dapp is in constant development and the current version runs on Starknet's Sepolia devnet. Use for testing purposes only.
Mediolano empowers creators, artists and organizations to make money from their content, without requiring them to know anything about crypto.
With permissionless services for Programmable Intellectual Property (IP), leveraging Starknetโs high-speed, low-cost transactions and zero-knowledge proofs, Mediolano provides a comprehensive suite of solutions to tokenize and monetize assets efficiently, transparently and with sovereignty.
With zero fees, Mediolanoโs open-source protocol and dapp ensures immediate tokenization and protection under the Berne Convention for the Protection of Literary and Artistic Works (1886), covering 181 countries. This framework guarantees global recognition of authorship, providing verifiable proof of ownership for 50 to 70 years, depending on jurisdiction.
The platform also introduces advanced monetization, enabling diverse approaches to licensing, royalties, and financing creators economies. These tools are designed to offer integrations with various ecosystems, including communities, games, and AI agents, unlocking the true power of Programmable IP for the Integrity Web.
Mediolano Protocol
โโโ Medialane Protocol (Marketplace Core)
โโโ User Achievements System
โโโ IP Tokenization (ERC-721/ERC-1155)
โโโ Programmable Licensing
โโโ Revenue Sharing & Royalties
โโโ Community & Club Management
โโโ Franchise & Monetization
โโโ Escrow & Negotiations
โโโ Collective Agreements
โโโ Collaborative Storytelling
โโโ Partner Certification
- ๐ฏ Zero-Knowledge IP Protection: Leverage Starknet's ZK-proofs for privacy-preserving IP validation
- ๐ฐ Revenue Sharing: Automated distribution of royalties to IP owners and collaborators
- ๐ค Collective Ownership: Multi-party IP agreements with governance and voting mechanisms
- ๐ช Marketplace Integration: Seamless trading and licensing of IP assets
- ๐ฎ Gamification: Achievement system to reward creators and build reputation
- ๐ Community Tools: NFT-based clubs and communities for creators
- ๐ Smart Licensing: Programmable licensing with customizable terms
- ๐ Escrow Services: Secure transaction handling for IP negotiations
-
Starknet Ignition 24.9
-
MIP Protocol @ Starknet Sepolia 24.11
-
Mediolano Dapp @ Starknet Sepolia 24.11
-
Programmable IP Contracts 25.02
-
MIP Dapp @ Starknet Sepolia 25.06
-
MIP Protocol @ Starknet Mainnet 25.07
-
MIP Collections Protocol @ Starknet Sepolia 25.07
-
MIP Dapp @ Starknet Mainnet 25.08
-
Mediolano Dapp @ Starknet Mainnet 25.08
-
MIP Collections Protocol @ Starknet Mainnet 25.08
-
Medialane Protocol @ Starknet Sepolia 25.08
-
Medialane Dapp @ Starknet Sepolia 25.09
-
Medialane Protocol @ Starknet Mainnet 25.11
-
Medialane Dapp @ Starknet Mainnet 25.11
Before you begin, ensure you have the following requirements:
- Node.js (version 18 or later) and npm installed. Download them from the official Node website.
- Basic understanding of Starknet Foundry to deploy your own contract instance
- Cairo and Scarb for smart contract development
- Npm + Git
- ASDF + Scarb
- Starknet CLI
- Starknet Foundry
- Operating System: macOS, Windows (including WSL), and Linux are supported
- Clone the repository to your local machine:
git clone https://github.com/mediolano-app/mediolano-contracts.git
cd mediolano-contracts
- Install dependencies:
# Install Scarb (Cairo package manager)
curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh
# Install Starknet Foundry
curl -L https://raw.githubusercontent.com/foundry-rs/starknet-foundry/master/scripts/install.sh | sh
- Build contracts:
# Build all contracts
scarb build
# Or build specific contract
cd contracts/IP-Club
scarb build
- Run tests:
# Run all tests
scarb test
# Run tests for specific contract
cd contracts/User-Achievements
scarb test
mediolano-contracts/
โโโ contracts/
โ โโโ Medialane-Protocol/ # Core marketplace
โ โโโ User-Achievements/ # Gamification system
โ โโโ IP-Club/ # Community management
โ โโโ IP-Revenue-Share/ # Revenue distribution
โ โโโ IP-License-Agreement/ # Licensing contracts
โ โโโ IP-Collective-Agreement/ # Multi-party agreements
โ โโโ ... # Additional contracts
โโโ scripts/ # Deployment scripts
โโโ tests/ # Integration tests
โโโ docs/ # Documentation
Each contract directory contains its own Scarb.toml
configuration file. You can build and test contracts individually:
# Navigate to specific contract
cd contracts/IP-Club
# Build the contract
scarb build
# Run contract tests
scarb test
# Format code
scarb fmt
Deploy contracts to Starknet networks:
# Deploy to Sepolia testnet
starkli deploy ./target/dev/contract_name.contract_class.json \
--network sepolia \
--keystore ./keystore.json
# Deploy to mainnet
starkli deploy ./target/dev/contract_name.contract_class.json \
--network mainnet \
--keystore ./keystore.json
- Access Control: Role-based permissions using OpenZeppelin components
- Reentrancy Protection: Guards against reentrancy attacks
- Input Validation: Comprehensive validation of all user inputs
- Overflow Protection: Safe math operations throughout
- Pause Functionality: Emergency pause capabilities for critical contracts
We are building open-source Integrity Web with the amazing OnlyDust platform. Check our website for more information.
We also have a Telegram group focused to support development.
Contributions are greatly appreciated. If you have a feature or suggestion that would make our platform better, please fork the repo and create a pull request with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/Feature
) - Commit your Changes (
git commit -m 'Add some Feature'
) - Push to the Branch (
git push origin feature/YourFeature
) - Open a Pull Request
- Follow Cairo best practices and coding standards
- Write comprehensive tests for new features
- Update documentation for any API changes
- Ensure all tests pass before submitting a pull request
- Use descriptive commit messages
When reporting issues, please include:
- Environment details (OS, Cairo version, Scarb version)
- Steps to reproduce the issue
- Expected vs actual behavior
- Error messages or logs
- Minimal code example if applicable
This project is licensed under the MIT License - see the LICENSE file for details.
- Starknet Foundation for the amazing ZK-rollup technology
- OpenZeppelin for secure smart contract components
- OnlyDust for supporting open-source development
- Community Contributors who make this project possible
- Documentation: Check individual contract READMEs for specific guidance
- Community: Join our Telegram for discussions
- Issues: Report bugs and feature requests on GitHub
Built with โค๏ธ for the Integrity Web on Starknet