id: 99
title: AlgoLearn Platform; Starting With an Algorand-Based Discord Bot Lecture Series and Open-Sourcing Python/Puya
author:
- Name: Costa, Leo
- Email: atsoc1993@gmail.com
- GitHub: “@atsoc1993”
category: Education, Tools
focus_area: Blockchain Utility for Project Discords
open_source: Yes
amount_requested: 150000
status: Final
Abstract
This proposal outlines a request for funding to continue and complete a comprehensive educational initiative aimed at empowering new developers in the blockchain space, particularly within the Algorand ecosystem. The project originates from a vision to create a learning platform for developing on the Algorand blockchain— a website with interactive IDEs where you can not only learn but also try out coding directly, with access to a public Algorand testnet node for real-world practice. Although all functionalities of Algorand are open-sourced in some way or fashion across various GitHub repos, YouTube channels, and developer documentation, new developers will find themselves grasping at straws when trying to compile an application of their own.
For example, we have multiple showcasings of completed smart contracts for different applications, but no content that explains why a smart contract is formatted the way it is, how to debug your smart contract, or how to walk through safely creating asserts to ensure prevention of exploits. These are complex issues, but even simple explanations or walkthroughs of various applications when developing on Algorand are spread thin across the ecosystem, with little substance explaining how things work. Starting with simple implementations and building into more complex projects, it’s vital to understand how it all comes together from start to finish. Topics such as compiling the final smart contract natively without using dAppflow, encoding and decoding the approval/clear programs, sending transactions, deducing the hex string for a particular method in a smart contract, and passing that specific methind into an argument within a transaction object, including mandatory app arguments and foreign assets that need to be passed into transaction objects lest the transaction fails.
These points highlight the endless gaps in current educational content, and extremely common mishaps that could make a 1-2 hour long project takes days or even weeks for new developers. As much as I value the work we have done so far for educational content, it is an absolute must that we expand on several developer topics and ensuring all new developers brandish the tools we have available on Algorand with confidence. This series centers on the beginning of what I hope to someday brand as AlgoLearn, and all profits will be used to fund and captain AlgoLearn. To start, a 10-part YouTube series dedicated to developing Discord bots in Python using the Algorand SDK, a common entry point for many aspiring blockchain developers. Discord bots serve as a simple, and functional front-end for most back-end applications. The series will be complemented by open-sourcing all related code, thus providing a valuable resource for practical learning and innovation in the community. For each episode, the python that we utilize is explained in detail before we progress to more complex walkthroughs where we utilize discord bots and the Algorand SDK.
Background
The intersection of blockchain technology and Discord bot development presents a unique opportunity for aspiring developers. However, the lack of open-source resources and comprehensive guides for even basic python usage on Algorand and an entry-level platform has created a barrier to entry. This initiative seeks to address this gap by leveraging the Algorand blockchain’s capabilities.
Author’s Credentials
- Name: Leo Costa, CPhT-Adv
- Experience:
- Two years of development experience on the Algorand blockchain.
- Created and assisted in developing multiple Discord bots
- Six months of web application development.
- Proficiency in Algorand and Discord SDK’s, node setup, database usage, and blockchain querying.
Detailed Proposal
Series Outline:
EPISODE 1 - Setup
In the first episode of building an Algorand blockchain-based Discord bot on a Windows PC, we walk through these steps in order: installing Ubuntu, manually setting up an Algorand node, getting Visual Studio and its extensions, Python, pip, and the Algo Python standard kit installed. We’ll also get our Discord server and bot ready for testing by sorting out permissions, setting a secret bot token, and configuring our code to connect to the Algorand blockchain and the Discord bot.
EPISODE 2 - Wallet Integration and Payment Transactions
In this episode, we’ll cover some basic Python concepts including variables, functions, calls, return statements, lists, dictionaries, conditional statements, and for loops. We will apply these concepts while creating a simple Discord bot for handling payment transactions, registering users’ Algorand addresses, and accessing account information on the Algorand Blockchain."
EPISODE 3 - [1/2] Pokemon Battle Discord Bot: Coding Without Node, Creating Metadata Templates, Uploading Images to IPFS, ARC-69 Standard Asset Creation Transactions
Create Pokémon-esque characters using ARC-69s on Algorand Blockchain— we’ll go over metadata templates, IPFS uploading for image hosting, list/dictionary review, and sending asset configuration transactions without a node! This is a two-part episode which will be followed by Episode 4, where we learn how to create a Pokemon battling Discord bot and alter properties of our Pokémon NFTs like experience, levels, and even make them evolve!
EPISODE 4 - [2/2] Pokemon Battle Discord Bot: Simulating Training and Battles via Discord Bot using the PIL Library and Embeds, Pulling Data using Algonode Indexer for Current Pokemon Stats, Asset Configuration Transactions to Increment Stats, Level-up and Evolve Pokemon
EPISODE 5 - Discord Card Game Bot and Asset Transfer Transactions
EPISODE 6 - Replicating A Pseud-Algoexplorer.io Platform with a Discord Bot by Analyzing Blocks
EPISODE 7 - Encrypting Messages in Note Fields and Creating a Direct Messaging Discord Bot
EPISODE 8 - Creating and Funding Discord Bot Wallets to Simulate Wagers or Staking
EPISODE 9 - Write and Deploy Smart Contract using PUYA from Algokit 2.0, and Integrate Smart Contract with a Discord Bot
EPISODE 10 - Preparing for the Second Series, Intro to Javascript and Web Applications
Timeline:
- The series will be released bi-weekly over the course of 20 weeks, (3 episodes have already been released) ensuring ample time for community feedback and iteration.
Future Blueprint
Based on community feedback, future proposals will focus on:
- Backend/frontend web application development on Algorand.
- Developing the AlgoLearn Platform
- Development specifically using React Native, and perhaps the Unity, Unreal or Swift SDK as per community interest.
Community Benefits
- Onboarding Platform: AlgoLearn, which will facilitate an easy entry point for community members into Algorand development.
- Practical Learning: Offers hands-on experience through guided and in-depth tutorials and interactive web IDE’s.
- Innovation Stimulus: Encourages the creation of new, blockchain-integrated projects and streamlined learning/research.