ethereum / ethereum-org-website

Ethereum.org is a primary online resource for the Ethereum community.
https://ethereum.org/
MIT License
5.04k stars 4.78k forks source link

Categorising Tutorial Tags: Framing Web3 Technologies - Suggestions Wanted #9063

Closed 0xKai27 closed 3 months ago

0xKai27 commented 1 year ago

Description

Related to the Q4 2022 roadmap (Epic #8491) and PR #8631 , propose the following changes to the tutorial tags for better clarity.

The main goal is to abstract specific implementations and categorise according to concepts for better contextualisation of specific use cases. As categorical names are constantly evolving with the industry, it is envisioned that the list below is sufficiently generalised to function as a framework to approach the tutorials. If implemented, it is expected that there will be a guide page specifically on how these categories are determined.

This issue was created with the intention of standardising tags and by extension, categorical standards in the Web3 space. As such, the below acts as guide points for the community to arrive at a preferred conceptual framework.

Proposed List:

BLOCKCHAIN ANALYSIS

BRIDGES

CLIENT LIBRARIES

DAO

DEFI

DESO

DEV TOOLS

GAMING

HARDWARE

LAYER 2

METAVERSE

NFT

ORACLES

PRIVACY

PROTOCOL

STORAGE

TOKEN STANDARDS

WALLETS

Other Considerations

Related Issues

8491

8631

corwintines commented 1 year ago

This is a great idea! Will bring this up with the team to get a bit more input, but this is a direction I think makes sense to go with for tagging tutorials.

wackerow commented 1 year ago

Thanks for posting @0xKai27! Appreciate the well thought out proposal.

Overall I really like what you've laid out. I do think the current tags are far too messy, and we need a way to trim these down.

I would be really curious to see how our current tutorials would look if these tags were to be applied. As the tutorials stand, they live specifically as "developer tutorials". As such, I do wonder if being a little more granular with some of these could be beneficial, such as expanding out "Dev Tools", or "Client Libraries"

I also suspect a handful of these, such as Metaverse, Gaming, Hardware, would probably be fairly low usage.

Curious what others think, but I think with a few small adjustments this would likely be a nice upgrade for user experience.

0xKai27 commented 1 year ago

Definitely agree with your sentiment on the granularity of the "developer tutorials" related tags. I think the tricky part here is the level of assumed knowledge that a reader will have with regards to the Ethereum stack.

In the optimistic scenario (i.e. they've read through the ethereum.org getting started, etc.), breaking down the toolings based on the below would definitely have more value add:

Will likely also have to arrive a decision while taking into account how the "User Guides" (#8757) will relate to these tutorials. For example, if "Developer Tutorials" and "User Guides" flow is separate, we can maintain a more narrow set of tags specific to developer content. Additionally, this will also reduce the confusion for non-developer personas.

corwintines commented 1 year ago

I agree with this, removing project-specific tags for something more general is a great idea. I think a start we can have for this could be:

If there are any others you think would be fitting @0xKai27, then I think we can test them out and see on review. I do think there are going to be some tags suggested here which won't have a place at the moment as @wackerow mentioned, but leaving what I think will be high impact for now.

What do you suggest for next steps? Would you like to work on going through the tutorials and updating these tags?

0xKai27 commented 1 year ago

Yeah, I can run through the tutorials and categorize them accordingly. Will collate them here first as a comment then we can discuss further whether the above tags are sufficient.

0xKai27 commented 1 year ago

First run of categorising the tutorials according to the tags suggested:

Tutorial Tags
All you can cache Smart Contract, Storage, Layer 2
ERC-20 with Safety Rails Smart Contract, DeFi
HOW TO TURN YOUR RASPBERRY PI 4 INTO A NODE JUST BY FLASHING THE MICROSD CARD Protocol, Clients
Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript DeFi, Dev Tools, DAO, NFT, Client Libraries, Smart Contract, UI, Oracle, Blockchain Analytics
UNDERSTANDING THE YELLOW PAPER'S EVM SPECIFICATIONS Protocol
How to develop an NFT Smart Contract (ERC721) with Alchemy Dev Tools, NFT, Client Libraries, Smart Contract
SHORT ABIS FOR CALLDATA OPTIMIZATION Layer 2, Protocol
OPTIMISM STANDARD BRIDGE CONTRACT WALKTHROUGH Layer 2, Bridges
Intro to Foundry Smart Contract, Dev Tools
How to build an on-chain DAO Smart Contract, DAO
How to build an on-chain DAO Smart Contract, DAO
How to Connect your Smart Contracts to Metamask Smart Contract, Client Libraries, Dev Tools
FullStack Web3 — Everything You Need to Know Client Libraries, UI,
MERKLE PROOFS FOR OFFLINE DATA INTEGRITY Protocol, Storage
REVERSE ENGINEERING A CONTRACT Protocol, Smart Contract
Events and Logging in Solidity Protocol, Smart Contract, Dev Tools
How to Become a Blockchain Engineer More of a process guide
HELLO WORLD SMART CONTRACT FOR BEGINNERS - FULLSTACK Smart Contract, Dev Tools, Client Libraries, Blockchain Analytics
What is Multicall Smart Contract, Client Libraries
NFT MINTER TUTORIAL Smart Contract, NFT, Storage, UI
Solidity, Blockchain, and Smart Contract Course Protocol, Smart Contract, DeFi, NFT, Client Libraries, Oracle, DAO, Blockchain Analytics,
How to make NFT Art with On-Chain Metadata Smart Contract, NFT, Oracle,
The Complete Guide to Full Stack Ethereum and EVM Development Smart Contract, Dev Tools, Client Libraries
Decentralized Staking App More of a step-by-step challenge rather than a guide?
Simple NFT Example Smart Contract, NFT, UI
HOW TO SET UP TELLOR AS YOUR ORACLE Smart Contract, Oracle
Leveraged Trading in DeFi Dev Tools, DeFi
[Hardhat's tutorial for beginners](https://hardhat.org/tutorial#hardhat's-tutorial-for-beginners) Dev Tools, Smart Contract
Aave Flash Loan Tutorial DeFi, Smart Contract, Dev Tools
Create your own Blockchain ERC20 Token Smart Contract, Dev Tools
LEARN FOUNDATIONAL ETHEREUM TOPICS WITH SQL Blockchain Analytics, Protocol
NFT/ERC-721/Collectible TUTORIAL NFT, Smart Contract, Dev Tools, Storage
UNISWAP-V2 CONTRACT WALK-THROUGH Smart Contract, DeFi
Upgrading your Smart Contracts Smart Contract, Protocol, Dev Tools
HOW TO MINT AN NFT (PART 2/3 OF NFT TUTORIAL SERIES) Smart Contract, NFT, Client Libraries
HOW TO VIEW YOUR NFT IN YOUR WALLET (PART 3/3 OF NFT TUTORIAL SERIES) NFT, UI
HOW TO WRITE & DEPLOY AN NFT (PART 1/3 OF NFT TUTORIAL SERIES) Smart Contract, Dev Tools, NFT
SENDING TOKENS USING ETHERS.JS Client Libraries
VYPER ERC-721 CONTRACT WALKTHROUGH NFT, Smart Contract
HELLO WORLD SMART CONTRACT FOR BEGINNERS Smart Contract, Dev Tools, Client Libraries, Blockchain Analytics
ERC-20 CONTRACT WALK-THROUGH `Smart Contract
TESTING SIMPLE SMART CONTRACT WITH WAFFLE LIBRARY Smart Contract, Dev Tools
MONITORING GETH WITH INFLUXDB AND GRAFANA Client
How to Fetch the Current Price of Ethereum in Solidity Smart Contract, Oracle
CREATE AND DEPLOY A DEFI APP Smart Contract, Dev Tools
USING WEBSOCKETS Client Libraries
WAFFLE: DYNAMIC MOCKING AND TESTING CONTRACT CALLS Smart Contract, Dev Tools
SENDING TRANSACTIONS USING WEB3 Client Libraries,
GETTING STARTED WITH ETHEREUM DEVELOPMENT Client Libraries, Dev Tools
WAFFLE SAY HELLO WORLD TUTORIAL WITH HARDHAT AND ETHERS Dev Tools, Client Libraries, Smart Contract
TESTING ERC-20 TOKENS WITH WAFFLE Smart Contracts, Dev Tools
A PYTHON DEVELOPER'S INTRODUCTION TO ETHEREUM, PART 1 Client Libraries, Protocol
A GUIDE TO SMART CONTRACT SECURITY TOOLS Dev Tools, Smart Contracts
SMART CONTRACT SECURITY CHECKLIST Smart Contract
SMART CONTRACT SECURITY GUIDELINES Smart Contract
THE GRAPH: FIXING WEB3 DATA QUERYING Blockchain Analytics, Client Libraries
TOKEN INTEGRATION CHECKLIST Smart Contracts
DOWNSIZING CONTRACTS TO FIGHT THE CONTRACT SIZE LIMIT Smart Contract, Storage
HOW TO USE SLITHER TO FIND SMART CONTRACT BUGS Smart Contract, Dev Tools
SOLIDITY AND TRUFFLE CONTINUOUS INTEGRATION SETUP Dev Tools
HOW TO MOCK SOLIDITY SMART CONTRACTS FOR TESTING Smart Contract, Dev Tools
KICKSTART YOUR DAPP FRONTEND DEVELOPMENT WITH CREATE-ETH-APP Client Libraries, UI
CALLING A SMART CONTRACT FROM JAVASCRIPT Client Libraries
SET UP WEB3.JS TO USE THE ETHEREUM BLOCKCHAIN IN JAVASCRIPT Client Libraries
HOW TO USE ECHIDNA TO TEST SMART CONTRACTS Dev Tools, Smart Contract
TRANSFERS AND APPROVAL OF ERC-20 TOKENS FROM A SOLIDITY SMART CONTRACT Smart Contracts
INTERACT WITH OTHER CONTRACTS FROM SOLIDITY Smart Contract, Dev Tools
UNDERSTAND THE ERC-20 TOKEN SMART CONTRACT Smart Contract
DEPLOYING YOUR FIRST SMART CONTRACT Smart Contract, Dev Tools
LOGGING DATA FROM SMART CONTRACTS WITH EVENTS Smart Contract, Protocol
HOW TO IMPLEMENT AN ERC-721 MARKET Smart Contract
HOW TO USE MANTICORE TO FIND BUGS IN SMART CONTRACTS Smart Contract, Dev Tools

Some comments:

github-actions[bot] commented 1 year ago

This issue is stale because it has been open 45 days with no activity.

corwintines commented 1 year ago

Hey @0xKai27,

Overall like your thinking here. MY main concern like you had mentioned is the smart contract tag. It is very overused as you mentioned, and doesn't serve much of a purpose if basically everything has it. I think we maybe just get rid of it for now and see how it goes? Let me know what you think. I left some changes to the table you provided with this, and adding a few tags that I felt were missing, or removed ones that seemed unnecessary.

Tutorial Tags
All you can cache Storage, Layer 2
ERC-20 with Safety Rails Token standard
HOW TO TURN YOUR RASPBERRY PI 4 INTO A NODE JUST BY FLASHING THE MICROSD CARD Protocol, Clients
Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript DeFi, Dev Tools, DAO, NFT, Client Libraries, Smart Contract, UI, Oracle, Blockchain Analytics
UNDERSTANDING THE YELLOW PAPER'S EVM SPECIFICATIONS Protocol
How to develop an NFT Smart Contract (ERC721) with Alchemy Dev Tools, NFT, Client Libraries, Smart Contract
SHORT ABIS FOR CALLDATA OPTIMIZATION Layer 2, Protocol
OPTIMISM STANDARD BRIDGE CONTRACT WALKTHROUGH Layer 2, Bridges
Intro to Foundry Dev Tools
How to build an on-chain DAO DAO
How to build an on-chain DAO DAO
How to Connect your Smart Contracts to Metamask Client Libraries, Dev Tools, UI
FullStack Web3 — Everything You Need to Know Client Libraries, UI, Dev Tools
MERKLE PROOFS FOR OFFLINE DATA INTEGRITY Protocol, Storage
REVERSE ENGINEERING A CONTRACT Protocol, Smart Contract
Events and Logging in Solidity Dev Tools
How to Become a Blockchain Engineer More of a process guide, agree with take here, this should be removed at this point I think
HELLO WORLD SMART CONTRACT FOR BEGINNERS - FULLSTACK Dev Tools, Client Libraries, UI
What is Multicall Client Libraries
NFT MINTER TUTORIAL NFT, Storage, UI
Solidity, Blockchain, and Smart Contract Course Protocol, DeFi, NFT, Client Libraries, Oracle, DAO, Blockchain Analytics
How to make NFT Art with On-Chain Metadata NFT, Oracle,
The Complete Guide to Full Stack Ethereum and EVM Development Dev Tools, Client Libraries
Decentralized Staking App More of a step-by-step challenge rather than a guide? Agree here, should remove.
Simple NFT Example NFT, UI
HOW TO SET UP TELLOR AS YOUR ORACLE Oracle
Leveraged Trading in DeFi Dev Tools, DeFi
[Hardhat's tutorial for beginners](https://hardhat.org/tutorial#hardhat's-tutorial-for-beginners) Dev Tools
Aave Flash Loan Tutorial DeFi
Create your own Blockchain ERC20 Token Token standards
LEARN FOUNDATIONAL ETHEREUM TOPICS WITH SQL Blockchain Analytics, Protocol
NFT/ERC-721/Collectible TUTORIAL NFT, Dev Tools, Storage
UNISWAP-V2 CONTRACT WALK-THROUGH Smart Contract, DeFi
Upgrading your Smart Contracts Smart Contract, Protocol, Dev Tools
HOW TO MINT AN NFT (PART 2/3 OF NFT TUTORIAL SERIES) NFT, Client Libraries
HOW TO VIEW YOUR NFT IN YOUR WALLET (PART 3/3 OF NFT TUTORIAL SERIES) NFT, UI
HOW TO WRITE & DEPLOY AN NFT (PART 1/3 OF NFT TUTORIAL SERIES) Dev Tools, NFT
SENDING TOKENS USING ETHERS.JS Client Libraries
VYPER ERC-721 CONTRACT WALKTHROUGH NFT
HELLO WORLD SMART CONTRACT FOR BEGINNERS Dev Tools, Client Libraries
ERC-20 CONTRACT WALK-THROUGH Token standards
TESTING SIMPLE SMART CONTRACT WITH WAFFLE LIBRARY Dev Tools
MONITORING GETH WITH INFLUXDB AND GRAFANA Client
How to Fetch the Current Price of Ethereum in Solidity Oracle
CREATE AND DEPLOY A DEFI APP Dev Tools
USING WEBSOCKETS Client Libraries
WAFFLE: DYNAMIC MOCKING AND TESTING CONTRACT CALLS Dev Tools, Testing
SENDING TRANSACTIONS USING WEB3 Client Libraries
GETTING STARTED WITH ETHEREUM DEVELOPMENT Client Libraries, Dev Tools
WAFFLE SAY HELLO WORLD TUTORIAL WITH HARDHAT AND ETHERS Dev Tools, Client Libraries, Testing
TESTING ERC-20 TOKENS WITH WAFFLE Testing, Dev Tools
A PYTHON DEVELOPER'S INTRODUCTION TO ETHEREUM, PART 1 Client Libraries, Protocol
A GUIDE TO SMART CONTRACT SECURITY TOOLS Dev Tools, Security
SMART CONTRACT SECURITY CHECKLIST Security
SMART CONTRACT SECURITY GUIDELINES Security
THE GRAPH: FIXING WEB3 DATA QUERYING Blockchain Analytics, Client Libraries
TOKEN INTEGRATION CHECKLIST Security
DOWNSIZING CONTRACTS TO FIGHT THE CONTRACT SIZE LIMIT Storage
HOW TO USE SLITHER TO FIND SMART CONTRACT BUGS Dev Tools, Security
SOLIDITY AND TRUFFLE CONTINUOUS INTEGRATION SETUP Dev Tools
HOW TO MOCK SOLIDITY SMART CONTRACTS FOR TESTING Dev Tools, Testing
KICKSTART YOUR DAPP FRONTEND DEVELOPMENT WITH CREATE-ETH-APP Client Libraries, UI
CALLING A SMART CONTRACT FROM JAVASCRIPT Client Libraries
SET UP WEB3.JS TO USE THE ETHEREUM BLOCKCHAIN IN JAVASCRIPT Client Libraries
HOW TO USE ECHIDNA TO TEST SMART CONTRACTS Dev Tools, Testing
TRANSFERS AND APPROVAL OF ERC-20 TOKENS FROM A SOLIDITY SMART CONTRACT Token standards
INTERACT WITH OTHER CONTRACTS FROM SOLIDITY Dev Tools
UNDERSTAND THE ERC-20 TOKEN SMART CONTRACT Token standard
DEPLOYING YOUR FIRST SMART CONTRACT Dev Tools
LOGGING DATA FROM SMART CONTRACTS WITH EVENTS Protocol Not really sure we need this tutorial
HOW TO IMPLEMENT AN ERC-721 MARKET NFT
HOW TO USE MANTICORE TO FIND BUGS IN SMART CONTRACTS Dev Tools , Security Remove because this is in maintenance mode
corwintines commented 1 year ago

Just some initial thoughts above, let me know what you think @0xKai27

github-actions[bot] commented 4 months ago

This issue is stale because it has been open 30 days with no activity.

corwintines commented 3 months ago

I believe we have finished this last year. Going to close this out for now.