1795 words
9 minutes
web3week1

本周的核心目标是:从零开始,为你搭建一个通往 Web3 世界的桥梁。让你在不感到迷茫的前提下,快速掌握最基础的概念和工具,并成功运行你的第一个链上查询脚本,获得即时反馈和成就感。


Week 1 详细任务描述#

任务一:Web3 核心概念扫盲 (理论学习)#

这个阶段你不需要深入代码,只需要理解这些名词是什么,以及它们之间的关系。把它当成玩一个新游戏前阅读说明书。

  1. 钱包 (Wallet):
    • 是什么: 它不是存放钱的“包”,而是管理你“钥匙”的工具。它是你在 Web3 世界的身份和入口。
    • 你需要理解的: 钱包帮你生成和保管私钥,并使用私钥对你的操作(如转账)进行“签名”授权。
  2. 地址 (Address):
    • 是什么: 你的“银行卡号”或“邮箱地址”。一个以 0x 开头的字符串,独一无二。别人可以通过这个地址给你发送加密资产。
    • 你需要理解的: 它是公开的,可以放心分享给别人。
  3. 公钥/私钥 (Public Key / Private Key) & 助记词 (Seed Phrase):
    • 是什么:
      • 私钥: 你的终极密码,拥有它就等于拥有了地址里所有资产的控制权。绝对不能泄露!
      • 助记词: 私钥的一种更易于记忆和备份的形式(通常是12或24个单词)。和私钥一样重要,绝对不能泄露!
      • 公钥: 由私钥通过加密算法生成,地址则由公钥生成。你通常不需要直接操作公钥。
    • 你需要理解的: 记住黄金法则:“Not your keys, not your crypto” (不是你的私钥,就不是你的币)。
  4. 交易 (Transaction) & Gas 费:
    • 是什么:
      • 交易: 你向区块链网络发出的一个“操作请求”,比如转账、购买 NFT 等。
      • Gas 费: 为了让网络上的计算机(矿工/验证者)处理你的这个“操作请求”而支付的“手续费”或“油费”。
    • 你需要理解的: 网络越拥堵,Gas 费就越高。它是用区块链的原生代币支付的(如在以太坊上用 ETH 支付)。
  5. 区块链浏览器 (Blockchain Explorer):
    • 是什么: 一个网站,让你能查看区块链上所有公开的信息。最常用的是 Etherscan (用于以太坊)。
    • 你需要理解的: 它就像一个“公开的数据库浏览器”,你可以用它查询任何地址的余额、交易历史和任何一笔交易的详细状态。

任务二:开发工具链搭建 (动手操作)#

这是本周的重点,一步步按照指引完成。

  1. 安装 MetaMask 钱包 (你的 Web3 浏览器插件)

    • 目的: 在浏览器上拥有一个方便交互的钱包。
    • 步骤:
      • 访问 metamask.io 官网,下载并安装与其对应的浏览器插件(支持 Chrome, Firefox, Edge 等)。
      • 点击“创建新钱包”。
      • 最重要的一步: 它会给你12个单词的助记词。用纸和笔抄下来,按顺序存放好。不要截图,不要存电脑,不要发给任何人!
      • 验证助记词,创建密码,你就拥有了自己的第一个钱包和以 0x 开头的地址。
  2. 获取 Alchemy 节点服务 (你的程序连接区块链的桥梁)

    • 目的: 程序代码无法直接和区块链对话,需要一个“中间人节点”来传递信息。Alchemy 就是一个稳定、免费的节点服务商。
    • 步骤:
      • 访问 alchemy.com 并注册一个免费账户。
      • 登录后,点击 “Create App” 或 “+” 按钮。
      • 给你的 App 命名(任意),选择 Ethereum 链,网络选择 Mainnet (主网)。
      • 创建成功后,点击 “View Key”,你将看到一个 HTTPS 格式的 URL。这个就是你的节点 API Key,复制它,下一步会用到。
  3. 配置 Python 环境 (你的武器库)

    • 目的: 安装必要的 Python 库,让你的代码具备和区块链交互的能力。
    • 步骤: 打开你的终端或命令行工具,运行以下命令:
      pip install requests
      pip install web3
      

任务三:“Hello, World!” - 你的第一个链上查询脚本 (代码实践)#

目的: 验证你的所有工具都已就绪,并成功从链上读取到数据。

  1. 创建一个新的 Python 文件,例如 check_balance.py

  2. 将以下代码完整复制进去:

    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")
    
    
  3. 运行前修改:

    • 将代码中 YOUR_API_KEY 的部分,替换成你在 Alchemy 网站复制的完整 HTTPS URL。
    • 你可以将 wallet_address 替换成你自己的 MetaMask 地址来查询。
  4. 运行脚本:

    • 在终端中运行 python check_balance.py
  5. 预期输出:

    成功连接到以太坊主网!
    地址: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
    余额是: xxxx.xxxx ETH
    

    看到这个结果,恭喜你,你已经成功完成了与区块链的第一次“对话”!


YouTube 视频教程推荐 (仅 Week 1 所需)#

以下视频能帮你更直观地理解和完成本周任务(建议按需观看):

  1. MetaMask 钱包新手教程 (中文):

  2. Web3 核心概念讲解 (英文, 中文字幕):

    • 链接: Finematics - How does a blockchain work
    • 看点: Finematics 以高质量的动画闻名,能把复杂概念讲得非常清晰。这个视频会让你对交易、区块等概念有一个扎实的理解。可以开启自动翻译或中文字幕。
  3. Gas 费是什么 (英文, 中文字幕):

    • 链接: Whiteboard Crypto - What is Gas?
    • 看点: 专门针对 Gas 费的讲解,看完后你就明白为什么交易需要手续费,以及它是如何计算的。
  4. 使用 Python 和 Web3.py (英文):

    • 链接: Patrick Collins - Python & Web3.py course (Part 1)
    • 看点: 这是业界最经典的教程之一。我已经为你定位到了 2:31:38 的时间点,直接从 “Reading from the Blockchain” 开始看。他会演示如何安装、设置 Alchemy/Infura,并用 web3.py 进行和你任务三中几乎完全一样的操作。跟着做一遍即可。
web3week1
https://zycreverse.netlify.app/posts/web3week1/
Author
会写点代码的本子画手
Published at
2025-07-10