-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
37 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,48 @@ | ||
# Meta Contract | ||
A meta contract is a powerful framework for smart contract development, designed to enhance developer productivity and contract maintainability. Built on the principles of the *ERC-7546: UCS* (Upgradeable Clone Standard), this ***mc*** library provides a robust architecture for creating and managing upgradeable smart contracts. | ||
|
||
***Meta Contract*** is a framework for smart contract development, with its architecture based on *ERC-7546: UCS*. | ||
|
||
## Features | ||
- **Upgradeable Contracts**: Create smart contracts that can be easily upgraded, allowing for continuous improvement and bug fixes without contract migration. | ||
- **Modular Design**: A meta contract promotes a modular approach to contract development, enabling code reuse and reducing complexity. | ||
- **Standard Functions**: Utilize a rich library of standard functions to streamline contract development and ensure consistency across your projects. | ||
- **Development Kit**: Leverage the mc's Development Kit (DevKit) to simplify contract deployment, testing, and interaction. | ||
- **Comprehensive Documentation**: Benefit from extensive documentation and guides to help you get started and make the most of mc's features. | ||
|
||
## Getting Started | ||
### Prerequisite | ||
- `foundry` | ||
### Prerequisites | ||
To use mc, you need to have the following software installed: | ||
- [Foundry](https://github.com/foundry-rs/foundry) - a blazing fast, portable and modular toolkit for Ethereum application development. | ||
|
||
### Installation | ||
The mc can be installed using Foundry's `forge` command with useful template: | ||
|
||
```sh | ||
forge init <Your Project Name> -t metacontract/template | ||
``` | ||
|
||
### Install | ||
It can be installed from `metacontract/mc`. | ||
You can also install only this repository at your project root using: | ||
```sh | ||
forge install metacontract/mc | ||
``` | ||
|
||
## Document | ||
The [MC Book](https://mc-book.ecdysis.xyz/) serves as a comprehensive guide for developing with the meta contract and is available on github at `metacontract/book`. | ||
## Documentation | ||
The [MC Book](https://mc-book.ecdysis.xyz/) serves as a comprehensive guide for developing with the meta contract. It covers a wide range of topics, including: | ||
- Architecture overview | ||
- Setting up your development environment | ||
- Creating and deploying upgradeable contracts | ||
- Using standard functions and libraries | ||
- Testing and debugging your contracts | ||
- Best practices and guidelines | ||
You can find the source code for the MC Book on GitHub at [metacontract/book](https://github.com/metacontract/book). | ||
|
||
## Contributing | ||
Please check out the [Contributing Guide](./CONTRIBUTING.md). | ||
We welcome contributions from the community! If you'd like to contribute to mc, please check out our [Contributing Guide](./CONTRIBUTING.md) for detailed instructions on how to: | ||
- Report issues and bugs | ||
- Submit feature requests | ||
- Create pull requests | ||
- Follow our coding style and guidelines | ||
- Participate in discussions and decision-making | ||
We appreciate your help in making mc even better! | ||
|
||
## License | ||
This mc is released under the [MIT License](./LICENSE). |