Meta Contract is a Foundry-based smart contract framework designed to create flexible, upgradeable, and scalable blockchain applications. It implements the UCS (ERC-7546: Upgradeable Clone for Scalable Contracts) architecture, providing developers with powerful tools to build and maintain complex decentralized systems.
Warning
This is still in the development version, which means it is an early version intended for testing and feedback purposes. Please be cautious when using this version in production environments, as it may contain bugs, incomplete features, or unexpected behavior.
- Upgradeability: Meta Contracts can be upgraded without changing their address, allowing for seamless improvements and bug fixes.
- Modularity: The framework separates contract logic into distinct, manageable components, enhancing code organization and reusability.
- Scalability: Meta Contracts are designed to handle growth efficiently, making them suitable for large-scale applications.
- Flexibility: Developers can easily extend and customize Meta Contracts to suit specific project needs.
- Testability: The modular structure of Meta Contracts facilitates comprehensive testing, including unit tests for individual functions and integration tests for the entire system.
To use mc, you need to have Foundry installed.
Just run this:
forge init <Your Project Name> -t metacontract/template
After the installation, run the following command to test the Counter sample project and see how it works:
cd <Your Project Name>
forge test
If you want to learn more about meta contract installation, please refer to installation guide.
The MC Book serves as a comprehensive guide for developing with the meta contract. Also, you can find the markdown documents in docs directory.
We welcome contributions from the community! If you'd like to contribute to mc, please check out our Contributing Guide for detailed instructions on how to:
- Report issues and bugs
- Submit feature requests
- Create pull requests
- Follow our project management guidelines
- Participate in discussions and decision-making
We appreciate your help in making meta contract even better!
This meta contract is released under the MIT License.