0.2.7 Aug 16, 2022
0.2.6 Aug 13, 2022
0.2.2 Jul 22, 2022
0.1.7 Jul 9, 2022
0.1.0 May 24, 2022

#26 in #aptos

30 downloads per month
Used in 78 crates (11 directly)

Apache-2.0

1MB
21K SLoC


id: Aptos-framework title: Aptos Framework custom_edit_url: https://github.com/aptos-labs/aptos-core/edit/main/Aptos-move/Aptos-framework/README.md

The Aptos Framework

The Aptos Framework defines the standard actions that can be performed on-chain both by the Aptos VM---through the various prologue/epilogue functions---and by users of the blockchain---through the allowed set of transactions. This directory contains different directories that hold the source Move modules and transaction scripts, along with a framework for generation of documentation, ABIs, and error information from the Move source files. See the Layout section for a more detailed overview of the structure.

Documentation

Each of the main components of the Aptos Framework and contributing guidelines are documented separately. Particularly:

  • Documentation for the set of allowed transaction scripts in aptos-framework can be found in script_documentation.md.
  • The overview documentation for the Move modules can be found in overview.md.
  • An overview of the approach to formal verification of the framework can be found in spec_documentation.md.
  • Contributing guidelines and basic coding standards for the Aptos Framework can be found in CONTRIBUTING.md.

Compilation and Generation

Recompilation of the Aptos Framework and the regeneration of the documents, ABIs, and error information can be performed by running cargo run from this directory. There are a number of different options available and these are explained in the help for this command by running cargo run -- --help in this directory. Compilation and generation will be much faster if run in release mode (cargo run --release).

Layout

The overall structure of the Aptos Framework is as follows:

├── compiled                                # Generated files and public rust interface to the Aptos Framework
│   ├── error_descriptions/*.errmap         # Generated error descriptions for use by the Move Explain tool
│   ├── src                                 # External Rust interface/library to use the Aptos Framework
│   ├── stdlib                              # The compiled Move bytecode of the Aptos Framework source modules
│   ├── script_abis                         # Generated ABIs for script function transactions, and all new transactions
│   └── legacy/transaction_scripts          # Legacy generated ABIs and bytecode for each transaction script in the allowlist
│       ├── abi/*.abi                       # Directory containing generated ABIs for legacy transaction scripts
│       └── *.mv
├── modules                                 # Aptos Framework source modules, script modules, and generated documentation
│   ├── *.move
│   └── doc/*.md                            # Generated documentation for the Aptos Framework modules
├── nursery/*.move                          # Move modules that are not published on-chain, but are used for testing and debugging locally
├── src                                     # Compilation and generation of information from Move source files in the Aptos Framework. Not designed to be used as a Rust library
├── tests
└── script_documentation/*.md               # Generated documentation for allowed transaction scripts

Dependencies

~50–67MB
~1.5M SLoC