Welcome to Plutus Project-Based Learning. We officially launched PPBL in September, 2021 with our first cohort: Eli, Ganesh, Matthias, and Sam.
The PPBL program is for anyone who has completed Plutus Pioneers and wants to continue to build their skills as Plutus developers. The best way to learn is by doing things, so we encourage you to take a look at the videos above and use the links below to try to get things running on your own computer, play around and see if you can make some changes.
Then, join us every Wednesday and Thursday on the Gimbalabs Discord server to participate in this learning journey.
Task List + Solution Links
00: Start Here - get Plutus Starter up and running
You'll use the Plutus Platform starter project in the tasks that follow. This project provides a basic example of how we'll interact with the Plutus Application Backend (PAB) in a web-based dapp.
01a: Interact with a basic contract through an endpoint and build a parameterized "Grab" endpoint
Once your Plutus development environment is set up, your first task is to get a parameterized endpoint running, so that you can interact with in any local development project. We gave ourselves the following tasks:
- Implement the "Gift" contract from Lecture 2 of Plutus Pioneers, in a way that we can interact with it via the PAB
- Create a parameterized version of the Grab endpoint and practice accessing it via
curl
Solution:
02: Deliver an Authentication NFT to a Wallet
Next, we turn our attention toward native assets. Eventually, we want to be able to mint an NFT that can be used as an authentication token in any web-based dapp. Try these tasks:
- Review Plutus Pioneers Lecture 5 and build the simplest possible interaction point for getting something like an auth-nft into a simulated wallet.
- Build a simple front-end where a user can visit a web-site to obtain an authentication token.
Solutions:
03: Use an Authentication NFT for access...
Once you can get an authentication token into someone's wallet, the next thing you'll want to do is create ways to use that token. This is where we left off in September, 2021: starting to create ways to use an NFT as an authentication token for some privileged access.
Solution:
Figure out how to embed html - read remark docs
<iframe width="768" height="432" src="https://miro.com/app/live-embed/o9J_lOS6rkY=/?moveToViewport=-6909,-2365,11603,8031" frameBorder="0" scrolling="no" allowFullScreen></iframe>