Skip to content

Commit

Permalink
markdown migration
Browse files Browse the repository at this point in the history
  • Loading branch information
wslyvh committed Jan 16, 2022
1 parent 41a4fc9 commit 8afc5b0
Show file tree
Hide file tree
Showing 31 changed files with 194 additions and 226 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).

# useWeb3

useWeb3 provides a curated overview of the best and latest resources on Ethereum, blockchain and Web3 development.
useWeb3 is a learning platform for developers to explore and learn about Web3. Whether you’re a new dev getting your hands dirty for the first time, or a seasoned developer making the transition into the Web3 space.

Explore the latest resources, tutorials, challenges, tools, courses and boilerplates and start learning. Once you’re ready, browse the job board to land a job at some of the leading companies that work on core, open-source infrastructure, products, tools, frameworks, DAO's, etc.

Explore. Learn. Build.

https://useweb3.xyz/
https://www.useweb3.xyz/

# Development

First, run the development server:
First, install all packages `yarn install` and then run the development server:

```bash
npm run dev
# or
yarn dev
```

Expand Down
2 changes: 1 addition & 1 deletion content/code-challenges/cipher-shastra.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Cipher Shastra"
description: "A Smart Contract Security Playground"
authors: ["@razzor_tweet"]
tags: ["Smart Contracts","DeFi","Cryptography","Security","Solidity"]
tags: ["Smart Contracts","DeFi","Cryptography","Security"]
languages: ["Solidity"]
url: "https://ciphershastra.com/"
dateAdded: 2021-09-18
Expand Down
2 changes: 1 addition & 1 deletion content/courses/introduction-to-tokens-in-ethereum.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Introduction to Tokens in Ethereum"
description: "Learn how to create tokens in the Ethereum Blockchain"
authors: ["@DefiAcademy","@EdsonAlcala"]
tags: ["DeFi","Tokens","NFT"]
tags: ["DeFi","NFT"]
languages: []
url: "https://www.defi-academy.com/courses/introduction-to-tokens"
dateAdded: 2021-10-07
Expand Down
2 changes: 1 addition & 1 deletion content/courses/ipfs-course.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "IPFS Course"
description: "In this course, we'll dive into the basics of cryptographic hashing and content addressing on the decentralized web with IPFS"
authors: ["@protoschool"]
tags: ["Storage","IPFS"]
tags: ["Storage"]
languages: []
url: "https://proto.school/course/ipfs"
dateAdded: 2021-09-23
Expand Down
3 changes: 2 additions & 1 deletion content/guides/beginners-guide-to-web3.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ title: "Beginners Guide to Web3"
description: 'This guide provides a starting point for developers who’re keen to learn more about Web3'
authors: ['@wslyvh']
level: Beginner
tags: ['Ethereum', 'Web3']
tags: ['Web3']
featured: true
date: 2020-07-07
dateAdded: 2022-01-15
---

Blockchain has emerged from the once shadowy world of cryptocurrency to become [the most in-demand skill in 2020](https://business.linkedin.com/talent-solutions/blog/trends-and-research/2020/most-in-demand-hard-and-soft-skills), according to LinkedIn. The promise of blockchain is huge. And large companies are continuing to hire and expand their blockchain teams, incl. Facebook, Amazon, Microsft, EY, Deloitte, IBM, and Oracle, to name a few. So, it should be well worth the effort to become familiar with how blockchain works, what its perceived benefits are, and as a developer starting building on top of them.
Expand Down
11 changes: 4 additions & 7 deletions content/guides/best-resources-to-learn-solidity.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
---
title: "Best resources to learn Solidity"
description: 'Solidity is a programming language designed for developing smart contracts that run on Ethereum. These are the best resources to learn more about it.'
description: "Solidity is a programming language designed for developing smart contracts that run on Ethereum. It's the most in demand skill in the Web3 space. These are the best resources to help you learn more about it."
authors: ['@wslyvh']
level: Beginner
tags: ['Ethereum', 'Web3']
tags: ['Web3']
featured: true
date: 2020-07-07
dateAdded: 2022-01-15
---

Solidity is a statically-typed curly-braces programming language designed for developing smart contracts that run on Ethereum.

## What is a smart contract?

A smart contract is a simple program that lives on decentralized blockchain network (such as Ethereum). They're actually not that smart. And nothing like a (legal) contract. They’re more like an executable piece of code that requires input or an trigger from an external source. They can validate those input conditions and if correct, execute their own logic to update the state on a blockchain.

If a blockchain is like a database then a smart contract is like a stored procedure.

## Benefits

They often serve the following purposes:
Expand Down Expand Up @@ -65,4 +62,4 @@ https://consensys.github.io/smart-contract-best-practices/

## Other resources

If you'd like to read more, make sure to checkout all the other [Solidity](https://www.useweb3.xyz/tags/solidity) resources on the site.
If you'd like to read more, make sure to checkout all the other [Solidity](/tags/smart%20contracts) resources on the site.
59 changes: 5 additions & 54 deletions content/guides/what-is-web3.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,19 @@ title: 'What is Web3'
description: 'Web3 is about the next evolution of the web. A web that is more open, transparent and decentralized.'
authors: ['@wslyvh']
level: Beginner
tags: ['Ethereum', 'Web3']
tags: ['Web3']
featured: true
date: 2022-01-22
dateAdded: 2022-01-15
---

Web3 is about the next evolution of the web. A web that is more open, transparent and permissionless and runs on decentralized infrastructure such as blockchains. Global and decentralized applications (DApps) that anyone can interact with. They often have native assets integrated (such as Ether) to transact value, but are not just about money or payments. These decentralized applications offer a range of digitial services, such as storage, bandwidth and computation without any risk of downtime, censorship, fraud, or 3rd-party interference.

## Benefits

**Open** - in that they are built from open-source software, by an open and accessible community of developers and executed in full view of the world.

**Trustless** - in that the network itself allows participants to interact publicly, or privately without a trusted third party

**Permissionless** - in that anyone, both users and suppliers, can participate without authorisation from a governing body
- **Open** - in that they are built from open-source software, by an open and accessible community of developers and executed in full view of the world.
- **Trustless** - in that the network itself allows participants to interact publicly, or privately without a trusted third party
- **Permissionless** - in that anyone, both users and suppliers, can participate without authorisation from a governing body


## Opportunities
Expand All @@ -43,51 +42,3 @@ Explore the latest resources, tutorials, challenges, tools, courses and boilerpl
- [Why decentralization matters](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e), Chris Dixon
- [What Is Web 3.0 & Why It Matters](https://medium.com/fabric-ventures/what-is-web-3-0-why-it-matters-934eb07f3d2b), Max Mersch and Richard Muirhead
- [What exactly is Web3?](https://youtu.be/l44z35vabvA), Juan Benet (VIDEO)


# 2. Ethereum 101

Now that we have an understanding where we're coming from, let's dive in a little bit deeper into the fundamental components & building blocks.

- [Bitcoin Whitepaper](https://bitcoin.org/bitcoin.pdf), Satoshi Nakamoto - the original whitepaper that started the current trend in blockchain technology: Bitcoin: A Peer-to-Peer Electronic Cash System
- [Ethereum Whitepaper](https://ethereum.org/en/whitepaper/), Vitalik Buterin - a next-generation smart contract & decentralized application platform
- [Ethereum Yellowpaper](https://ethereum.github.io/yellowpaper/paper.pdf), Gavin Wood - a more technical version of the Ethereum whitepaper
- [Smart Contracts](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html), Nick Szabo
- [Ethereum in 25 mins](https://youtu.be/mCzyDLanA7s) (VIDEO), Vitalik Buterin
- [How does Ethereum work, anyway](https://www.preethikasireddy.com/post/how-does-ethereum-work-anyway), Preethi Kasireddy
- [Mastering Ethereum](https://amzn.to/2VZvfz8) (BOOK), Andreas M. Antonopoulos, Gavin Wood. Or view on [Github](https://github.com/ethereumbook/ethereumbook)


# 3. Ethereum Development


Once you've gone through all (or at least most) of the above, you should have a solid grasp of all the concepts. So now we can finally move on to the fun part: actually building stuff!

To get a full, comprehensive overview of the Ethereum development landscape, check out:
- [Ethereum Developers](https://ethereum.org/en/developers/)
- [The full ConsenSys developer tool list](https://github.com/ConsenSys/ethereum-developer-tools-list)

The Ethereum portal covers sections per programming language, to help you filter out what's relevant for you. Though JavaScript is most commonly used, I'd start with something that you're already familiar with, to flatten the learning curve. Use the above only for future reference. As mentioned previously, I'm trying to keep it simple and offer a few recommended options, from my own experiences. Feel free to discover, try, and learn everything from the developer portals, once you've covered these.

## Courses
- [Blockchain Essentials: An introduction for non-developers](https://academy.b9lab.com/courses/course-v1:Blab+BEC-FREE+2018-08/about), B9lab Academy - a free introductory course that offers a high-level overview of blockchain technology for a non-technical audience. **NOTE** that if you're a developer you can probably skip this, as this will all be covered in the developer course.
- [Introduction to Ethereum for Developers](https://academy.b9lab.com/courses/B9lab/X16-0/2016/about), B9lab Academy - free Ethereum course gives you an overview of blockchain technology and covers the very basics of Ethereum. **NOTE** that the course is slightly outdated in terms of tools and ecosystem, but the basics and principles remain a good starting point.
- [Crypto startup school](https://a16z.com/crypto-startup-school/), a16z - incredible insight from people like Brian Armstrong from Coinbase, Robert Leshner from Compound, and Sam Williams from Arweave among others.
- [Blockchain and Money](https://ocw.mit.edu/courses/sloan-school-of-management/15-s12-blockchain-and-money-fall-2018/), MIT - This course is for students wishing to explore blockchain technology’s potential use - by entrepreneurs & incumbents - to change the world of money and finance. Watch on [Youtube](https://www.youtube.com/playlist?list=PLUl4u3cNGP63UUkfL0onkxF6MYgVa04Fn)

## Tutorials
- [Ethereum Studio](https://studio.ethereum.org/) (a web-based IDE, incl. templates)
- [Cryptozombies](https://cryptozombies.io/) (highly recommended), Loom
- [Ethernaut](https://ethernaut.openzeppelin.com/), OpenZeppelin
- [Learning Solidity](https://docs.openzeppelin.com/learn/), OpenZeppelin
- [Truffle Pet shop](https://www.trufflesuite.com/tutorials/pet-shop), Truffle Suite
- [Ultimate Introduction to Ethereum Dapp development](https://www.youtube.com/watch?v=rmtsh7Q7sbE&list=PLV1JDFUtrXpFh85G-Ddyy2kLSafaB9biQ), Decypher Media
- [ETH.build](https://eth.build/), [Austin Griffith](https://twitter.com/austingriffith)

## Boilerplates
- [create-eth-app](https://github.com/PaulRBerg/create-eth-app), [Paul Razvan Berg](https://twitter.com/PaulRBerg)
- [Scaffold ETH](http://scaffoldeth.io/), [Austin Griffith](https://twitter.com/austingriffith)
- [OpenZeppelin starter kits](https://openzeppelin.com/starter-kits/), OpenZeppelin
- [Truffle boxes](https://www.trufflesuite.com/boxes), Truffle Suite

Above should cover everything you need to write your own smart contracts and build decentralized applications on top of Ethereum.
2 changes: 1 addition & 1 deletion content/starter-kits/fullstack-monorepo-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Fullstack monorepo template"
description: "Full-stack dApp starter for solidity smart contract development"
authors: ["@nfs__21"]
tags: ["Solidity","Smart Contracts"]
tags: ["Smart Contracts","Dapp"]
languages: ["Solidity"]
url: "https://github.com/G3root/nextjs-dapp-starter-ts"
dateAdded: 2021-11-09
Expand Down
2 changes: 1 addition & 1 deletion content/tutorials/erc20-token-standard.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "ERC20 token standard"
description: "Understand the ERC20 token smart contract"
authors: ["@ethereumdevio"]
tags: ["Smart Contracts","Tokens"]
tags: ["DeFi","Smart Contracts"]
languages: []
url: "https://ethereumdev.io/understand-the-erc20-token-smart-contract/"
dateAdded: 2021-08-17
Expand Down
2 changes: 1 addition & 1 deletion content/tutorials/github-in-remix-ide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "GitHub in Remix IDE"
description: "Remix release v0.18.0 now includes full support for a plugin called dGIT that allows you to interact with GitHub as if you were doing it on your terminal or in VSCode."
authors: ["@EthereumRemix","@bunsenstraat"]
tags: ["IDE"]
tags: ["DevEx"]
languages: ["Solidity"]
url: "https://medium.com/remix-ide/github-in-remix-ide-356de378f7da"
dateAdded: 2021-09-25
Expand Down
13 changes: 0 additions & 13 deletions content/tutorials/lodestar-setup-guide.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: "The Architecture of a Web 3.0 application"
description: "The architecture of Web 3.0 applications (or 'DApps") are completely different from Web 2.0 applications."
description: "The architecture of Web 3.0 applications (or 'DApps') are completely different from Web 2.0 applications."
authors: ["@iam_preethi"]
tags: ["Architecture","Dapp"]
tags: ["DevEx","Dapp"]
languages: []
url: "https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application"
dateAdded: 2021-11-15
Expand Down
2 changes: 1 addition & 1 deletion content/tutorials/uniswap-v2-code-walk-through.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Uniswap v2 Code walk-through"
description: "Uniswap v2 can create an exchange market between any two ERC-20 tokens. In this article we will go over the source code for the contracts that implement this protocol."
authors: ["@ori_pomerantz"]
tags: ["Smart Contracts","Tokens"]
tags: ["DeFi","Smart Contracts"]
languages: ["Solidity"]
url: "https://ethereum.org/en/developers/tutorials/uniswap-v2-annotated-code/"
dateAdded: 2021-11-15
Expand Down
2 changes: 1 addition & 1 deletion content/videos/publish-your-nft-on-opensea.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Publish your NFT on OpenSea"
description: "How to mint NFT and publish it on OpenSea using ERC1155 smart contract"
authors: ["@ArtiChmaro"]
tags: ["Smart Contracts","NFT","IPFS"]
tags: ["Smart Contracts","NFT","Storage"]
languages: ["Solidity"]
url: "https://youtu.be/J4p1sdo3Rz4"
dateAdded: 2021-09-24
Expand Down
2 changes: 1 addition & 1 deletion content/websites/ethfiddle.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "EthFiddle"
description: "Solidity IDE in the browser"
authors: ["@loomnetwork"]
tags: ["IDE"]
tags: ["DevEx"]
languages: ["Solidity"]
url: "https://ethfiddle.com/"
dateAdded: 2021-09-25
Expand Down
10 changes: 5 additions & 5 deletions src/components/sitenav.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,28 +25,28 @@ export function Sitenav(props: Props) {
</li>
{categories.map(i => {
return (
<li key={i.id} className={currentPath === `/${i.id}` ? styles.active :""}>
<li key={i.id} className={currentPath.includes(`/${i.id}`) ? styles.active : ''}>
<Link href={`/${i.id}`}>
<span role="img" aria-label={i.id}>{i.emoji}</span>
<span className={styles.text}>{i.title}</span>
</Link>
</li>
)
})}
<li className={currentPath === "/jobs" ? styles.active :""}>
<li className={currentPath.includes('/jobs') ? styles.active : ''}>
<Link href={'/jobs'}>
<span role="img" aria-label="jobs">💼</span>
<span className={styles.text}>Jobs</span>
</Link>
</li>
<li className={currentPath === "/tags" ? styles.active :""}>
<li className={currentPath.includes('/tags') ? styles.active : ''}>
<Link href={'/tags'}>
<span role="img" aria-label="tags">🏷️</span>
<span className={styles.text}>Tags</span>
</Link>
</li>
<li className={currentPath === "/submit" ? styles.active :""}>
<Link href={'/submit'}>
<li>
<Link href='https://github.com/wslyvh/useWeb3/tree/main/content'>
<span role="img" aria-label="submit">🔗</span>
<span className={styles.text}>Submit</span>
</Link>
Expand Down
10 changes: 5 additions & 5 deletions src/pages/[category].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ import { Main as MainLayout } from 'components/layouts/main'
import { ContentItem } from 'types/content-item'
import { Featured } from 'components/featured'
import { Card } from 'components/card'
import { AirtableItemService } from 'services/airtable'
import { Category } from 'types/category'
import { NavigationProvider } from 'context/navigation'
import { SEO } from 'components/SEO'
import { DEFAULT_REVALIDATE_PERIOD } from 'utils/constants'
import { Dropdown } from 'components/dropdown'
import styles from './pages.module.scss'
import { MarkdownContentService } from 'services/content'

interface Props {
categories: Array<Category>
Expand All @@ -26,7 +26,7 @@ interface Params extends ParsedUrlQuery {
export default function Index(props: Props) {
const [items, setItems] = useState<Array<ContentItem>>([])
useEffect(() => {
let sorted = [...props.items].sort((a, b) => a.created > b.created ? 1 : a.created === b.created ? 0 : -1).reverse()
let sorted = [...props.items].sort((a, b) => a.dateAdded > b.dateAdded ? 1 : a.dateAdded === b.dateAdded ? 0 : -1).reverse()
setItems(sorted)
}, [props.items])

Expand All @@ -37,7 +37,7 @@ export default function Index(props: Props) {
function onSort(value: string) {
let sorted = [...items]
if (value === 'Recently added') {
sorted = sorted.sort((a, b) => a.created > b.created ? 1 : a.created === b.created ? 0 : -1).reverse()
sorted = sorted.sort((a, b) => a.dateAdded > b.dateAdded ? 1 : a.dateAdded === b.dateAdded ? 0 : -1).reverse()
}
if (value === 'Title') {
sorted = sorted.sort((a, b) => a.title > b.title ? 1 : a.title === b.title ? 0 : -1)
Expand Down Expand Up @@ -91,7 +91,7 @@ export default function Index(props: Props) {
}

export const getStaticPaths: GetStaticPaths = async () => {
const service = new AirtableItemService()
const service = new MarkdownContentService()
const categories = await service.GetCategories()

return {
Expand All @@ -113,7 +113,7 @@ export const getStaticProps: GetStaticProps<Props, Params> = async (context) =>
}
}

const service = new AirtableItemService()
const service = new MarkdownContentService()
const category = await service.GetCategory(categoryId)
if (!category) {
return {
Expand Down
Loading

0 comments on commit 8afc5b0

Please sign in to comment.