aptos-framework 0.1.7

Aptos stdlib
Documentation
---
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](#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]aptos-framework/releases/artifacts/current/build/AptosFramework/docs/script_documentation.md.
* The overview documentation for the Move modules can be found in [overview.md]aptos-framework/releases/artifacts/current/build/AptosFramework/docs/overview.md.
* An overview of the approach to formal verification of the framework can be found in [spec_documentation.md]aptos-framework/releases/artifacts/current/build/AptosFramework/docs/spec_documentation.md.
* Contributing guidelines and basic coding standards for the Aptos Framework can be found in [CONTRIBUTING.md]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
```