Coding Session Notes on Python and EVM

Jul 25, 2024

Lecture Notes: Python and EVM Coding Session

Introduction

  • Start of the stream.
  • Mention of the recently uploaded video (38-hour long).
  • Noted issues with audio desync between hour 8-19; a re-upload is in progress.
  • Goals for the stream: coding for 8-10 hours focusing on Python and EVM (Ethereum Virtual Machine).

Announcement

  • Reupload of a video due to errors in the previous version.
  • Engaging viewers to ask questions before starting coding.

Current Tools and Technologies

  • Using Claude 3.5 to assist in coding.
  • Mention of GitHub Copilot for Python (V2).
  • Working on a project called "Gaboon" that is a Pythonic CLI.
  • Emphasis on using Viper for smart contract development.

Key Points on Python and EVM

  • Discussion on the importance of diversity in programming languages within Web3.
  • Expressed concerns about the dominance of TypeScript and Rust in the space instead of Python.
  • Python is the second most popular programming language globally; neglecting it may limit developer inclusion in blockchain.

Viper Curriculum Development

  • Working on developing a curriculum focused on Viper within the Python community.
  • Tools like Brownie are no longer maintained; looking to build something better.
  • Introduced "Titanoboa" as a backend tool for faster Python development environments.

Technical Insights

  • Notes on the progress of the Gaboon tool.
  • Challenges faced with deploying smart contracts on Arbitrum.
  • Refactoring of functions in the code due to conflicts in attributes.
  • Adjustments made to the code structure to accommodate necessary data configurations.

Coding Challenges & Maintenance

  • Dealing with issues regarding configuration and active profile data within the project.
  • Breakdowns of specific errors in coding and proposed solutions using logging and debugging techniques.
  • Refactoring for clarity and organization in the code.

Potential Features

  • Discussing future feature possibilities like including Rust for better performance in fuzzing and verification.
  • Indications of a possible course on Rust, depending on the completion of other curriculum courses.

Audience Interaction

  • Engaging the audience with questions about their projects (e.g., music NFT marketplace).
  • Clarification on the usability of Hardhat as compared to Foundry for deployment, especially concerning external scripts.

Python & Smart Contracts

  • Emphasis on quick scripting versus performance considerations of different programming languages.
  • Ability of Python to easily script trading activities brought up as a significant advantage.

Summary of Technical Issues After Breaks

  • Breakdown and adjustments made to various accounts and network configurations through Python.
  • Efforts to streamline account and network management in Python coding.

Conclusion

  • Operational challenges in utilizing Anvil with the current state of coding.
  • Acknowledgement that deeper engagement with the audience during programming leads to shared learning experiences.
  • The session concluded with plans to refine coding practices and project management moving forward.