1795 words
9 minutes
web3week1
本周的核心目标是:从零开始,为你搭建一个通往 Web3 世界的桥梁。让你在不感到迷茫的前提下,快速掌握最基础的概念和工具,并成功运行你的第一个链上查询脚本,获得即时反馈和成就感。
Week 1 详细任务描述
任务一:Web3 核心概念扫盲 (理论学习)
这个阶段你不需要深入代码,只需要理解这些名词是什么,以及它们之间的关系。把它当成玩一个新游戏前阅读说明书。
- 钱包 (Wallet):
- 是什么: 它不是存放钱的“包”,而是管理你“钥匙”的工具。它是你在 Web3 世界的身份和入口。
- 你需要理解的: 钱包帮你生成和保管私钥,并使用私钥对你的操作(如转账)进行“签名”授权。
- 地址 (Address):
- 是什么: 你的“银行卡号”或“邮箱地址”。一个以
0x
开头的字符串,独一无二。别人可以通过这个地址给你发送加密资产。 - 你需要理解的: 它是公开的,可以放心分享给别人。
- 是什么: 你的“银行卡号”或“邮箱地址”。一个以
- 公钥/私钥 (Public Key / Private Key) & 助记词 (Seed Phrase):
- 是什么:
- 私钥: 你的终极密码,拥有它就等于拥有了地址里所有资产的控制权。绝对不能泄露!
- 助记词: 私钥的一种更易于记忆和备份的形式(通常是12或24个单词)。和私钥一样重要,绝对不能泄露!
- 公钥: 由私钥通过加密算法生成,地址则由公钥生成。你通常不需要直接操作公钥。
- 你需要理解的: 记住黄金法则:“Not your keys, not your crypto” (不是你的私钥,就不是你的币)。
- 是什么:
- 交易 (Transaction) & Gas 费:
- 是什么:
- 交易: 你向区块链网络发出的一个“操作请求”,比如转账、购买 NFT 等。
- Gas 费: 为了让网络上的计算机(矿工/验证者)处理你的这个“操作请求”而支付的“手续费”或“油费”。
- 你需要理解的: 网络越拥堵,Gas 费就越高。它是用区块链的原生代币支付的(如在以太坊上用 ETH 支付)。
- 是什么:
- 区块链浏览器 (Blockchain Explorer):
- 是什么: 一个网站,让你能查看区块链上所有公开的信息。最常用的是 Etherscan (用于以太坊)。
- 你需要理解的: 它就像一个“公开的数据库浏览器”,你可以用它查询任何地址的余额、交易历史和任何一笔交易的详细状态。
任务二:开发工具链搭建 (动手操作)
这是本周的重点,一步步按照指引完成。
安装 MetaMask 钱包 (你的 Web3 浏览器插件)
- 目的: 在浏览器上拥有一个方便交互的钱包。
- 步骤:
- 访问 metamask.io 官网,下载并安装与其对应的浏览器插件(支持 Chrome, Firefox, Edge 等)。
- 点击“创建新钱包”。
- 最重要的一步: 它会给你12个单词的助记词。用纸和笔抄下来,按顺序存放好。不要截图,不要存电脑,不要发给任何人!
- 验证助记词,创建密码,你就拥有了自己的第一个钱包和以
0x
开头的地址。
获取 Alchemy 节点服务 (你的程序连接区块链的桥梁)
- 目的: 程序代码无法直接和区块链对话,需要一个“中间人节点”来传递信息。Alchemy 就是一个稳定、免费的节点服务商。
- 步骤:
- 访问 alchemy.com 并注册一个免费账户。
- 登录后,点击 “Create App” 或 “+” 按钮。
- 给你的 App 命名(任意),选择
Ethereum
链,网络选择Mainnet
(主网)。 - 创建成功后,点击 “View Key”,你将看到一个 HTTPS 格式的 URL。这个就是你的节点 API Key,复制它,下一步会用到。
配置 Python 环境 (你的武器库)
- 目的: 安装必要的 Python 库,让你的代码具备和区块链交互的能力。
- 步骤: 打开你的终端或命令行工具,运行以下命令:
pip install requests pip install web3
任务三:“Hello, World!” - 你的第一个链上查询脚本 (代码实践)
目的: 验证你的所有工具都已就绪,并成功从链上读取到数据。
创建一个新的 Python 文件,例如
check_balance.py
。将以下代码完整复制进去:
from web3 import Web3 import requests # 虽然这个脚本没直接用requests,但它是API逆向的基础,先装好 # 1. 替换为你的 Alchemy HTTPS API Key alchemy_url = "https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY" # 2. 初始化 Web3 实例 w3 = Web3(Web3.HTTPProvider(alchemy_url)) # 检查是否连接成功 if w3.is_connected(): print("成功连接到以太坊主网!") else: print("连接失败,请检查你的 Alchemy URL。") exit() # 3. 替换为你想查询的钱包地址 (可以用你自己的 MetaMask 地址) # 为了方便测试,这里用一个知名的地址:Vitalik Buterin (V神) 的地址 wallet_address = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" # Web3.py 需要地址是 checksum 格式,我们来转换一下 checksum_address = Web3.to_checksum_address(wallet_address) # 4. 使用 w3.eth.get_balance 来查询余额 # 注意:返回的单位是 Wei,是ETH的最小单位 (1 ETH = 10^18 Wei) balance_in_wei = w3.eth.get_balance(checksum_address) # 5. 将 Wei 转换为 ETH,方便阅读 balance_in_eth = w3.from_wei(balance_in_wei, 'ether') print(f"地址: {wallet_address}") print(f"余额是: {balance_in_eth:.4f} ETH")
运行前修改:
- 将代码中
YOUR_API_KEY
的部分,替换成你在 Alchemy 网站复制的完整 HTTPS URL。 - 你可以将
wallet_address
替换成你自己的 MetaMask 地址来查询。
- 将代码中
运行脚本:
- 在终端中运行
python check_balance.py
。
- 在终端中运行
预期输出:
成功连接到以太坊主网! 地址: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 余额是: xxxx.xxxx ETH
看到这个结果,恭喜你,你已经成功完成了与区块链的第一次“对话”!
YouTube 视频教程推荐 (仅 Week 1 所需)
以下视频能帮你更直观地理解和完成本周任务(建议按需观看):
MetaMask 钱包新手教程 (中文):
- 链接: 油管搜索 “MetaMask 新手教程 李狗蛋”
- 看点: 李狗蛋的教程非常适合纯小白,一步步教你安装、创建、备份助记词,并讲解基本操作。看一遍就能完全上手 MetaMask。
Web3 核心概念讲解 (英文, 中文字幕):
- 链接: Finematics - How does a blockchain work
- 看点: Finematics 以高质量的动画闻名,能把复杂概念讲得非常清晰。这个视频会让你对交易、区块等概念有一个扎实的理解。可以开启自动翻译或中文字幕。
Gas 费是什么 (英文, 中文字幕):
- 链接: Whiteboard Crypto - What is Gas?
- 看点: 专门针对 Gas 费的讲解,看完后你就明白为什么交易需要手续费,以及它是如何计算的。
使用 Python 和 Web3.py (英文):
- 链接: Patrick Collins - Python & Web3.py course (Part 1)
- 看点: 这是业界最经典的教程之一。我已经为你定位到了 2:31:38 的时间点,直接从 “Reading from the Blockchain” 开始看。他会演示如何安装、设置 Alchemy/Infura,并用
web3.py
进行和你任务三中几乎完全一样的操作。跟着做一遍即可。