Welcome to Aptos MoveKit! This open-source project provides secure, modular, general-purpose, and rigorously audited foundational components for smart contract development on the Aptos blockchain. Our goal is to create a library that, like OpenZeppelin Contracts in the EVM ecosystem, empowers Aptos developers to build decentralized applications (dApps) more efficiently and securely.
MoveMaker is the primary initiator and funder, with its R&D team directly participating. Alcove Developer Community will assist in organizing developers from Aptos ecosystem project teams, independent developers, and professional security audit firms. Together, we'll drive the prosperity and maturity of the Aptos Move ecosystem.
- Native Move Language Advantages: We fully leverage Move's resource-oriented programming model, built-in bytecode verifier, formal verification support, and language-level security guarantees.
- Enterprise-Grade Security Standards: Inspired by OpenZeppelin's rigor, all modules will undergo stringent testing, formal verification, and independent third-party security audits.
- Highly Modular and Reusable: Our suite of plug-and-play functional modules reduces redundant development and accelerates your progress.
- Community Co-building Model: Embracing the open-source spirit, we encourage broad community participation to ensure code quality, feature completeness, and ecosystem relevance.
- Comprehensive Developer Support: Beyond core on-chain modules, we will also develop complementary SDKs and general APIs to comprehensively optimize the developer experience.
-
aptos_access_control
- Purpose: To provide a secure and flexible mechanism for managing permissions and roles within smart contracts, ensuring only authorized entities can perform specific operations.
- Characteristics: Possesses granular, type-safe permission management; supports a composable permission system; enables controlled inter-module calls.
- Benefits: Significantly enhances contract security, reduces the risk of vulnerabilities from improper access control, and provides powerful permission tools.
-
aptos_upgrade_control
- Purpose: To provide helper functions and patterns for securely managing Aptos native module upgrades, integrating an on-chain multi-signature permission system for enhanced security.
- Characteristics: Supports managing Aptos native module upgrades; provides tools for module upgrade compatibility checks and dependency management; includes a built-in on-chain multi-signature mechanism for authorizing and executing module upgrades.
- Benefits: Ensures consistency and security of the upgrade process, minimizing compatibility risks; the multi-sig system prevents single points of failure or unauthorized changes, offering stronger decentralized governance.
-
aptos_defi_modules
- Purpose: To provide a set of audited and optimized common DeFi protocol components, accelerating the development of financial applications within the Aptos ecosystem.
- Characteristics: Includes linear vesting functionality for token distribution over time; provides interest rate calculation functionality to support flexible lending protocols; supports core Automated Market Maker (AMM) logic, including liquidity management and token swaps; offers oracle integration interfaces for securely obtaining off-chain data; and includes fundamental primitives for staking and lending/borrowing.
- Benefits: Reduces DeFi project complexity and security risks; promotes standardization and interoperability; accelerates the deployment of innovative financial products on Aptos, and provides a solid foundation for building complex DeFi applications.
-
aptos_utils
- Purpose: To include a series of commonly used helper functions, safe mathematical operations, and general data structures to reduce boilerplate code and improve development efficiency and security.
- Characteristics: Provides audited safe mathematical operations to prevent common numerical errors; includes commonly used data structures and general helper functions to simplify routine programming tasks.
- Benefits: Improves development efficiency, reduces the cost of redundant work; enhances the overall security and robustness of contracts with validated tools.
To further improve the Aptos Move developer ecosystem and lower the development barrier, we will focus on building and promoting ecosystem tools and general APIs that complement our core library.
-
SDKs
- Purpose: To provide developers with multi-language, easy-to-use toolkits that simplify interaction with the Aptos blockchain and the core base library.
- Characteristics: Offers development toolkits in mainstream programming languages (e.g., TypeScript/JavaScript, Python, Rust, Go, etc.); encapsulates core operations such as signing, transaction building, and data querying.
- Benefits: Significantly lowers the entry barrier for diverse developers; increases development efficiency and reduces redundant work; fosters a thriving cross-language ecosystem.
-
General API Modules
- Purpose: To design and implement a standardized, easily accessible set of API interfaces for on-chain data querying and smart contract interaction, serving various applications.
- Characteristics: Provides general API interfaces such as RESTful or GraphQL; supports querying on-chain data and invoking smart contract functions; serves front-end applications, back-end services, and other integration needs.
- Benefits: Simplifies data retrieval and contract interaction processes; enhances application development efficiency and maintainability; promotes interoperability among different ecosystem components.
-
Developer Tool Integration
- Purpose: To enhance existing development environments' support for Move language and Aptos development, improving the developer's coding experience.
- Characteristics: Explores integration with mainstream Integrated Development Environments (IDEs) like VS Code; provides code snippets, auto-completion, syntax highlighting, and debugging support; extends Aptos CLI functionality to include convenient commands related to the core base library.
- Benefits: Optimizes the development workflow, increases coding efficiency and accuracy; lowers the learning curve, enabling developers to quickly become familiar with the Aptos development environment.
-
Example Applications and Project Templates
- Purpose: To provide practical code examples and project scaffolds, helping developers quickly understand and initiate application development based on the core library.
- Characteristics: Offers various example decentralized applications (dApps) built using the core library and SDKs; provides pre-configured project templates including basic structure and common integrations.
- Benefits: Drastically reduces project start-up time; helps developers understand best practices and common patterns; accelerates innovation and the emergence of new applications.
We firmly believe in the power of open source and warmly welcome all developers, project teams, and security experts passionate about the Aptos Move ecosystem to join us in building this foundational library.
How to Contribute:
- Code Contributions:
- Fork this repository.
- Create a new feature branch (
git checkout -b feature/your-feature-name
). - Commit your changes (
git commit -m 'feat: Add new feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Submit a Pull Request, detailing your changes and motivation.
- Report Issues:
- If you find any bugs or have feature suggestions, please submit them in GitHub Issues.
The security of this library is our top priority. All core modules will undergo rigorous internal testing and formal verification. In addition, we will:
- Regularly commission independent third-party security audit firms to conduct code audits.
- Establish a bug bounty program to reward security researchers who discover and responsibly disclose vulnerabilities.
This project is licensed under the Apache2.0 License .You can find the full license text in the LICENSE file in this repository.
Thank you for your interest and support. We look forward to building the future of Aptos with you!