Interactive examples for the PDA and SOL transfer lessons (Solana course)
- Dominant language
- Python
- Stars
- 127
- Forks
- 93
- PR merge metrics
- No merged PRs in 30d
Description
The PDA lesson (`2-core-concepts/5-pda`) explains `PDA = hash(Program ID + Seeds + Bump)` and walks through the Lock Program example with Alice, but there is no way to try the derivation without setting up a toolchain. Same for the System Program transfer in `5-piggy-bank/2-transfer-sol`.
Proposal: embed one small interactive example right after each of those sections. The examples are flows from [PLGRND](https://plgrnd.io), an open-source visual playground for Solana (MIT, source: https://github.com/RedDuckTeam/PLGRND).
- **5-pda** — the Lock Program id, Alice's and Bob's public keys and a lock id go into two PDA nodes. Readers see both derived addresses and bumps; change the lock id and Alice gets her second lock account, the "hashmap keyed by (user, id)" idea from the lesson, live.
Flow: [link](https://plgrnd.io/embed?theme=auto&ref=cyfrin-updraft#flow=N4IgbiBcDMA0IDsD2ATApgZygbVASxShAGMBGEeAFwE8AHNIgYQHkBZVgUQDkAVCkWkgx5KeJAiigAHlAAM8alAC0AJlmyAvvBQBDSjskhKaKZSIAZJMQDWAAgAKAJyQBzRzoC2DgCIBBDAA6CEH2frYAvLYAFjoYUQAUtM5unrYEtgDUthhoaCgYmbYARgCuHrQAlEE5eQWR2CU5jra0JUUANnjEttZo1LC27VZ26fElAGwALAOdlJTtaEpoCCh4OggVALpBQQDKnmgtye4eAxgHg8NpKAOrAGZ3aI7LlLaNT7aASYS294-PCK8dMRiEgSgDILYdNFYlEPDpaD0+nlitRbGMmgMCBUAHS2RgxBAuQ6UKKHLgAVVYACEOAAlWyUJC2Fx4MCHXydYiHKE5EErS42SHA0EA7EgDRafCESAkFT8Gj0JhsTi8fiCYSicSGGSQJTQNQKZSkTTaPQGSCgYymIiABMJbJZBU5XCdruLJSACERKOQqHQGDKeBwABp8eDqkRiCQWkA6+QgRSQE0gXT6QxWswygAclBcmdoAAkAOoATgA7pQAIq0gDSKgAXgArBCMWgAR2IUjrSHGYDBAHY8DxaFI0AAxVsIUilgCaAC0irQ+27YFKiMRoPK-Ur2NxQwIhBGtdGdXqDfGoJmkynzZaTBmQHaOV00AByAqtDpdRGKCUrj3Sow5V9RUA2DPdw01KNpDkQ1IGLK8zTTO8iG8FRR1oWcAFZrB0XYKzuKQXCiXY+0wqlHGsFAVDQPBWypckSmIQsADU604SYwAQIo7mY2kGzQQtl1XGViEmTcQJAFgd1VMMD0g7VlH1OME1IPsENTaN01tWwqSQIo3xaNpOW-IT-y9DdgP9EBAxDNU5MjBTE1g0hLy0ZNEM05CZUwjA7hKFAACkdGoFRegwAK+12SgAtoegig8Rxq3sINfDuKIg3GUcqUzHh8wraBzA4SY7jwfNTM9ETMPEqypJVcD7KPaDdSU2CVHGdSbyMLyHzeJolAwehiDwErkSGQVPV-YTEB9IwtxlClqTpOyNQc48YPPSAVDUtzr0MBAyiKJ4oFISazJlWgZoVKzQl8ZbDygmMoEmM8E3anaPOAU6KoEIDZokm67vktbIGe5SoBUNR3o0z73W+lBLrmkBvAASV2exzF8adAdWpqpjBzaOqQ60ZXzYhdhcahqF8awMDrDgOCkIpGAQcw7hUDxqwKwtp2IO4eGrDhaBQRgg28fNMJKMBdg8O4+ypcqAKo6qUNR9HMexxrHsgPHnPUKHOq0mUVEmTMFaIFALL+qyUbRjGsdklbNZ1HWNrUQnPOJkB83JUguD7as6yiYs7grKJKLuewpFS3w0FYOsK0mbxWz7PsAHFC0o0gXB0WdM2scxoBQcxCC+xWxMslXbfVh37scl2ExUVzTWhrrPZUTCN1LtdxmVmVat3DWHp1Yt2ta93b09x9OVfAoxrsIEQTBV4slKcozZEpcK775UB5roGmpH-G3f1on7ztXT9Nnq4F5FZfijKWg3U2eA8iJLBIFwM6Y2oJYUCJAB9f+3olDpiUI4PARFKBKAutA44nhkYoCUAsO4Zh4AYFBI4LkXoZroJKJgtA+Z1goAWNgkBd4wEQKiKgowOhHBEnvBdeUtD6GEJWCQ86pBYHOngYg5BZhYYASkD-V+aBAGUBUGQ0wFDIHQM4TUFAABiWQSC0AoP4Lg-BXpfoaK5Kw4hVlxGSKgeAyBTC6FoAYZdZhFi9HsIEHI3IijlF8PFH+b6Qjf4AP-pOJQ+0PCHUcNIqhsj+qOIUZwlxaCMFYJlJOdR0SCFELsT4vxASgnUP0OYyxZiWFJKsjA+R4SVFqIEUQDxIixGcNASY4JtAJFJG4R4BBxTqE6IMTghJtj2lGPSTkixRA6l9MoF0gZ9S4FNN4ao-hbjBHCL-qIoB0Aek1KgXU0JeQlEtPiXgmJRhLZtJGTKSgSzqmUIydYhhv1Mm5LYfkiRhTnFTNcVNcp8zAEpIOk8dJ0D7lhIiU8qJOyrJxMBfgw501fGfMCSsoZoyhngrWYU-5JSZllLmV4mBQsdDfPhkoPACBWhQMiSANpAyOlAoRZwrFvSqAXPNlYrJ4LcX4sJVs0pMpXkYs4avWgOKJEspKESgFJKElku2WCvJZKlA8ppTQrJ5srkXKZfyglgq2Woo5eihZazqUrKUBbPFqqhVqNBbswZprEm3NGdA3Qsrrn9JlBbeFkrHVLIFca6ZLytWALWTKvVKBJiGtZcS0l51tGdJdT9aVD87V0sdeXOVNz9Hm0De6tlmwNBAA)
Screenshot:
- **2-transfer-sol** — a flow that assembles exactly the Alice → Bob System Program transfer from the lesson and shows both balances. Sending it on devnet happens in the full editor with a throwaway wallet, not inside the widget.
Flow: [link](https://plgrnd.io/embed?theme=auto&ref=cyfrin-updraft#flow=N4IgbiBcDMA0IDsD2ATApgZygbVASxShAA40BGFMgJgCNozqBWAFgEN6bmB2VtANhQ0AxmgBmABlGNoNEPAAuATwAOaIgBUASgEEAcgGVtAYXUBJAPK6A+gCEAqqYAyAEQCimuSGVIMeeXiQEKFAADygAWmZicQA6Fio+aHEuYgBOPi4+PnhFCISyGKoyZipoYmIyej5maABfeBRWeVZg+pAAWzRWDABXACc0QkhQAHcCeQALKDJxcXgJtDwAcwn5KAS2jDQAGzQheUGoUVZtrYa+1iWlvAQlo5Ot+vwhkD40SVYhVK4URl-mMiMVLA8RpYgocpUERUQbMTxKVQaHQGYxmSyeby+fyBYIgMKQPgFLLEDLJVIzYgA5g5CLVGLJTLQRjiIpcFk1NqNZq4jDNeQ9LCQEC9IQiDBYeC+JYIJr9NRC5gAKRsRjsigA0qx2gBFdQYAAKQj+2gQAC1HFwllwQuoABIAaz6mjs2nVfhQiqEeCo6psaEVNFcugAYgB1XQhXSm1jWibORVkdoIEYjHohEYAK3F+rI+oAGoxXGRtKJ2gBxDCiRx9JAANSQzhAbU63TlQ1G4ymMFm80WKzWBOYmx2ewOQ2OpzQ50u11u90nTxABCINHEhJoZBJ0CEyRKqVYqRkaEYjCExEYoh3h-EQnhKnlIF0rnUofMmnVGJ8fgCQWGeLyqSxNAKTiIwXBkN83BkDSkDhMBMSAmQmTMvQNT0IwnJNC0f4IGg8gjEgfT2kQbi1k+6hNvALa9AM7YgGMKCTOsPYgAsyyrFAUTDrs+yHJAE5nCAKAXFcNx3PxDxoIuy5CuIZCDCSWTvOBzDcDQrClGIJ6VGQNCpKejBkHeiJCqYBhaHYJgWAYn5Yj+uL4uEEF8DEzAZGQfBUMwqRuR50BwCAuSwV5XAxFwJ7gbMVBgR5m6YdywzNl0NF8R2jFdkkcysX2HGDtxo58QJU5CSJs7iUV0kvFQ4goJ5Qj0EaqSiGwQI0EUVC0DMgxfFQKDQFQxkPjY2iOHoRiuLZ344n++KIXEXlAsk-XVYSMHVakMTRN5hL+Ukh6efF2GgOp2ysAgIhEFQhT0JugFcFwngnWdIiaKwIyXaUDBpAylEdMlba4gxTGQNVWVsf2nHEPlvHjpJ06iXOEkLrAzxEBpNAoEIoj+W5mNuRjqRoMQ4XECIjBtTGogQoNJGmPo+qjQAmpN2K-qEUDAYwrnMKCDA80C3DiNSgXrJUCEzBkTLRT5xAdYduIHCEA4gFdn23T9SWtrRgOdhzLHg7l0B8NDY7zoJwkzmJZtSSjS4vPJfA0IwXnMIIWOqX1rAlHw3xcJlB77qKNNCrodgALI2O4LP2TNERRMwcQgUbztJGkzCMDB4TVdArmGdVHXAoCbJcPLOE9O0NBoH0UCxHJmspXRQNdjMYM5QOhkm4VcMlZbiMVbbMmvH7cn+Vw9XUMwNDqRj5NcNVJIaWQrAsnwwcgOorh5hR8CYlNbP-rBjDEDnWRlMPVBsgwGci7B1BXf157RfdI-pHUDRYQraBK5dQgjKGZD2jDnGMOjAJiiGDEYU0xAJj6BCMoEI2oyz6AAF6OH0PIW02hGbyDzHmfUipQwAEcECKkIeqXI9cAZ-ibnrVu7F25kE7rDSc8MyrW0qkQYgEhKilASJ5Lya59wQTXF5BgNBMhtSKGvYao1dDjWjtNdmh8EgxCNhkNk0AfKJCPjBGYG1CRz2+MfYoy0S7vwSsdE4z0Hy1wGvAJ6500CvXekKUGsx3G-WolQtKwNQa9noZDJh1tWFWyRo8AeLx9KqSZEaNAAJoDeSoKIY+fUj4bixqIDqQhapr2cHTBmWCFH70clQQ8ucGDRRqBUFkXBhZBQqWFaQXBAKbgyG5YmpdQCK2VrYzx-1tbUN1t2OhEMYDG0lCOGGwSe4I3KpJDhQouBiGgJje6bIhDFC4NjdgaAxDNVFGgJIDB+q5PyUzIpDkOb3RiHwFeFRPJuUZHUiI0gEJ8GJieUxDA4rmKOiAbpRAlQqjVJqHUepDTGjNBaK0NoHROhdG6eQHovQ+j9AGIMYYIxRhjCEOMCYkwpjTJmbMuYCxFhLOWSs1Y6wNj6VrVK9EhmZX8aMtyQSwnFQtrM9hESiD6QXmgBIohBibM+LwZgzVSbCsJh5cgLQFD3iIKGEajhnwXNjrBfSm0eYZA6t5DymQ1ozFUSBI+mi54Mk6V4HoNBth4CEOqNAQUQCeBGCcXYA4EA9G2NsShAyfFdj8dlAJkATzsqKiEvu8zeVCiEKUZkKFUjlBQDUHcelvJGidh5aKGNBVryMOYMOYcgzby8F+VmlzD5C1cukBIRt-LVT9pnVSBRvlGznrctk6QrUAqFKGCYTQAD8AAdBAo71ATDwBgAABKIbYSARjTpoD0PA2wUAYFgNOqUCAN3TrOigLdaAEDrr3dOgYJxp36CQKdGU075AXB3Z8Vmd6B3yGne0JAYBMCXvMI4WdNZ2jTsCGgPdKBhKYBnfIJAe7kCTCrjEadjMkA9EPW+uDh7j1V03ehgYXplB4CPfIbDCw90fp6AgIjMGD3odwvhQi9oEP6gGOKMSl6j0HpoDWVgmNujyBnX4O90H0NCG2AKA4fQqNbomAumdihkMvpA8x71-hbh3ofRgJ9P4t3LBlPyAYCG6UNx1uldY0QWW5UqOM4UkzTYcsjXM5GqNFn+SkGQI07A+AsGYETco55h6ihEBUbccIFUmRAAWotJb1VKKcoSBCYFCQJD9hBVpzbwLxYqEUTylQfJmKEh-P8vaQD9sUCOsdCASvTrQF+voihp2NGUMoJdSBV0zpQAuhAgmX1Tunb1vr-WBuDaG8N3rrgat1eHfRPofg0CTaA51q9N7WDTrtfaEDy7FCsbOtOkM6hN0YDdY11jUG1s7s3UgVQCAtvTt3qzTdYAkAqaWNOm4p7nDaHMJunrGYxOnu3YMNTZ0NP7C000BTVXj1AdEODxoigEMToGCB-Dexv2sAGHu7YbrFD8c68oU6ihIAjaJ8TknRPR3hBezu+9PQQeBBnQAChGK+qTyG13ToHY1o9ABKUnvO+e8-J9p6UVcGdM+g6wHokxCJ4GQQDvwPP+eK6V2ThAFPlu4cI0u+dQh7QDowBMad9OMBCZI7RgiRFp32mQCMfj8gADkM7RDMYmAr5X-PR3mEcdOuTKGhDbaEEgdomIQNS62C+xHm6ffTr9515o2x7Rdb0IzG7NYlgXEA4ES916zqsBiIZ7xjKTMgzM8G0ZKXw3dy5WwjlCyhLRGSdjcQ6Q0A+UxsQTgxwYQrK9juNvjB82FuLboUtt2Y5KIgqFA1nm5I1HTuo5tXkYjXnCkCX2PMhy-M-t-IUSGUM-d5Bht9PuJOiDwH0A-yhU-p-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-TwpffwjqkIn-aIgA47E-RgxfXwtfT-Xffg+IoQ0Ayg3PY2QyebUct7S3bbfbR3UHUvCvJvWNaTY3cwxPKw+3XXV3QkD3RHQEljWfR-Vg2Q7gyIgCAQ5Is-VKcncQ5-dgzfRQwo1Q0o+EG1TPU6szUXUKCXWZXw5XQIzXQHZ3Zw3wl7RY9XW3bXYHfXaI90sVWozI9-XI--To0Q+feo7I7-fIw-dQ1nfo7PUlTGniGzWZZ46Q948E744A1nYtcVVEjUAZHEpUIkskiskyO3m5qIJklCLVC1QgG1eBYXQvSQAE14zg0k5Qyk9w7RQpVI5gwkw01o6E7o2k5HZI0KBkzEowNkwktJXk6koUxklkjkknaTUM1k-ErkykgU+ksUzM6HU9VUy9clbExzVBWuaefCQhbCOEO-npktWg0stjKss-BstwNssqXsswAckcjwuU5U0YzUwc2hbMcc5hf0Z1a0ydcuchX8ceYCehf8wsZeec3KMfS-XhEQNcyskIGsjeJso87ssUy8yIG87JSfa-W04sssrc+spi39U8zi683JO81s3QzRQ+Pyk7YKnwMKpQOSX7nEpKljC3uQG8EvC0+DcSyAMy7wEKiKpy+Kjy9Kvy3Knozanag6oY-04S0i64pNSpVldFTldpUNQS4iyTSK+lVq-1bq-Nf1AqwYwXS9SzcXXswcWK6y+y6KlyxKlELyzKgKweEfCyxKxyzwG6zK3y7KkvFa0q46jsWgyaxFdq7NbFfq6FQJVNZFdlYFYNbpZaxE4Y1E-Q11Xyr6+K2y5K4G9Kx67K6G-Koy8nU6-6662W1KiG96+G-apGwi1KdHTjWnYPbrZncTcnaPXjfHYBVnU7oHtPZE7a8YzE6ZRzbW8WwG2Kty+W023KvOy61K8u4216-K-oxGyq98YO3HUPQnd+f3drT2xnT2eEGO+0BOzmzs-PU2YM4W86yW0u+69u3K4K0C8KyCy+wKnW5u5+569+6wOEG6j6nhO26fWMWC1Cb8xuaCTC-27w-B6hZC38-BQC4sZfngGAE0GgG2yA6zbO466+0B6W1u6B5W+u++0Gyuzu2G5Bx6sVT85h0h1uRCehxCzBVh8hxeXo9NgRwcMRzs14eAARiMN4H0AOEos0sQJtMfCSNIC0lfDBFBPFt8ECJUJFBUPAMgkgIHjXEvh1FkGuIpCUDUICLULUEAA)
Screenshot:
Contributor guide
Research direction
Open the lesson sections at 2-core-concepts/5-pda and 5-piggy-bank/2-transfer-sol, then review the linked PLGRND flows and how existing lesson embeds are written. The work is done when each section contains its corresponding interactive example, both embeds render correctly, and the PDA derivation and Alice-to-Bob transfer flows match the lesson text.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 84/100