Skip to content

Commit

Permalink
Arweave 201: Gating Hosting - Lesson 1
Browse files Browse the repository at this point in the history
* feat: arweave lesson 5 init

* (chore) Clean up Arweave 101 - Lesson 5

* feat: adding meta image for dapp course

* feat: adding final quiz

* fix: updating correct meta image

* feat: Arweave 201 - Gateway Hosting

* feat: init arweave 201, L0&1

* chore: removing arweave 101 L1 and renaming arweave 201 L1

* chore: adding track index page and creating files for meta images

* feat: adding quiz component

* feat: updating quiz components for T1L5 and T2L1

* chore: adding figure for Arweave 201 L1

* chore: updating arweave 201 meta image

* chore: adding meta image for arweave T2L1

* chore: updating final quiz files

* chore: formatting the json in body

---------

Co-authored-by: wolovim <3621728+wolovim@users.noreply.github.com>

---------

Co-authored-by: wolovim <3621728+wolovim@users.noreply.github.com>
Co-authored-by: K <kay-is@users.noreply.github.com>
  • Loading branch information
3 people authored Jul 31, 2024
1 parent 883ced7 commit 7346429
Show file tree
Hide file tree
Showing 39 changed files with 1,116 additions and 0 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added apps/academy/public/track-arweave-201.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 20 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-1/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"question": "What is Arweave?",
"options": [
{
"answer": "A layer 1 network",
"correct": true
},
{
"answer": "A layer 2 network"
},
{
"answer": "Like Bitcoin for storage",
"correct": true
},
{
"answer": "Immutable object storage",
"correct": true
}
]
}
19 changes: 19 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-1/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"question": "What features does Arweave have?",
"options": [
{
"answer": "Censorship resistance",
"correct": true
},
{
"answer": "Global replication",
"correct": true
},
{
"answer": "Temporary storage"
},
{
"answer": "Automatic encryption"
}
]
}
20 changes: 20 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-1/Q3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"question": "What data can you store on Arweave?",
"options": [
{
"answer": "Music and videos",
"correct": true
},
{
"answer": "Images and text",
"correct": true
},
{
"answer": "Single page applications",
"correct": true
},
{
"answer": "Server-side rendered websites"
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-2/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "Where does Arweave store files?",
"options": [
{
"answer": "Everything is stored in the transaction object"
},
{
"answer": "The transaction object can contain files smaller than 12MiB",
"correct": true
},
{
"answer": "Files bigger than 12MiB have a separate storage location",
"correct": true
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-2/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "How does Arweave’s consensus algorithm ensure permanent storage?",
"options": [
{
"answer": "By requiring miner nodes to prove access to random chunks of uploaded data",
"correct": true
},
{
"answer": "By incentivizing miner nodes to share data",
"correct": true
},
{
"answer": "By encrypting transaction bodies before upload"
}
]
}
19 changes: 19 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-2/Q3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"question": "What responsibilities do miner nodes have?",
"options": [
{
"answer": "Data storage",
"correct": true
},
{
"answer": "Data replication",
"correct": true
},
{
"answer": "Data access"
},
{
"answer": "Data encoding"
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-3/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "What are parts of the SPoRA consensus algorithm?",
"options": [
{
"answer": "Computing a hash",
"correct": true
},
{
"answer": "Proving access to random chunks of uploaded data",
"correct": true
},
{
"answer": "Locking sectors of a block storage"
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-3/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "How can you remove data from Arweave?",
"options": [
{
"answer": "By sending a do-not-store request",
"correct": true
},
{
"answer": "You can’t enforce removal",
"correct": true
},
{
"answer": "By forking the chain"
}
]
}
19 changes: 19 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-3/Q3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"question": "How does Arweave ensure continuous payment for its storage?",
"options": [
{
"answer": "It has a storage endowment to save tokens for later",
"correct": true
},
{
"answer": "Its token economics are based on future storage cost estimates",
"correct": true
},
{
"answer": "It gives each miner node one Bitcoin"
},
{
"answer": "It requires continuous payments."
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-4/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "What are the Arweave transaction types?",
"options": [
{
"answer": "L1 transactions",
"correct": true
},
{
"answer": "Bundled transactions",
"correct": true
},
{
"answer": "Volatile transactions"
}
]
}
20 changes: 20 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-4/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"question": "What are the properties of L1 transactions?",
"options": [
{
"answer": "They are relatively slow",
"correct": true
},
{
"answer": "They can transfer AR tokens",
"correct": true
},
{
"answer": "They can be paid with fiat currency"
},
{
"answer": "They can have custom tags",
"correct": true
}
]
}
20 changes: 20 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-4/Q3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"question": "What are the properties of bundled transactions?",
"options": [
{
"answer": "They are relatively fast",
"correct": true
},
{
"answer": "They can be paid with fiat currency",
"correct": true
},
{
"answer": "They can transfer AR tokens"
},
{
"answer": "They can have custom tags",
"correct": true
}
]
}
19 changes: 19 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-5/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"question": "What are Arweave's pros compared to cloud storage?",
"options": [
{
"answer": "One-time payment",
"correct": true
},
{
"answer": "Strong provenance guarantees",
"correct": true
},
{
"answer": "Temporary storage"
},
{
"answer": "Cheap storage"
}
]
}
19 changes: 19 additions & 0 deletions apps/academy/src/data/questions/arweave-201/1/quiz-5/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"question": "What are Arweave’s pros compared to popular blockchain networks?",
"options": [
{
"answer": "Cheap permanent storage",
"correct": true
},
{
"answer": "The protocol handles storage and replication",
"correct": true
},
{
"answer": "Temporary storage"
},
{
"answer": "Fast L1 transactions"
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-201/2/quiz-1/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "What types of Arweave nodes exist?",
"options": [
{
"answer": "Miner nodes.",
"correct": true
},
{
"answer": "Gateway nodes.",
"correct": true
},
{
"answer": "Swap nodes."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-201/2/quiz-1/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "How are AR.IO gateway operators incentivized?",
"options": [
{
"answer": "With IO tokens generated from ArNS sales.",
"correct": true
},
{
"answer": "With Arweave's native AR token."
},
{
"answer": "They do it for the greater good."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-201/2/quiz-1/Q3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "How are AR.IO gateways implemented?",
"options": [
{
"answer": "They are Node.js containers running on Docker Compose.",
"correct": true
},
{
"answer": "They use Java Server Pages and Nginx."
},
{
"answer": "They are written in Rust."
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-201/2/quiz-2/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "Which files do you need to start an AR.IO gateway?",
"options": [
{
"answer": "The docker-compose.yaml.",
"correct": true
},
{
"answer": "An .env file.",
"correct": true
},
{
"answer": "A MAKE file."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-201/2/quiz-2/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "Why should you not start the writer processes?",
"options": [
{
"answer": "Because they will start indexing the whole chain, which can take weeks.",
"correct": true
},
{
"answer": "Because you have to pay for each byte downloaded from Arweave."
},
{
"answer": "Because they will mine Bitcoin on your machine."
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-201/2/quiz-2/Q3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "Why do you need to set a trusted node?",
"options": [
{
"answer": "The trusted node is your entry to the Arweave network.",
"correct": true
},
{
"answer": "The trusted node will resolve all data your gateway hasn't indexed/cached yet.",
"correct": true
},
{
"answer": "The trusted node will help you encrypting uploaded data."
}
]
}
12 changes: 12 additions & 0 deletions apps/academy/src/data/questions/arweave-201/2/quiz-3/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"question": "Why do you need to stop the gateway explicitly?",
"options": [
{
"answer": "Because Docker Compose will run the gateway in the background.",
"correct": true
},
{
"answer": "You don't have to stop it, it will stop automatically after 5 minutes."
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-201/2/quiz-3/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "Why should you enable HTTPS for your server?",
"options": [
{
"answer": "Because some browser APIs don't work without HTTPS.",
"correct": true
},
{
"answer": "To prevent third-parties from reading your users data.",
"correct": true
},
{
"answer": "To save traffic."
}
]
}
Loading

0 comments on commit 7346429

Please sign in to comment.