The School of DumDum is a part of Arweave Academy developer education program. We offer developers free, high-quality courses and practical tasks to help them start building applications on Arweave and AO from scratch.
Special thanks to @K4y1s, @sayestheorem, @rosmcmahon_real and @developer_dao for support, and to @OpenBuildxyz for their guidance and assistance with the event process.
We divided this event into two parts: one for beginners and one for advanced developers.
- Beginners can enter the Learning section, where they will complete their learning by studying courses and submitting tasks.
- Advanced Developers, they can directly participate in the Practice section, which is a competition. You can choose a topic of your interest from the challange list and complete the practice by developing and writing tutorials. The best practices will be selected by judges and rewarded.
The specific process is shown in the diagram below:
flowchart LR
B[Developer Registration] --> C{Join the Event}
C -->| Learning | D[Learn the Courses] --> E[Submit Tasks]
C -->| Practice | F[Practice Contest]
B:::clickableLink
class B clickableLink;
click B "https://github.com/ArweaveOasis/Arweave-Academy#registration" "Go to Registration Step"
D:::clickableLink
class D clickableLink;
click D "https://github.com/ArweaveOasis/Arweave-Academy#course-guideline" "Go to Course Guideline Step"
E:::clickableLink
class E clickableLink;
click E "https://github.com/ArweaveOasis/Arweave-Academy#task-submission" "Go to Course Guideline Step"
F:::clickableLink
class F clickableLink;
click F "https://github.com/ArweaveOasis/Arweave-Academy#practice" "Go to Course Guideline Step"
style C fill:#FFF9C4,color:#000000,stroke:#000000
Before participating in the event, here’s what you need to prepare:
- Please prepare your AR wallet -- Arconnect
- An all-in-one Arweave AO relevant documentation list -- awesome-ao
- Arweave block explorer -- viewblock
- AO explorer -- aolink
Developers need to complete GitHub registration by following these steps:
-
Star
,Watch
andFork
this repository andclone
it to your local. -
Navigate to the
submissions
folder and create a new folder named after your GitHub username:YourName
. -
Copy the Template.md file into the newly created folder and rename it to your name:
YourName.md
. -
Open the
submissions/YourName/YourName.md
file, fill in your information as instructed, and save it. -
Submit a
PR
to this repository. Once your PR is merged, your GitHub registration is complete.👉 Here is the tutorial about How to Submitting a PR on Github
-
After you complete the registration process, please join in the Discord channel.
After each course, there will be a series of tasks. These tasks are the primary way to assess whether you have mastered the course content.
For example, to submit task1
, follow these steps:
- Create a
task1
folder undersubmissions/YourName
. - Copy the task1.md file into your
task1
folder. You can also create areadme.md
file to organize your task content. (Submission of learning notes and reflections is encouraged.) - Answer all the questions in the tasks and fill in the answers in the table at the top of the file.
- Submit a
PR
(Pull Request) to this repository. Once thePR
is merged,task1
will be considered complete. ⚠️ Each Task must be submitted separately. A singlePR
containing multiple Tasks will be closed directly.
Developers who complete all the courses and submit the tasks will receive a Level 1 Certification. If you earn all 4 Levels of Certifications in the future, you will be awarded a Final Graduation Certificate and become a priority candidate in our talent pool, gaining access to more job opportunities within the ecosystem.
Module 1: Understanding Arweave
-
Intro to Arweave | Learn
- What is Arweave?
- How does Arweave Work?
- Permanent Storage Through Consensus and The Endowment
- Arweave Transactions
- Smart Contracts as Add-Ons
-
Storing Data on Arweave | Learn
- How to Store Small Files on Arweave?
- What are Popular Arweave Bundling Services and SDKs?
- What are Popular Arweave Wallets?
-
Why should developers care about Arweave?| Learn
Task | Topic | Status |
---|---|---|
task1 | 6 Quizs for "Intro to Arweave" | Not Start |
task2 | 8 Quizs for "Intro to Arweave" | Not Start |
task3 | 9 Quizs for "Storing Data on Arweave" | Not Start |
Module 2: Basic development on Arweave
-
Access Data on Arweave | Learn
- How to Access Files on Arweave?
- How to Access Directories on Arweave?
- How to Find Files on Arweave With GraphQL?
- How to Find Files on Arweave With Subdomains?
-
Building a static website on Arweave | Learn
- Creating Your Website
- Deploying Your Website to Arweave
- Creating a Human-Friendly Name For Your Website
-
Build a Dapp on Arweave | Learn
- Creating the DApp
- Deploying the DApp
- Creating a Human-Friendly Name for the DApp
Task | Topic | Status |
---|---|---|
task4 | 6 Quizs for "Access Data on Arweave" | Not Start |
task5 | 6 Quizs for "Access Data on Arweave" | Not Start |
task6 | 6 Quizs for "Building a static website on Arweave" | Not Start |
task7 | 6 Quizs for "Building a static website on Arweave" | Not Start |
task8 | 6 Quizs for "Build a Dapp on Arweave" | Not Start |
task9 | 6 Quizs for "Build a Dapp on Arweave" | Not Start |
task10 | 6 Quizs for "Build a Dapp on Arweave" | Not Start |
Module 3: Introduction to AO (TBD)
Module 4: Connecting Arweave and AO (TBD)
The Practice section is designed for advanced developers. If you have extensive development experience, why not give it a try?
We will continuously release Practice challenges, and for each challenge, a Best Practice will be selected and merged to the awesome-ao repo. The winner will receive rewards sponsored by Forward Research.
How to submit the challenge:
- Create a
challenge1
folder undersubmissions/YourName
. - Copy the challenge1.md file into your
challenge1
folder. You can also create areadme.md
file to give an introduction about your code. - Submit a
PR
(Pull Request) to this repository. ⚠️ Each Challenge must be submitted separately. A singlePR
containing multiple Challenges will be closed directly.
Challenge | Type | Tag | Topic | Reward | Status |
---|---|---|---|---|---|
1 | Frondend | Arweave | File-based Routing | --- | --- |
2 | Frondend | Arweave | Static Site Generation | --- | --- |
3 | Frondend | Arweave | Client-Side Rendering | --- | --- |
4 | Frondend | Arweave | Hash-Based SPA Routing | --- | --- |