{"version":1,"pages":[{"id":"RjpWXREKjm5Tm8mke4mq","title":"Welcome","pathname":"/","siteSpaceId":"sitesp_pmWJT","description":"This is the home of the XRPL Commons technical trainings. This space aims to showcase all content related to training on the XRPL."},{"id":"NLNM82as4mT24Mx7HUdd","title":"XRPL Basics","pathname":"/xrpl-basics","siteSpaceId":"sitesp_pmWJT","description":"In this section we will cover some of the primary functionality of the XRPL ledger."},{"id":"zsrDuI3SVJnSoVhbTL9h","title":"Getting Started","pathname":"/xrpl-basics/getting-started","siteSpaceId":"sitesp_pmWJT","description":"Start here :)","breadcrumbs":[{"label":"XRPL Basics"}]},{"id":"REweP6BG7Y3zlWuIlUnx","title":"Payments","pathname":"/xrpl-basics/payments","siteSpaceId":"sitesp_pmWJT","description":"In this section we will create your first payment transaction.","breadcrumbs":[{"label":"XRPL Basics"}]},{"id":"kXElNAVz9pR1c93AlOgp","title":"Reading and subscribing to Transactions","pathname":"/xrpl-basics/reading-and-writing-memos","siteSpaceId":"sitesp_pmWJT","description":"In this session, we'll demonstrate how to coordinate using the XRPL.","breadcrumbs":[{"label":"XRPL Basics"}]},{"id":"Dcl6uoDZBALtSVHc096e","title":"Writing and reading memos","pathname":"/xrpl-basics/writing-and-reading-memos","siteSpaceId":"sitesp_pmWJT","description":"Memos are available in every transaction and can be quite useful to label your transactions or pass metadata useful to your business logic.","breadcrumbs":[{"label":"XRPL Basics"}]},{"id":"ZEBAw5m4OANvCmup1UJ9","title":"Non Fungible Tokens","pathname":"/xrpl-basics/non-fungible-tokens","siteSpaceId":"sitesp_pmWJT","description":"In this session, we will learn how to create digital art using Non-Fungible Tokens (NFTs) with their metadata and specific attributes.","breadcrumbs":[{"label":"XRPL Basics"}]},{"id":"frbTDPNM9ZQahZKBNSPk","title":"Multi-Purpose Tokens","pathname":"/xrpl-basics/mptoken","siteSpaceId":"sitesp_pmWJT","description":"Learn how to create and manage Multi-Purpose Tokens (MPT) on the XRP Ledger.","breadcrumbs":[{"label":"XRPL Basics"}]},{"id":"QXAdeAnMDoaqZlYMWmsH","title":"PathFinding","pathname":"/xrpl-basics/path-finding","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"XRPL Basics"}]},{"id":"sxiGdju1IJVbmm7ajd2G","title":"Escrow","pathname":"/xrpl-basics/escrow","siteSpaceId":"sitesp_pmWJT","description":"In this session, we will create an escrow.","breadcrumbs":[{"label":"XRPL Basics"}]},{"id":"hGkn3mem7RztKjcvvjCk","title":"Price Oracles","pathname":"/xrpl-basics/price-oracles","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"XRPL Basics"}]},{"id":"tQQjxJiri0cev6yItsLx","title":"Tickets","pathname":"/xrpl-basics/tickets","siteSpaceId":"sitesp_pmWJT","description":"Ticket Feature on XRPL","breadcrumbs":[{"label":"XRPL Basics"}]},{"id":"3buiU1xfJi8cgR0yuUp6","title":"Multi-Signature","pathname":"/xrpl-basics/multi-signature","siteSpaceId":"sitesp_pmWJT","description":"In this session, we will work with multiple signatures","breadcrumbs":[{"label":"XRPL Basics"}]},{"id":"0EcVSTiWtzfdIlsxqNA9","title":"Token Issuance and Liquidity","pathname":"/token-issuance-and-liquidity","siteSpaceId":"sitesp_pmWJT","description":"This session will cover token issuance and providing liquidity for your tokens using the automatic market maker built in to the XRPL"},{"id":"mh7ooxFzcMLrOxzOMWQP","title":"Creating Accounts and Setup","pathname":"/token-issuance-and-liquidity/creating-accounts","siteSpaceId":"sitesp_pmWJT","description":"Before we get into the heart of the matter, lets setup a few wallets.","breadcrumbs":[{"label":"Token Issuance and Liquidity"}]},{"id":"ZwIn4KnRGgQTAqmc8vr6","title":"Issuing Tokens","pathname":"/token-issuance-and-liquidity/issuing-tokens","siteSpaceId":"sitesp_pmWJT","description":"In this section we will create fungible tokens or IOUs and transfert them between accounts.","breadcrumbs":[{"label":"Token Issuance and Liquidity"}]},{"id":"F9udGegTAgLFo0DdFXBA","title":"Creating an AMM Pool","pathname":"/token-issuance-and-liquidity/creating-an-amm-pool","siteSpaceId":"sitesp_pmWJT","description":"Now we will create an AMM Pool to provide some liquidity for our new token.","breadcrumbs":[{"label":"Token Issuance and Liquidity"}]},{"id":"pvigmhdcWiXx8WXUHti7","title":"Cyphered Chat on XRPL","pathname":"/cyphered-chat-on-xrpl","siteSpaceId":"sitesp_pmWJT","description":"Send encrypted messages over XRPL"},{"id":"8t6unZCBHkQwJF08kMkc","title":"Set up","pathname":"/cyphered-chat-on-xrpl/set-up","siteSpaceId":"sitesp_pmWJT","description":"Description of key libraries","breadcrumbs":[{"label":"Cyphered Chat on XRPL"}]},{"id":"6XzvEVwz1wT9WXNldRjX","title":"Set up Keys","pathname":"/cyphered-chat-on-xrpl/set-up-keys","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Cyphered Chat on XRPL"}]},{"id":"HeD4Ln6k4IO3mdbcYFrW","title":"Cypher the message","pathname":"/cyphered-chat-on-xrpl/cypher-the-message","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Cyphered Chat on XRPL"}]},{"id":"xZ4m6M2QOFvhFCWNAniV","title":"Set up the memo & send the tx","pathname":"/cyphered-chat-on-xrpl/set-up-the-memo-and-send-the-tx","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Cyphered Chat on XRPL"}]},{"id":"sXMFf2pv3LZWHS18GYe0","title":"Get the message and decypher it","pathname":"/cyphered-chat-on-xrpl/get-the-message-and-decypher-it","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Cyphered Chat on XRPL"}]},{"id":"k18F6Y5QY37FFUmbIvH8","title":"EVM Sidechain","pathname":"/evm-sidechain","siteSpaceId":"sitesp_pmWJT","description":"This workshop will walk you through deploying a smart contract and building a full app on the XRPL EVM sidechain"},{"id":"85Z6ihLAmxiZtwlJms0S","title":"Connecting Metamask","pathname":"/evm-sidechain/connecting-metamask","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"EVM Sidechain"}]},{"id":"vmWUeObGT0ctUmZpwh5c","title":"Set up a Foundry project","pathname":"/evm-sidechain/set-up-an-evm-project","siteSpaceId":"sitesp_pmWJT","description":"In this workshop we will learn how to create an evm project with hardhat","breadcrumbs":[{"label":"EVM Sidechain"}]},{"id":"snNONNWq7VqMUCAsO2yH","title":"Bridging Assets","pathname":"/evm-sidechain/bridging-assets","siteSpaceId":"sitesp_pmWJT","description":"How to get XRP on the EVM sidechain","breadcrumbs":[{"label":"EVM Sidechain"}]},{"id":"OtUWJjZuZnsxL1KuhFJc","title":"Remix","pathname":"/evm-sidechain/remix","siteSpaceId":"sitesp_pmWJT","description":"How to compile, deploy and interact with a solidity smart contract on chain","breadcrumbs":[{"label":"EVM Sidechain"}]},{"id":"jcqj6LiKj3chIytLT8hm","title":"Banking App","pathname":"/evm-sidechain/banking-app","siteSpaceId":"sitesp_pmWJT","description":"In this workshop we will learn how to create a Fullstack app using hardhat","breadcrumbs":[{"label":"EVM Sidechain"}]},{"id":"xHfI2il0rgttACDhjsEp","title":"Banking Contract Key Concepts","pathname":"/evm-sidechain/banking-contract-key-concepts","siteSpaceId":"sitesp_pmWJT","description":"Understand the banking contract in depth","breadcrumbs":[{"label":"EVM Sidechain"}]},{"id":"b2boMEy7EkHxsYoNE9rd","title":"Core Dev Bootcamp","pathname":"/core-dev-bootcamp","siteSpaceId":"sitesp_pmWJT","description":"The XRPL Core Dev Bootcamp – Online Edition is a program designed for intermediate to advanced C++ developers looking to deepen their skills in the core of the XRP Ledger.   This digital edition lets"},{"id":"szjDIIetiRpwNsX6BUvv","title":"Rippled I – Compilation, Configuration, and Launch","pathname":"/core-dev-bootcamp/module01","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"a7UIi9nFEXbBE0Hz29nr","title":"Environment & Build Toolchain","pathname":"/core-dev-bootcamp/module01/environment-build-toolchain","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled I – Compilation, Configuration, and Launch"}]},{"id":"QR7OttEGaekNLNeeApiQ","title":"Compilation Process & Generating Binary","pathname":"/core-dev-bootcamp/module01/compilation-process-generating-binary","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled I – Compilation, Configuration, and Launch"}]},{"id":"G2F9CstCklu8MK2M03Ua","title":"Local Development & Testing","pathname":"/core-dev-bootcamp/module01/local-development-testing","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled I – Compilation, Configuration, and Launch"}]},{"id":"92NVbZ1JCsnOxo9CbhiA","title":"Homeworks","pathname":"/core-dev-bootcamp/module01/homeworks","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled I – Compilation, Configuration, and Launch"}]},{"id":"3PZ9mDYccdhhx8Cgh0zF","title":"Homework 1: Rippled Node Setup and Mainnet Synchronization","pathname":"/core-dev-bootcamp/module01/homeworks/homework1","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled I – Compilation, Configuration, and Launch"},{"label":"Homeworks"}]},{"id":"K38PK0WhoqOrCyhcPkdh","title":"Rippled II: Deep Dive into the Protocol and Codebase","pathname":"/core-dev-bootcamp/module02","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"BriPM3SHjFboSFLRaciV","title":"Protocols: Communication and Interoperability","pathname":"/core-dev-bootcamp/module02/protocols-communication-and-interoperability","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"}]},{"id":"gYB9aBAAMBHx5lsH6GAr","title":"Transactors: Transaction Processing Framework","pathname":"/core-dev-bootcamp/module02/transactors-transaction-processing-framework","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"}]},{"id":"HItOHd7pLMii1iFy9RaF","title":"Application Layer: Central Orchestration and Coordination","pathname":"/core-dev-bootcamp/module02/application-layer-central-orchestration-and-coordination","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"}]},{"id":"6a6ZZFyw4hrPHVbsKPcU","title":"Consensus Engine: XRP Ledger Consensus Protocol","pathname":"/core-dev-bootcamp/module02/consensus-engine-xrp-ledger-consensus-protocol","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"}]},{"id":"dvIaHlbGu7W6uoAlbYRR","title":"Overlay Network: Peer-to-Peer Networking Layer","pathname":"/core-dev-bootcamp/module02/overlay-network-peer-to-peer-networking-layer","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"}]},{"id":"wLF2LPgvfWmbHvgg28Ok","title":"Transaction Lifecycle: Complete Transaction Journey","pathname":"/core-dev-bootcamp/module02/transaction-lifecycle-complete-transaction-journey","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"}]},{"id":"3DJ5QaL8bB9jJvMh4I58","title":"Codebase Navigation: Efficiently Navigating the Rippled Source","pathname":"/core-dev-bootcamp/module02/codebase-navigation-efficiently-navigating-the-rippled-source","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"}]},{"id":"RXwCX4CTU7plk8YWgq3T","title":"Debugging Tools: Development and Debugging Techniques","pathname":"/core-dev-bootcamp/module02/debugging-tools-development-and-debugging-techniques","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"}]},{"id":"vj6AgE0OmjW0x4qNGQGB","title":"Homeworks","pathname":"/core-dev-bootcamp/module02/homeworks","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"}]},{"id":"yhtKdfxWxBJ7ss5ySAYn","title":"Homework 1: Transaction Flow Analysis","pathname":"/core-dev-bootcamp/module02/homeworks/homework1","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"},{"label":"Homeworks"}]},{"id":"PRz5EzvV9amqFnrmQ1ii","title":"Homework 2: Transactor Code Exploration","pathname":"/core-dev-bootcamp/module02/homeworks/homework2","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"},{"label":"Homeworks"}]},{"id":"e2OGneICrOW7AlZgXId7","title":"Homework 3: Logging and Debugging","pathname":"/core-dev-bootcamp/module02/homeworks/homework3","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"},{"label":"Homeworks"}]},{"id":"he4Tsl40QUMA8rVFcWUH","title":"Homework 4: Architecture Diagram","pathname":"/core-dev-bootcamp/module02/homeworks/homework4","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Rippled II: Deep Dive into the Protocol and Codebase"},{"label":"Homeworks"}]},{"id":"HlaToIIBxuC6kQcFdCdM","title":"Anatomy of Rippled: SHAMap and NodeStore","pathname":"/core-dev-bootcamp/module03","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"ZAWixQb4mWifrEJOgsfz","title":"Foundational Concepts","pathname":"/core-dev-bootcamp/module03/state-management-challenges","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"UFAxije55J9rfY9qsxZQ","title":"Trees, Hashing, and Cryptographic Commitments","pathname":"/core-dev-bootcamp/module03/tree-fundamentals","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"A5vP9CBQyxuGy967mujE","title":"SHAMap Architecture and Node Hierarchy","pathname":"/core-dev-bootcamp/module03/shamap-architecture","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"pbhmo168ju5DWZvRMAw7","title":"Navigation, Hashing, and Merkle Properties","pathname":"/core-dev-bootcamp/module03/shamap-navigation-hashing","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"Qz8sDlqizpOmnvwFuBMv","title":"Traversal, Iteration, and Synchronization","pathname":"/core-dev-bootcamp/module03/shamap-synchronization","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"44V3hMeokaV824tB4uiz","title":"The NodeStore","pathname":"/core-dev-bootcamp/module03/nodestore-architecture","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"imr7xCKJ7iTUTeWrWg5A","title":"Storage Abstraction and Backend Implementations","pathname":"/core-dev-bootcamp/module03/storage-backends","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"BMNcqdF9M1s1ZpWMtYmF","title":"Cache Layer and Performance Optimization","pathname":"/core-dev-bootcamp/module03/cache-layer","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"ncFO72CSIhJj6CId2I53","title":"Database Operations and Lifecycle Management","pathname":"/core-dev-bootcamp/module03/database-operations","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"CaJGje1ifmdqPUDeojUJ","title":"Cryptographic Proofs and State Reconstruction","pathname":"/core-dev-bootcamp/module03/proofs-state-reconstruction","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"w6FUyvQXKMqn5PqhCSx7","title":"Resource Management and Performance Characteristics","pathname":"/core-dev-bootcamp/module03/resource-management","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"vCF7LB6hLXoMLOQQuXzT","title":"Appendices","pathname":"/core-dev-bootcamp/module03/appendices","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"}]},{"id":"TE9lcPSxQsbiBRmoT8NK","title":"Appendix : Codebase Navigation Guide","pathname":"/core-dev-bootcamp/module03/appendices/navigation","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"},{"label":"Appendices"}]},{"id":"gnPhkPWLpsSIZx79cr9o","title":"Appendix : Configuration Reference","pathname":"/core-dev-bootcamp/module03/appendices/configuration","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"},{"label":"Appendices"}]},{"id":"BpV5B9Vxvagv0yZ41Krp","title":"Appendix : Debugging and Development Tools","pathname":"/core-dev-bootcamp/module03/appendices/debugging","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Anatomy of Rippled: SHAMap and NodeStore"},{"label":"Appendices"}]},{"id":"mefzt8YKiHejl4lmgbL8","title":"Transactors: Understanding the Lifecycle of a Transaction","pathname":"/core-dev-bootcamp/module03bis","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"boAXuqE3jqopTkdHULpE","title":"Transactor Architecture","pathname":"/core-dev-bootcamp/module03bis/transactor-architecture","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Transactors: Understanding the Lifecycle of a Transaction"}]},{"id":"vHdJahfTkUyZqEbCVIWY","title":"Processing Pipeline","pathname":"/core-dev-bootcamp/module03bis/processing-pipeline","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Transactors: Understanding the Lifecycle of a Transaction"}]},{"id":"lw6ewiNUKYuwbXEDvTAn","title":"Fee and Sequence Handling","pathname":"/core-dev-bootcamp/module03bis/fee-sequence-handling","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Transactors: Understanding the Lifecycle of a Transaction"}]},{"id":"VKHWRrFkrpl2cYzTVMEB","title":"State Modification Patterns","pathname":"/core-dev-bootcamp/module03bis/state-modification","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Transactors: Understanding the Lifecycle of a Transaction"}]},{"id":"0wvrJCI6lVVLoIFuN46X","title":"TER Result Codes","pathname":"/core-dev-bootcamp/module03bis/ter-result-codes","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Transactors: Understanding the Lifecycle of a Transaction"}]},{"id":"9WYEHrgT9YWHzWp7tXW8","title":"Case Study: CheckCreate Transactor","pathname":"/core-dev-bootcamp/module03bis/case-study-checkcreate","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Transactors: Understanding the Lifecycle of a Transaction"}]},{"id":"8S6Bbcj2zHlrUNUSSSf5","title":"Homework 1: Trace a Transaction Through All Phases","pathname":"/core-dev-bootcamp/module03bis/homework1","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Transactors: Understanding the Lifecycle of a Transaction"}]},{"id":"xxeuXCGa5sre5ElZyNzO","title":"Homework 2: Implement a Custom Validation Check","pathname":"/core-dev-bootcamp/module03bis/homework2","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Transactors: Understanding the Lifecycle of a Transaction"}]},{"id":"KmKXe4dVr7iklHeskAqk","title":"Homework 3: Analyze TER Code Paths","pathname":"/core-dev-bootcamp/module03bis/homework3","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Transactors: Understanding the Lifecycle of a Transaction"}]},{"id":"GUuci6RZ6PU1TB4dCkFK","title":"Cryptography I: Blockchain Security and Cryptographic Foundations","pathname":"/core-dev-bootcamp/module04","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"npldWnlFyOHrdEStBWSP","title":"The Four Pillars of Security","pathname":"/core-dev-bootcamp/module04/the-four-pillars-of-security","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"2zIZr1i1ufgEZnQAmkuR","title":"The Lifecycle of a Cryptographic Key","pathname":"/core-dev-bootcamp/module04/the-lifecycle-of-a-cryptographic-key","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"RsGatV5xiLi3OYlXBKLd","title":"Random Number Generation","pathname":"/core-dev-bootcamp/module04/random-number-generation","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"335jwkVZcKb25q6MnSdw","title":"Key Generation Pipeline","pathname":"/core-dev-bootcamp/module04/key-generation-pipeline","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"YJFHT3VXiZdtG7Bu5bZ4","title":"Transaction Signing & Verification","pathname":"/core-dev-bootcamp/module04/transaction-signing-and-verification","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"B8H1SAw7Oh1UMUv7VEvP","title":"Hash Functions in XRPL","pathname":"/core-dev-bootcamp/module04/hash-functions-in-xrpl","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"ccUOBe6Wsy13o36N3PMl","title":"Base58Check Encoding","pathname":"/core-dev-bootcamp/module04/base58check-encoding","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"pkArkjaM51YBcrE2z0rr","title":"Peer Handshake Protocol","pathname":"/core-dev-bootcamp/module04/peer-handshake-protocol","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"j8xeOEFTHfdsLPVIAcwo","title":"Secure Memory Handling","pathname":"/core-dev-bootcamp/module04/secure-memory-handling","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"Z2KcMtZPaaGxNay4OgDr","title":"Common Cryptographic Pitfalls","pathname":"/core-dev-bootcamp/module04/common-cryptographic-pitfalls","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"7o01yh9LiaMwxjnH6iNG","title":"Performance & Optimization","pathname":"/core-dev-bootcamp/module04/performance-and-optimization","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"2TcpVEbXni7GPn08ulKZ","title":"Appendices","pathname":"/core-dev-bootcamp/module04/appendices","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"QaiF8haImFwKlbYncRCN","title":"Appendix : Codebase Navigation Guide","pathname":"/core-dev-bootcamp/module04/appendices/codebase-navigation-guide","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"},{"label":"Appendices"}]},{"id":"2NqDghHBgLcv8PsLhaJQ","title":"Appendix : Debugging & Development Tools","pathname":"/core-dev-bootcamp/module04/appendices/debugging-and-development-tools","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"},{"label":"Appendices"}]},{"id":"QolQKAXSa1owUSq32yO4","title":"Appendix : RFCs and Standards Reference","pathname":"/core-dev-bootcamp/module04/appendices/rfcs-and-standards-reference","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"},{"label":"Appendices"}]},{"id":"HKkHpeBs5mN1buZQsbmW","title":"Homeworks","pathname":"/core-dev-bootcamp/module04/homeworks","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"}]},{"id":"YiS3r37pBqxeELYV5J5a","title":"Homework 1: Signature Verification Discovery","pathname":"/core-dev-bootcamp/module04/homeworks/homework1","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography I: Blockchain Security and Cryptographic Foundations"},{"label":"Homeworks"}]},{"id":"3HhWhuJKoNaOcHg7s7Hg","title":"Cryptography II: Protocol Extensions and Quantum Signatures","pathname":"/core-dev-bootcamp/module05","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"v2bYQ7Oo506gJNQkesDC","title":"Overlay Architecture","pathname":"/core-dev-bootcamp/module05/overlay-architecture","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography II: Protocol Extensions and Quantum Signatures"}]},{"id":"a96zzz48e4VojnZC7C4m","title":"Connection Lifecycle","pathname":"/core-dev-bootcamp/module05/connection-lifecycle","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography II: Protocol Extensions and Quantum Signatures"}]},{"id":"vAWoO0D4J9e7jIZkzKnM","title":"Handshake Protocol","pathname":"/core-dev-bootcamp/module05/handshake-protocol","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography II: Protocol Extensions and Quantum Signatures"}]},{"id":"fnzmYjD9y7WE4M4vsp9o","title":"Message Relaying","pathname":"/core-dev-bootcamp/module05/message-relaying","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography II: Protocol Extensions and Quantum Signatures"}]},{"id":"jLhBZYIVqorMUqE9qjom","title":"Peer Discovery","pathname":"/core-dev-bootcamp/module05/peer-discovery","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography II: Protocol Extensions and Quantum Signatures"}]},{"id":"sUdAxCMxLkuBIzFK59Da","title":"Appendices","pathname":"/core-dev-bootcamp/module05/appendices","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography II: Protocol Extensions and Quantum Signatures"}]},{"id":"V35ArZPkPIs9gCxp6prw","title":"XLS-??d Quantum-Resistant Signatures","pathname":"/core-dev-bootcamp/module05/appendices/xls-d","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography II: Protocol Extensions and Quantum Signatures"},{"label":"Appendices"}]},{"id":"oyYA5Uj2wBRh5Csg6XFf","title":"Homeworks","pathname":"/core-dev-bootcamp/module05/homeworks","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography II: Protocol Extensions and Quantum Signatures"}]},{"id":"uaf8Hdr0OgG2Kdl3X8rg","title":"Homework 1: Building Quantum-Resistant Signatures for XRPL","pathname":"/core-dev-bootcamp/module05/homeworks/homework1","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Cryptography II: Protocol Extensions and Quantum Signatures"},{"label":"Homeworks"}]},{"id":"UwqgOzKNorcbk5UXvmrk","title":"Communication I: Understanding XRPL(d) RPC Architecture","pathname":"/core-dev-bootcamp/module06","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"atgqVilo3xCd6tjKUZ4m","title":"RPC Handler Architecture","pathname":"/core-dev-bootcamp/module06/rpc-handler-architecture","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication I: Understanding XRPL(d) RPC Architecture"}]},{"id":"QdCnaWn5ppvaUk8xaylJ","title":"Request and Response Flow","pathname":"/core-dev-bootcamp/module06/request-response-flow","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication I: Understanding XRPL(d) RPC Architecture"}]},{"id":"rmbtIxMctSY9KaDiJaPM","title":"Authentication and Authorization","pathname":"/core-dev-bootcamp/module06/authentication-authorization","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication I: Understanding XRPL(d) RPC Architecture"}]},{"id":"dqTKkM3cGq6X1A5nJJzO","title":"Error Handling and Validation","pathname":"/core-dev-bootcamp/module06/error-handling-validation","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication I: Understanding XRPL(d) RPC Architecture"}]},{"id":"E779wK20usVjF6uHqn7X","title":"Communication II: Building and Integrating Custom RPC Handlers","pathname":"/core-dev-bootcamp/module07","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"xd1GaP13vhTk6cga96BT","title":"Implementing Custom Handlers","pathname":"/core-dev-bootcamp/module07/implementing-custom-handlers","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"}]},{"id":"Qge7M3c9kLtUmY83b4b3","title":"Testing RPC Handlers","pathname":"/core-dev-bootcamp/module07/testing-rpc-handlers","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"}]},{"id":"OfTGTrW3vb083seWe26p","title":"Advanced Features","pathname":"/core-dev-bootcamp/module07/advanced-features","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"}]},{"id":"e0oJoPrZgZELZNLUQvmj","title":"Best Practices and Patterns","pathname":"/core-dev-bootcamp/module07/best-practices-patterns","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"}]},{"id":"KSj1lyUSd0MpOs2ANrrB","title":"Appendices","pathname":"/core-dev-bootcamp/module07/appendices","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"}]},{"id":"as4YjwxkztbOkKVZ8kr1","title":"Appendix: Handler Examples","pathname":"/core-dev-bootcamp/module07/appendices/handler-examples","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"},{"label":"Appendices"}]},{"id":"cq96Vn5ljle4RuYtPob9","title":"Appendix: Helper Functions","pathname":"/core-dev-bootcamp/module07/appendices/helper-functions","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"},{"label":"Appendices"}]},{"id":"ZXfa61EE0JvxPCJpmPwl","title":"Appendix: Debugging Guide","pathname":"/core-dev-bootcamp/module07/appendices/debugging-guide","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"},{"label":"Appendices"}]},{"id":"Mvt7MPum97MtbO1r7gxv","title":"Homeworks","pathname":"/core-dev-bootcamp/module07/homeworks","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"}]},{"id":"spnUSHNjs86x0GKTMbOM","title":"Homework 1: Building a Custom RPC Handler","pathname":"/core-dev-bootcamp/module07/homeworks/homework1","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"},{"label":"Homeworks"}]},{"id":"BQhxy8oQwG8nVTzFvRia","title":"Hints","pathname":"/core-dev-bootcamp/module07/homeworks/hints","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"},{"label":"Homeworks"}]},{"id":"OnSGOOerXeYH7xAX92ee","title":"Snippets","pathname":"/core-dev-bootcamp/module07/homeworks/snippets","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Communication II: Building and Integrating Custom RPC Handlers"},{"label":"Homeworks"}]},{"id":"Z7swqcupAR3BnSNNrQwY","title":"Consensus I: Node, Consensus, and Ledger Fundamentals","pathname":"/core-dev-bootcamp/module08","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"8oOEXhXwFB4c9Ct1kUa8","title":"Consensus Fundamentals","pathname":"/core-dev-bootcamp/module08/consensus-fundamentals","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus I: Node, Consensus, and Ledger Fundamentals"}]},{"id":"u71Vr6PTXibXDOa7JaoP","title":"Consensus Modes and Phases","pathname":"/core-dev-bootcamp/module08/consensus-modes-phases","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus I: Node, Consensus, and Ledger Fundamentals"}]},{"id":"e7loUPVRvKvAE6FvbBbO","title":"Consensus Lifecycle","pathname":"/core-dev-bootcamp/module08/consensus-lifecycle","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus I: Node, Consensus, and Ledger Fundamentals"}]},{"id":"arckoHu5j8jSj2a10vvd","title":"Ledger Architecture","pathname":"/core-dev-bootcamp/module08/ledger-architecture","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus I: Node, Consensus, and Ledger Fundamentals"}]},{"id":"ivmK7BWLwoALeKYcUo1E","title":"Ledger Data Structures","pathname":"/core-dev-bootcamp/module08/ledger-data-structures","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus I: Node, Consensus, and Ledger Fundamentals"}]},{"id":"5IK51NlYB6jHSV4atqAp","title":"Ledger Acquisition and Validation","pathname":"/core-dev-bootcamp/module08/ledger-acquisition-validation","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus I: Node, Consensus, and Ledger Fundamentals"}]},{"id":"27aD18uwVp2Nf887H94W","title":"RPC and Peer Transaction Lifecycle","pathname":"/core-dev-bootcamp/module08/rpc-peer-tx-lifecycle","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus I: Node, Consensus, and Ledger Fundamentals"}]},{"id":"IkeoUWfwahmATESrJKg3","title":"Homeworks","pathname":"/core-dev-bootcamp/module08/homeworks","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus I: Node, Consensus, and Ledger Fundamentals"}]},{"id":"VQDLCXiBkZkE0yGXxb9F","title":"Homework 1: Transaction Consensus Journey","pathname":"/core-dev-bootcamp/module08/homeworks/homework1","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus I: Node, Consensus, and Ledger Fundamentals"},{"label":"Homeworks"}]},{"id":"UUtaBAIYwad9hSgQk1AH","title":"Homework 2: Consensus Dispute Engineering","pathname":"/core-dev-bootcamp/module08/homeworks/homework2","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus I: Node, Consensus, and Ledger Fundamentals"},{"label":"Homeworks"}]},{"id":"U4QxOb0rC217cspqOv8X","title":"Consensus II: UNLs and Ledger Amendments","pathname":"/core-dev-bootcamp/module09","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"k445jzO7hfGJ0tpMqk33","title":"Transaction Ordering","pathname":"/core-dev-bootcamp/module09/tx-ordering","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus II: UNLs and Ledger Amendments"}]},{"id":"6Aj2lfk4FuFbmRKYSbU0","title":"Consensus Validations","pathname":"/core-dev-bootcamp/module09/consensus-validations","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus II: UNLs and Ledger Amendments"}]},{"id":"eWDKcXUWg7GEB2YTwZ7S","title":"Amendments","pathname":"/core-dev-bootcamp/module09/amendments","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus II: UNLs and Ledger Amendments"}]},{"id":"W35FGYkzkELPhG8FsyyC","title":"UNL Management","pathname":"/core-dev-bootcamp/module09/unl","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus II: UNLs and Ledger Amendments"}]},{"id":"IRXaBo0VrMQ050XGh55I","title":"Consensus Peers","pathname":"/core-dev-bootcamp/module09/consensus-peers","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus II: UNLs and Ledger Amendments"}]},{"id":"db2EIj1Cvp8fwDggyNTh","title":"Homework 1: Validator Keys Setup and Management","pathname":"/core-dev-bootcamp/module09/homework1","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus II: UNLs and Ledger Amendments"}]},{"id":"gXPpe6w3sbiHCFzNFr0u","title":"Homework 2: Negative UNL Engineering","pathname":"/core-dev-bootcamp/module09/homework2","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Consensus II: UNLs and Ledger Amendments"}]},{"id":"MTTdLvUnNbOkgZIekUby","title":"AMM: Automated Market Maker","pathname":"/core-dev-bootcamp/module09bis","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"cUe4H3zLKIWNPAsSQETN","title":"AMM Architecture","pathname":"/core-dev-bootcamp/module09bis/amm-architecture","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"AMM: Automated Market Maker"}]},{"id":"bUZBGqAwNEhZZo6NYHE2","title":"AMM Transactions","pathname":"/core-dev-bootcamp/module09bis/amm-transactions","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"AMM: Automated Market Maker"}]},{"id":"I12yuKsWYm7v26ZctKaj","title":"AMM Logic","pathname":"/core-dev-bootcamp/module09bis/amm-logic","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"AMM: Automated Market Maker"}]},{"id":"kmLekMdS8k3AejU2JbIN","title":"Pathfinding Integration","pathname":"/core-dev-bootcamp/module09bis/amm-pathfinding","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"AMM: Automated Market Maker"}]},{"id":"B4JlL78dFWewJ0zVCjHw","title":"Building Amendments: Lifecycle and Core Protocol Impact","pathname":"/core-dev-bootcamp/module10","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"}]},{"id":"0eV99g4QhAByvXwpE3iq","title":"Amendment Architecture","pathname":"/core-dev-bootcamp/module10/amendment-architecture","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Building Amendments: Lifecycle and Core Protocol Impact"}]},{"id":"48FAQfBDXGKVpnKSj4r1","title":"Amendment Lifecycle","pathname":"/core-dev-bootcamp/module10/amendment-lifecycle","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Building Amendments: Lifecycle and Core Protocol Impact"}]},{"id":"Yi8Z7srijxgpPVNYs2yh","title":"Voting and Activation","pathname":"/core-dev-bootcamp/module10/voting-and-activation","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Building Amendments: Lifecycle and Core Protocol Impact"}]},{"id":"FdW6NcPDjWFT6Zr2Hpje","title":"Core Protocol Impact","pathname":"/core-dev-bootcamp/module10/protocol-impact","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Building Amendments: Lifecycle and Core Protocol Impact"}]},{"id":"RYDFH66BvJuxVQzeb1YR","title":"Network Coordination","pathname":"/core-dev-bootcamp/module10/network-coordination","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Building Amendments: Lifecycle and Core Protocol Impact"}]},{"id":"n8dXbTGiFkqSGKzf7CGn","title":"Monitoring and Tools","pathname":"/core-dev-bootcamp/module10/amendment-monitoring","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Building Amendments: Lifecycle and Core Protocol Impact"}]},{"id":"fUkp2U7GoVQLUCWi7oFY","title":"Homework 1: Amendment Status Analysis","pathname":"/core-dev-bootcamp/module10/homework1","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Core Dev Bootcamp"},{"label":"Building Amendments: Lifecycle and Core Protocol Impact"}]},{"id":"bxzlKpdaWL0ycHW167Ui","title":"Tools","pathname":"/tools","siteSpaceId":"sitesp_pmWJT","description":"In this section you will find instructions on how to setup wallets and tools"},{"id":"7rLVvEQyckNjCrGHcYqI","title":"Xaman Setup","pathname":"/tools/xaman-setup","siteSpaceId":"sitesp_pmWJT","description":"Instructions on how to setup Xaman for our workshops pertaining to XRPL mainnet","breadcrumbs":[{"label":"Tools"}]},{"id":"MN3K3jumH9kGijxg41sl","title":"Metamask Setup","pathname":"/tools/metamask-setup","siteSpaceId":"sitesp_pmWJT","description":"","breadcrumbs":[{"label":"Tools"}]}]}