Discussion around an RFP for the creation of video courses on CosmWasm Contract Development

Introduction:

Developers have diverse learning preferences, and while many excellent written guides and tutorials exist, some developers prefer to learn from high quality video content. Video tutorials offer a dynamic way to present complex information, making learning more accessible and engaging. With that in mind, our goal is to have a series of comprehensive video course tutorials that cater to learners who thrive on visual and auditory learning methods.

Project Overview

We are soliciting proposals from qualified members of the Archway community to produce comprehensive video courses on CosmWasm Contract development. The primary goal of the courses is to empower developers with the basic knowledge required to create the most amazing dapps on top of the Archway protocol. We have identified the Terra Academy’s course (Terra Academy) structure as an ideal format, which this RFP is based upon.

Scope of Work

These courses should be structured to provide developers and enthusiasts with comprehensive insights into the realms of Rust programming, smart contract development via CosmWasm, the expansive world of NFTs, and how users can interact with these contracts. Each course should be tailored to facilitate deep understanding, hands on practice, and mastery of the topics at hand.

Rust Basics

The Rust basics course is designed to provide a holistic introduction to the Rust programming language, especially tailored for aspiring CosmWasm smart contract developers. The course will be structured to facilitate a gradual learning curve, starting from an introduction to Rust, progressing through its fundamental concepts, and delving into the deeper intricacies of the language. Our intention is to ensure that by the end of the course, developers are well-equipped to harness the power of Rust in their smart contract development.

Outlined below is a possible structure of the course content:

  1. Course Introduction:

    1. A foundational overview of what Rust is and its significance.
  2. Variables in RUST:

    1. Understanding core concepts like Mutability, Ownership, and Borrowing to ensure data safety and concurrency.
  3. Options, Result, and Match:

    1. Mastering constructs like Match, Tuples, Unity Type, Options, and Result, which are pivotal for effective error handling and data management.
  4. Other RUST Specifics:

    1. A deep dive into advanced features and techniques in Rust, such as Lifetime, Traits, Functional programming, and the role of Classes in the Rust ecosystem.

CosmWasm Smart Contracts

This course on CosmWasm Smart Contracts should be designed to be a comprehensive guide for developers, allowing them to harness the capabilities of CosmWasm to its fullest. Beginning with foundational concepts and leading into advanced functionalities, this course endeavors to make participants proficient in creating, deploying, and managing smart contracts on the Archway network.

Outlined below is a possible structure of the course content:

  1. Introduction to CosmWasm:

    1. A foundational understanding of the CosmWasm framework and its significance in the blockchain space.
  2. CosmWasm Quick Start:

    1. Kickstarting your journey into CosmWasm development.
      1. Setting up a Development Environment:

        1. Setting up and understanding the basics of Archwayd
        2. Setting up and understanding the basics of Archway CLI
      2. Messages in CosmWasm: Grasping the core of how communication happens within contracts.

      3. Deploying Contracts to the Archway Testnet: A practical guide to moving from development to testing.

  3. CosmWasm Libraries:

    1. Exploring the built-in tools and utilities of CosmWasm.

      1. Importing CosmWasm Libs into Contracts: Seamlessly integrating essential libraries.
      2. Using Addr and MessageInfo: Mastering the foundational elements of contract interactions.
      3. Working with Tokens: Delving into token-related operations within contracts.
  4. Using Storage in CosmWasm Contracts:

    1. Unpacking the storage mechanisms and strategies in CosmWasm.

      1. Item and Map: The building blocks of data storage.
      2. Multi Keys and Multi Indexes: Advanced storage techniques for complex data structures.
  5. CosmWasm Controllers:

    1. Understanding the control mechanisms in the CosmWasm ecosystem.

      1. Intro to Controllers: Unveiling the Admin Controller, investigating maybe_addr, and more.

      2. The Claims and Hooks Controllers: Delving deeper into specific controller functionalities.

CosmWasm Testing

Testing is a critical component of smart contract development, given the immutable nature of blockchain deployments, where errors can be costly and sometimes irreversible. This course should be crafted to equip developers with the expertise necessary to ensure the reliability and security of their smart contracts by imparting a thorough understanding of the testing paradigms applicable to the CosmWasm environment.

Outlined below is a possible structure of the course content:

  1. Introduction to Smart Contract Testing:

    1. Importance of Testing in Smart Contract Development
    2. Overview of the CosmWasm Testing Ecosystem
    3. Understanding Unit, Integration, and End-to-End Testing
  2. Setting Up a Test Environment:

    1. Configuring a CosmWasm Development Environment for Testing
    2. Mocking Dependencies and Services
    3. Creating Reproducible Test Scenarios
  3. Unit Testing in CosmWasm:

    1. Writing Unit Tests with Rust
    2. Leveraging CosmWasm-specific Test Utilities
    3. Mocking Contracts and External Calls
  4. Integration Testing:

    1. Designing Integration Tests for Contract-to-Contract Interactions
    2. Testing Contract Interaction with the Archway Testnet
    3. Handling State and Persistence in Tests

CosmWasm NFTs

The CosmWasm NFT course delves deep into the CW721 standard, one of the pillars behind NFT development in the Cosmos ecosystem. This course is meticulously crafted to cater to both novices eager to understand the world of NFTs and seasoned developers looking to sharpen their expertise in creating and managing NFTs using the CW721 standard on CosmWasm. Going beyond the basic NFT solutions would also be ideal for more advanced usage and the use of the Area52 Cyborgs NFT course (AREA-52) could be something to look into.

Outlined below is the structured content of the course:

  1. Course Overview:

    1. A snapshot of what participants can expect to learn, emphasizing the value and potential of mastering NFTs on the CosmWasm platform.
  2. Intro to CW721 NFTs:

    1. An exploration into the basics of CW721, the NFT standard for CosmWasm, elucidating its significance and foundational mechanics.
  3. Advanced Usage of CW721:

    1. Deep-diving into the nuances and complex capabilities of CW721, ensuring participants gain proficiency in leveraging advanced features for optimal NFT creation and management.
  4. Minting NFTs:

    1. A practical guide to the art and science of creating NFTs. From ideation to tokenization, this section demystifies the minting process in the CosmWasm environment.
  5. NFT Marketplace Integration:

    1. Understanding the dynamics of integrating minted NFTs with marketplaces, enabling artists and creators to monetize their assets effectively.
  6. NFT Metadata and Customization:

    1. Delve into the aesthetics and functionalities that make each NFT unique, from metadata standards to the customization of visual and interactive elements.
  7. Smart Contracts for NFT Management:

    1. Exploring the role of smart contracts in NFT lifecycles, from minting and trading to potential DeFi integrations and beyond.

CosmWasm Frontend Integration

Being able to have users execute actions on your CosmWasm smart contracts is extremely useful if you want to build a user base and have users continue to utilize your platform. The following course should help developers to connect their frontend dapp to their CosmWasm smart contract solution to create the best possible user experience.

Outlined below is a possible structure of the course content:

  1. Setting Up the Frontend Development Environment:

    1. Overview of frontend architecture for dApps.
    2. Configuring the development tools and arch3.js
  2. Integrating CosmWasm with the Frontend:

    1. Understanding the arch3.js library and its role in dapp development
    2. Interacting with CosmWasm smart contracts using arch3.js
    3. Managing wallet connections and transactions on the frontend
  3. State Management in dapp Frontends:

    1. Approaches to state management in single page applications.
    2. Syncing frontend state with blockchain events
    3. Mocking Contracts and External Calls
  4. Security Considerations for dapp Frontends:

    1. Implementing secure communication with smart contracts
    2. Safeguarding user data and signing transactions

Proposal Requirements

To ensure comprehensive and effective video courses, we’re seeking proposals that align with our vision and can deliver high-quality content tailored for our target audience. While we acknowledge the diversity of experience and approach among potential creators, there are specific criteria we’ve identified as crucial to meet our objectives. These criteria not only serve as a guideline for submissions but also as a means to gauge the vendor’s understanding, capability, and alignment with our project’s goals.

Outlined below are the essential requirements for the proposals:

  1. Experience:

    • A clear depiction of your background, particularly in Rust and blockchain development, to establish credibility and expertise.
  2. Course Outline:

  • A detailed breakdown of the course modules, topics, and estimated durations to provide a clear roadmap of the content flow.
  1. Previous Work Examples:

    • Showcase of previously created educational content or courses to ascertain quality, style, and relevance.
  2. Budget Breakdown:

    • A transparent listing of all associated costs, covering course development, editing, graphics, and any other potential expenditures.
  3. Timeline Estimation:

    • Providing a projected completion timeframe to ensure timely delivery and readiness for audience access.

Selection Criteria

The success of these courses relies heavily on choosing the right vendor who can deliver content that aligns with our community’s values, needs, and aspirations. Our selection process is not just about evaluating the tangible aspects of the proposal but also understanding the underlying thought, passion, and commitment behind it. We’ve established a set of criteria that will guide our decision-making process, ensuring that we partner with a vendor that best represents our vision and goals for this initiative.

Outlined below are the pivotal factors influencing our selection:

  1. Quality of Previous Work:

    • A keen evaluation of the excellence and relevance of your past projects, helping us understand the standard and style of your deliverables.
  2. Proposal Clarity:

    • The comprehensiveness and organization of your proposal, indicating your understanding and approach to our requirements.
  3. Cost-effectiveness:

    • Balancing quality with affordability, ensuring we receive the best value without compromising the essence of the course. Usage of foundation delegation for example can be very ideal as an option.
  4. Delivery Timeline:

    • Your projected completion timeframe, ensuring that the course is developed with adequate depth, precision, and pace, making it available for our community in a timely manner.
6 Likes

Our team would like to take over this task and deliver high quality educational courses (as they were mentioned in the proposal) within reasonable timeframe. Here are the details:

Timeframe: we will produce first video course (Rust Basics) within 2 weeks and if you like our work than we will proceed and create 4 more courses (timeframes for those would be anounced as soon as we start working on them, but should be within pretty much the same timeframe of 2-3 weeks per course) as they were described in the proposal.

Team: 5-6 people will be working on the production (scenario writer, 2 developers, designer, video maker, coordinator).

Structure: The course will consist of video series (5-10 minutes long each), presentation/slides and multiple-option questionnaire.

  1. Setting Up the Rust Development Environment

Installing Rust
Setting up the development environment for Rust programming
Introduction to Cargo
Hello world program

  1. Basic Rust Syntax and Concepts

Variables and data types
Mutability and Shadowing
Functions and control flow
Traits

  1. Working with Rust Data Structures

Arrays and vectors
Generics
Structs and Enums
Working with Tuples in Rust
Pattern matching and destructuring

  1. Understanding Ownership and Borrowing

Ownership rules in Rust
Borrowing and references
Lifetimes in Rust

  1. Error Handling and Result Type

Handling errors with Result and Option
Propagating errors with ?

  1. Functional Programming Basics in Rust

Closures and iterators
Most used higher-order functions

  1. Basics of testing in Rust

  2. Best Practices and Resources

Best practices for writing idiomatic Rust code
Additional resources for further learning and exploration

Design/Style: as provided in Archway Media kit

Compensation: additional delegation to our node of 2,5 mm Arch per video course.
Important: If you dont like what we produce you shall take back the granted delegation.

Our expirience: we have created dozens of various marketing/educational material for crypto projects (twitter fan pages, articles, threads, guides, online/offline events, trading/project overview videos).
We can create a TG group with representatives of Archway to show materials we have produced for other projects and also to have a channel of quick coordination.

1 Like