Cyfrin / Cyfrin/Updraft

Interactive examples for the PDA and SOL transfer lessons (Solana course)

Open Beginner friendly
#607 0 comments 0 reactions 0 assignees View on GitHub
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: Image

- **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: Image

Contributor guide

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.