# AppLayer

## AppLayer

- [Welcome to AppLayer Docs](https://docs.applayer.com/testnet/readme.md): A modular EVM layer for cross-chain applications
- [Introducing AppLayer](https://docs.applayer.com/testnet/introducing-applayer.md): A quick introduction to what AppLayer does
- [A Primer on Smart Contracts](https://docs.applayer.com/testnet/introducing-applayer/a-primer-on-smart-contracts.md): The building blocks of decentralized finance
- [The Problem With EVMs](https://docs.applayer.com/testnet/introducing-applayer/the-problem-with-evms.md): The hydra we're trying to slay
- [What is AppLayer?](https://docs.applayer.com/testnet/introducing-applayer/what-is-applayer.md): The light at the end of the tunnel
- [How AppLayer works](https://docs.applayer.com/testnet/how-applayer-works.md): Exploring the functional elements of AppLayer.
- [Validators](https://docs.applayer.com/testnet/how-applayer-works/validators.md): How validators work on AppLayer
- [Sentinels](https://docs.applayer.com/testnet/how-applayer-works/sentinels.md): How Sentinels work on AppLayer.
- [Application Chains](https://docs.applayer.com/testnet/how-applayer-works/appchains.md): How Application Chains work on AppLayer.
- [Bridging](https://docs.applayer.com/testnet/how-applayer-works/bridging.md): How bridging works on AppLayer.
- [AppLayer-to-AppLayer Data Bridging](https://docs.applayer.com/testnet/how-applayer-works/bridging/applayer-to-applayer-data-bridging.md): How native chains exchange data on AppLayer.
- [AppLayer-to-AppLayer Token Bridging](https://docs.applayer.com/testnet/how-applayer-works/bridging/applayer-to-applayer-token-bridging.md): How native chains exchange tokens on AppLayer.
- [AppLayer-to-External Bridging (Ethereum, Solana, etc.)](https://docs.applayer.com/testnet/how-applayer-works/bridging/applayer-to-external-bridging.md): How AppLayer bridges with other blockchains.
- [Understanding rdPoS](https://docs.applayer.com/testnet/understanding-rdpos.md): How AppLayer uses Random Deterministic Proof of Stake.
- [Blockchains overview](https://docs.applayer.com/testnet/understanding-rdpos/blockchains-overview.md): How existing blockchains handle rollbacks.
- [How rdPoS works](https://docs.applayer.com/testnet/understanding-rdpos/how-rdpos-works.md): The logical flux of the rdPoS algorithm.
- [Validator implementations](https://docs.applayer.com/testnet/understanding-rdpos/validator-implementations.md): How to add Validators to the network.
- [Slashing](https://docs.applayer.com/testnet/understanding-rdpos/slashing.md): Cutting out malicious nodes, carefully.
- [BDK implementation](https://docs.applayer.com/testnet/bdk-implementation.md): How the functional elements of AppLayer interact with each other.
- [The utils folder](https://docs.applayer.com/testnet/bdk-implementation/the-utils-folder.md): The building blocks of Blockchain Development Kit's (BDK) structure.
- [The contract folder](https://docs.applayer.com/testnet/bdk-implementation/the-contract-folder.md): The base for smart contract support in Blockchain Development Kit (BDK).
- [The core folder](https://docs.applayer.com/testnet/bdk-implementation/the-core-folder.md): The heart of the Blockchain Development Kit (BDK).
- [Transactions and Blocks](https://docs.applayer.com/testnet/bdk-implementation/transactions-and-blocks.md): How transactions and blocks work in Blockchain Development Kit (BDK).
- [Database](https://docs.applayer.com/testnet/bdk-implementation/database.md): How Blockchain Development Kit's (BDK) internal database is structured and how data is stored in it.
- [Contract call handling](https://docs.applayer.com/testnet/bdk-implementation/contract-call-handling.md): How Applayer's BDK handles chains of contract execution.
- [RLP (Recursive-Length Prefix)](https://docs.applayer.com/testnet/bdk-implementation/rlp-recursive-length-prefix.md): How the Blockchain Development Kit (BDK) uses RLP to encode and decode transactions.
- [P2P Overview](https://docs.applayer.com/testnet/bdk-implementation/p2p-overview.md): A primer on how P2P messaging works in the Blockchain Development Kit (BDK).
- [P2P Encoding](https://docs.applayer.com/testnet/bdk-implementation/p2p-encoding.md): How P2P messages are structured in the Blockchain Development Kit (BDK).
- [Understanding contracts](https://docs.applayer.com/testnet/understanding-contracts.md): How smart contracts work in the AppLayer protocol.
- [Solidity ABI](https://docs.applayer.com/testnet/understanding-contracts/solidity-abi.md): Explanations and correlations of Solidity's ABI compared to AppLayer's pre-compiled approach.
- [Internal and external contract calls](https://docs.applayer.com/testnet/understanding-contracts/internal-and-external-contract-calls.md): Not all contract calls are equal.
- [Setting up the development environment](https://docs.applayer.com/testnet/understanding-contracts/setting-up-the-development-environment.md): How to prep up for compiling AppLayer's BDK and running your own blockchain.
- [Contract Tester](https://docs.applayer.com/testnet/understanding-contracts/contract-tester.md): A web application for testing your contracts.
- [Precompiled contracts](https://docs.applayer.com/testnet/precompiled-contracts.md): A primer on natively-coded smart contracts in the AppLayer ecosystem.
- [Types of pre-compiled contracts](https://docs.applayer.com/testnet/precompiled-contracts/types-of-precompiled-contracts.md): How AppLayer differentiates precompiled contracts.
- [Dynamic and Protocol Contracts](https://docs.applayer.com/testnet/precompiled-contracts/dynamic-and-protocol-contracts.md): Which kinds of pre-compiled contracts can be coded and managed with the BDK.
- [SafeVariables and commit/revert logic](https://docs.applayer.com/testnet/precompiled-contracts/safevariables-and-commit-revert-logic.md): How we simulate Solidity commit/revert logic in precompiled contracts.
- [How to code a precompiled contract](https://docs.applayer.com/testnet/precompiled-contracts/how-to-code-a-precompiled-contract.md): A primer on how precompiled contracts should be coded in AppLayer's BDK.
- [Creating a Dynamic Contract (Simple)](https://docs.applayer.com/testnet/precompiled-contracts/creating-a-dynamic-contract-simple.md): A walkthrough on the basics of a Dynamic Contract's structure.
- [Simple Contract Header](https://docs.applayer.com/testnet/precompiled-contracts/creating-a-dynamic-contract-simple/simple-contract-header.md): Coding the Simple Contract's header file
- [Simple Contract Source](https://docs.applayer.com/testnet/precompiled-contracts/creating-a-dynamic-contract-simple/simple-contract-source.md): Coding the Simple Contract's source file
- [Deploying and testing](https://docs.applayer.com/testnet/precompiled-contracts/creating-a-dynamic-contract-simple/deploying-and-testing.md): How to deploy a contract and write tests for it.
- [Creating a Dynamic Contract (Advanced)](https://docs.applayer.com/testnet/precompiled-contracts/creating-a-dynamic-contract-advanced.md): A walkthrough on a more advanced Dynamic Contract usage.
- [Creating a Protocol Contract (Advanced)](https://docs.applayer.com/testnet/precompiled-contracts/creating-a-protocol-contract-advanced.md): A primer on what to expect when creating Protocol Contracts.
- [EVM contracts](https://docs.applayer.com/testnet/evm-contracts.md): A primer on EVM smart contracts in the AppLayer ecosystem.
- [State management and VM instance creation](https://docs.applayer.com/testnet/evm-contracts/state-management-and-vm-instance-creation.md): How the AppLayer ecosystem manages the blockchain state alongside an EVM.
- [Seamless C++/EVM integration](https://docs.applayer.com/testnet/evm-contracts/seamless-cpp-evm-integration.md): How AppLayer achieves a seamless integration between C++ and EVM contracts.
- [C++ to other contract calls](https://docs.applayer.com/testnet/evm-contracts/cpp-to-other-contract-calls.md): How contract calls happen from the C++ side in AppLayer.
- [EVM to other contract calls](https://docs.applayer.com/testnet/evm-contracts/evm-to-other-contract-calls.md): How contract calls happen from the EVM side in AppLayer.
- [Executing contract calls via EVMC](https://docs.applayer.com/testnet/evm-contracts/executing-contract-calls-via-evmc.md): How to use AppLayer's EVM directly to call contracts.
- [Calling EVM contracts from C++](https://docs.applayer.com/testnet/evm-contracts/calling-evm-contracts-from-cpp.md): How an EVM contract calls a C++ contract in AppLayer.
- [Calling C++ contracts from EVM](https://docs.applayer.com/testnet/evm-contracts/calling-cpp-contracts-from-evm.md): How a C++ contract calls an EVM contract in AppLayer.
- [Getting started with AppLayer Testnet](https://docs.applayer.com/testnet/getting-started-with-applayer-testnet.md): A hands-on guide for interacting with the AppLayer Testnet
- [Join our Community](https://docs.applayer.com/testnet/join-our-community.md): Where to follow AppLayer on social media.
- [Get in Touch](https://docs.applayer.com/testnet/get-in-touch.md): Start building on AppLayer today
- [Glossary](https://docs.applayer.com/testnet/glossary.md): Definitions of some technical terms used throughout the documentation.
