In progress material for Polygon Docs' Learn section. Content managed by the Polygon DevRel team.
External contributors should feel at home grabbing some incomplete topics and sending in PRs with drafts. If you run into a tutorial about Polygon's tech stack in the wild that isn't mentioned here, please feel free to open an issue. Alternatively, reach out to discuss adding it.
Please note that if you PR some of your content in, we can't guarantee its publication. If we do accept it, we will be modifying it to fit the style of the rest of the site. You will get full credit for your work.
- General Concepts
- The Polygon stack: Clarifying the choice
- Agglayer
- Overview
- Trust Levels Between AggLayer Chains
- Learn AggLayer: A comprehensive list of external resources
- A day in the life of an AggLayer tx
- Pessimistic Proof
- Unified Liquidity
- Understand Exit and Balance Trees
- Block building in AggLayer
- Network parameters and contract addresses
- Detailed look at AggLayer L1 contracts
- PoS
- Overview
- A Day in the Life of a Polygon PoS TX
- Block building in Polygon PoS
- Network parameters and contract addresses
- Detailed Look at Polygon PoS L1 Contracts
- Let’s deploy a contract to Polygon PoS!
- The gas costs implications of advanced contracts
- zkEVM
- Overview
- A Day in the Life of a Polygon zkEVM TX
- Block building in Polygon zkEVM
- Network parameters and contract addresses
- Detailed Look at Polygon zkEVM L1 Contracts
- Let’s deploy a contract to Polygon zkEVM!
- The gas costs implications of advanced contracts and L1 settlements
- Miden Basic
- Overview
- A Day in the Life of a Miden TX
- Notes and Their Features
- Note Types
- Block building in Miden
- Network parameters
- Miden Use Cases
- Writing Miden Contracts
- Miden Assembly Crash Course 1: Hello World
- Miden Assembly Crash Course 2: Counter
- Miden Rust Crash Course
- Deploying to Production
- Coin flip Step by Step
- Rock Paper Scissors Step by Step
A section for those who passed the basics of dapp development on the Polygon stack and are ready to take full advantage of some Polygon stack USPs.
- Miden advanced
- Deep dive into Miden architecture
- Advanced contract development techniques
- Call logic across multiple notes
- Developing multi-contract dapps
- Using Miden for privacy-preserving applications
- Advanced dapp development
- Let’s build a private-voting DAO step-by-step
- Ensuring security and privacy: implications and tradeoffs
- CDK
- Deep dive into CDK architecture
- Sequencer: CDK Erigon Breakdown
- Prover: esp Capacity (zkCounter), Full Execution Proof
- Data Availability
- Features: Rollback Sequence (banana) & Sovereign upgrades
- How does it work with AggLayer?
- CDK CLI interface example
- Deep dive into CDK architecture
- AggLayer
- Chaining cross-chain calls with
BridgeAndCall
- CCIP vs AggLayer for cross chain calls
- Sequencing: centralization tradeoffs and future solutions
- Gaming supercase
- Simple game design
- Simple marketplace on Polygon PoS
- Characters on Polygon zkEVM
- Equipping game items across chains with
BridgeAndCall
- Chaining cross-chain calls with
- Plonky3
- Overview
- Fibonacci in Plonky3 - Introduction to Plonky3
- Range Check in Plonky3 - Constrain Degree Design & Intermediate Variables
- Merkle Tree Tutorial
- Plonky3 Configuration Walkthrough - how to configure your Plonky3 Backend
- zkVM Step by Step Guide
- zkML Step by Step Guide
- CDK
- Kurtosis CDK
- Validium vs Calldata Rollup
- The issue of EIP4844 (blob) support
- Launching your own L2
- Launching your own L2 with Presto
- Quick and dirty DAC integration with your chain
- L2 + setting up a whitelisted DAC
- L2 + setting up an open and incentive-driven DAC
- Going bare metal
- Launching each part of the Kurtosis CDK separately
- …
- …
- Shipper directory
- Shipper A case study
- Shipper B case study
- …
Join the community in the R&D Discord, or Meet the DevRel.
To further explore Polygon's educational content, see the YouTube channel and the Polygon blog.
Long-form persisted discussions happen in the Developer Forum.
Please get in touch if you want to help translate this into other languages.
- English
- Chinese
- Thai
- Croatian/Serbian
- Klingon
The process below will help you run the docs locally.
- Python 3.12.
- Install
virtualenv
:
pip3 install virtualenv
-
Clone the repository to your local machine.
-
Navigate to the root directory of the cloned repository:
cd devrel-docs
-
Ensure the
serve_docs.sh
script is executable by running:chmod +x serve-docs.sh
-
To serve the documentation, run the following command:
./serve_docs.sh
-
Once the script executes, the documentation site will be available at: http://127.0.0.1:8000/.
If it runs and renders well here, it will render correctly on the Knowledge Layer. If there are any unfixed errors breaking the local build, it will probably break on import to the Knowledge Layer.
mkdocs new [dir-name]
- Create a new project.mkdocs serve
- Start the live-reloading docs server.mkdocs build
- Build the documentation site.mkdocs -h
- Print help message and exit.
This repo offers a linting script at ./prettier.sh
which you can run if you
have Prettier installed. The .prettierrc
file configures Prettier and should
work with most modern IDEs and build processes.
Main rules:
- use 2 spaces for indentation
- use 80 characters for line length
Vale enforces a consistent style throughout the repository.
To install Vale, run the following command:
brew install vale
To run Vale, use the following command:
vale [file]
Since Vale is very opinionated, you may want to run it file by file, not globally. As you write a document, run Vale on just that file to not get overwhelmed.
e.g.
vale README.md
Vale will check the file for any violations of the style guide and print them to the console. It enforces Microsoft's style guide and a WriteGood style guide. You must fix errors, and you may fix warnings and suggestions.