Table of contents Welcome to AppLayer Docs Introducing AppLayer A Primer on Smart Contracts The Problem With EVMs What is AppLayer? How AppLayer works Validators Sentinels Application Chains Bridging AppLayer-to-AppLayer Data Bridging AppLayer-to-AppLayer Token Bridging AppLayer-to-External Bridging (Ethereum, Solana, etc.) Understanding rdPoS Blockchains overview How rdPoS works Validator implementations Slashing BDK implementation The utils folder The contract folder The core folder Transactions and Blocks Database Contract call handling RLP (Recursive-Length Prefix) P2P Overview P2P Encoding Understanding contracts Solidity ABI Internal and external contract calls Setting up the development environment Contract Tester Precompiled contracts Types of pre-compiled contracts Dynamic and Protocol Contracts SafeVariables and commit/revert logic How to code a precompiled contract Creating a Dynamic Contract (Simple) Simple Contract Header Simple Contract Source Deploying and testing Creating a Dynamic Contract (Advanced) Creating a Protocol Contract (Advanced) EVM contracts State management and VM instance creation Seamless C++/EVM integration C++ to other contract calls EVM to other contract calls Executing contract calls via EVMC Calling EVM contracts from C++ Calling C++ contracts from EVM Getting started with AppLayer Testnet Join our Community Get in Touch Glossary