Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hot fix - Arweave 201 - Lesson 2 #275

Merged
merged 16 commits into from
Aug 15, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
feat: arweave lesson 5 init
  • Loading branch information
wolovim committed Jul 3, 2024
commit 60ecf914a567361436c251ebefbdd22aaa634859
17 changes: 17 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-1/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"question": "What are the properties of SPAs?",
"options": [
{
"answer": "You can use them without installation.",
"correct": true
},
{
"answer": "They are platform independent.",
"correct": true
},
{
"answer": "They execute and rener inside the browser.",
"correct": true
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-1/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "Why are SPAs a good fit for Arweave?",
"options": [
{
"answer": "As gateways only deliver static files, code must run on the client.",
"correct": true
},
{
"answer": "Clint-side rendering scales better as server don’t have to execute any logic.",
"correct": true
},
{
"answer": "They don’t require any JavaScript on the client."
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-1/Q3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "What can SPAs do that static websites can’t?",
"options": [
{
"answer": "Include data that isn’t available at build time.",
"correct": true
},
{
"answer": "Render faster."
},
{
"answer": "Enable complex user interactions.",
"correct": true
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-2/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "Where in this project do you write data to Arweave?",
"options": [
{
"answer": "In Node.js, to deploy the DApp.",
"correct": true
},
{
"answer": "In the browser, when creating and updating articles.",
"correct": true
},
{
"answer": "On th server, when pre-rendering the articles."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-2/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "Why is the storage utility split into two files?",
"options": [
{
"answer": "For efficiency, because the writing functionality requires many libraries and readers don’t need them.",
"correct": true
},
{
"answer": "For security, because nobody should be able to write articles on your blog."
},
{
"answer": "For stability, because some dependencies are very buggy and you don’t want the DApp to crash."
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-2/Q3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "Why do you need custom tags?",
"options": [
{
"answer": "To improve the discoverability of your uploaded files.",
"correct": true
},
{
"answer": "To tell the gateways what type of file is in the transaction body.",
"correct": true
},
{
"answer": "To enable compression of the uploaded files."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-2/Q4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "How does your blog update articles if data on Arweave is immutable?",
"options": [
{
"answer": "It creates a transaction with a new article version and only displays the latest versions.",
"correct": true
},
{
"answer": "It sends an UPDATE transaction to Arweave which circumvents the immutability."
},
{
"answer": "It doesn’t, you can only create new articles."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-2/Q5.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "Can you filter GraphQL queries by the content of the transaction body?",
"options": [
{
"answer": "No because transaction bodies can have an arbitrary size and format.",
"correct": true
},
{
"answer": "Yes because gateways can parse transaction bodies."
},
{
"answer": "Yes but only for transaction bodies that contain JSON."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-2/Q6.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "How do you retrieve the article content?",
"options": [
{
"answer": "With the TXID and the gateway’s data endpoint.",
"correct": true
},
{
"answer": "Via tags and a GraphQL query."
},
{
"answer": "With Websockets and the article ID."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-3/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "Why should you lazy-load some routes of your DApp?",
"options": [
{
"answer": "Because not all functionality is used by all users.",
"correct": true
},
{
"answer": "Because having all code in one file leads to bugs."
},
{
"answer": "Because gateways can’t deliver files bigger than 100 KiB."
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-3/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "Why should you define your bundle chunks manually?",
"options": [
{
"answer": "Chunk uploads under 100 KiB are free.",
"correct": true
},
{
"answer": "It reduces storage costs by using chunks that are already on Arweave.",
"correct": true
},
{
"answer": "Polyfill performance decreases with chunk size."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-3/Q3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "Why should you test your DApp with a regular web server before uploading it to Arweave?",
"options": [
{
"answer": "Web servers behave more similarly to Arweave gateways than dev servers, which include hot reloading and other features.",
"correct": true
},
{
"answer": "Web servers are faster in packaging your bundles for responses."
},
{
"answer": "Dev servers aren’t open source."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-4/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "Why do you need Turbo Credits?",
"options": [
{
"answer": "To upload files to Arweave that are bigger than 100 KiB.",
"correct": true
},
{
"answer": "To improve gateway delivery performance."
},
{
"answer": "To bribe Sam Williams."
}
]
}
16 changes: 16 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-4/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"question": "How does the deployment script detect changed files?",
"options": [
{
"answer": "The file names contain hashes that change when their content changes.",
"correct": true
},
{
"answer": "The script can diff the current file names with the ones in the path manifest of the previous deployment.",
"correct": true
},
{
"answer": "The script does integrity checks on the files."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-4/Q3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "Why do you have to set a base in the Vite configuration?",
"options": [
{
"answer": "To ensure Vite generates relative URLs.",
"correct": true
},
{
"answer": "To hide admin features from users."
},
{
"answer": "To improve build performance."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-5/Q1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "Why do you need the ANT process ID to update your ArNS name?",
"options": [
{
"answer": "The ANT process controls the ArNS name.",
"correct": true
},
{
"answer": "The ANT process handles your Turbo Credits."
},
{
"answer": "Without the ANT process your change would be auctioned to the highest bidder."
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-5/Q2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "What’s the undername of the root record of an ArNS name?",
"options": [
{
"answer": "@",
"correct": true
},
{
"answer": "#"
},
{
"answer": "ꙮ"
}
]
}
15 changes: 15 additions & 0 deletions apps/academy/src/data/questions/arweave-101/5/quiz-5/Q3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"question": "Under which URL scheme is your DApp available after you point an ArNS name to its TXID?",
"options": [
{
"answer": "https://<ARNS_NAME>.<GATEWAY_HOSTNAME>/",
"correct": true
},
{
"answer": "https://<GATEWAY_HOSTNAME>/<ARNS_NAME>/"
},
{
"answer": "https://<GATEWAY_HOSTNAME>.<ARNS_NAME>/"
}
]
}
Loading