Web3学习笔记分享:Day1-Web3概览与开发环境搭建

按照我的学习计划,今天完成了Day1的学习任务,学习过程还是颇费波折,主要是实操部分领取测试币和转账遇到问题。不过,这些问题都被我解决了,现将学习笔记整理如下,只要按照我的学习笔记操作,百分之百能够体验成功。

首先,提前祝大家学习愉快,有什么不清楚的都可以在评论区留言并讨论,我们一起学习进步。

📋 学习目标

  • • 理解 Web3 的核心概念和演进历史
  • • 掌握区块链的基本工作原理
  • • 成功安装和配置 MetaMask 钱包
  • • 获取测试代币并完成第一笔转账
  • • 熟悉区块浏览器的使用

📚 理论部分 (45分钟)

1.1 Web 演进史

从 Web1 到 Web3

阶段

时代特征

典型代表

数据归属

交互方式

Web1

只读

静态网页、门户网站

平台所有

被动浏览

Web2

读写

社交媒体、电商平台

平台所有,用户授权使用

双向互动

Web3

读写拥有

DeFi、NFT、DAO

用户拥有,平台托管

价值交换

Web1 时代 (1990-2004)

  • • 静态网页为主
  • • 用户只能浏览,无法创建内容
  • • 典型代表:Yahoo、新浪门户
  • • 数据完全由平台控制

Web2 时代 (2004-2020)

  • • 用户可以创建和分享内容
  • • 社交网络兴起(Facebook、微博)
  • • 电商普及(淘宝、亚马逊)
  • • 问题:数据被大公司垄断,用户失去控制权

Web3 时代 (2020-至今)

  • • 用户真正拥有自己的数据
  • • 去中心化应用(DApp)
  • • 代币经济和激励机制
  • • 核心特征:可组合性、无需许可、去中心化治理

1.2 区块链核心概念

什么是区块链?

区块链是一个去中心化的分布式账本,通过密码学保证数据不可篡改。

传统中心化架构 vs 区块链架构

传统架构:用户 → 中心服务器 → 数据库       ↓    单点故障风险区块链架构:用户 → 节点A → 节点B → 节点C → ...       ↓       ↓       ↓    分布式存储,共识机制
核心组件解析

概念

解释

类比

区块 (Block)

存储交易数据的容器

数据库的一行记录

链 (Chain)

区块通过哈希值链接

链表的节点连接

节点 (Node)

运行区块链软件的计算机

服务器集群中的每台机器

共识机制

节点达成一致的规则

选举制度

Gas Fee

执行操作的计算费用

云服务的按量计费

哈希

数据的唯一指纹

指纹识别

区块链的工作流程
1. 用户发起交易   ↓2. 交易广播到网络   ↓3. 矿工/验证者打包交易   ↓4. 共识机制验证区块   ↓5. 区块添加到链上   ↓6. 所有节点更新账本

1.3 账户体系

从助记词到地址的转换过程
┌─────────────────────────────────────────────────────┐│                    账户体系                          │├─────────────────────────────────────────────────────┤│  助记词 (12-24个英文单词)                             ││  例如: "apple banana cherry dog elephant..."        ││           ↓                                        ││  私钥 (64位十六进制字符串)                            ││  例如: "0x3a8b9c1d2e3f4a5b6c7d8e9f0a1b2c3..."       ││           ↓ 椭圆曲线加密算法 (secp256k1)              ││  公钥 (128位十六进制字符串)                            ││  例如: "0x04a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5..."      ││           ↓ Keccak-256 哈希 + 截取后40位             ││  地址 (40位十六进制,0x开头)                          ││  例如: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"  │└─────────────────────────────────────────────────────┘
⚠️ 安全铁律

永远记住:

  1. 1. 私钥 = 资产所有权
    • • 泄露私钥 = 资产丢失
    • • 任何人拥有私钥都能完全控制账户
  2. 2. 助记词 = 所有账户的主密钥
    • • 一个助记词可以生成无限个账户
    • • 丢失助记词 = 所有账户都无法找回
  3. 3. 绝对不能做的事
    • • ❌ 不要在代码中硬编码私钥
    • • ❌ 不要在聊天软件中发送私钥
    • • ❌ 不要截图保存助记词
    • • ❌ 不要把私钥提交到 GitHub
    • • ❌ 不要使用在线生成的钱包
  4. 4. 正确做法
    • • ✅ 手写助记词在纸上,保存在安全的地方
    • • ✅ 使用硬件钱包(如 Ledger、Trezor)
    • • ✅ 使用环境变量存储敏感信息
    • • ✅ 定期备份

1.4 网络类型

以太坊网络类型

网络类型

用途

ETH 价值

Gas 费用

交易确认

主网 (Mainnet)

真实资产交易

真实 ETH,有实际价值

~15秒

测试网 (Testnet)

开发测试

测试 ETH,无价值

~15秒

本地网络

本地开发调试

假 ETH

免费

即时

主网 vs 测试网

主网 (Mainnet)

  • • 真正的以太坊网络
  • • 交易需要消耗真实 ETH
  • • 合约部署不可逆
  • • Gas 费用昂贵
  • • 适合生产环境

测试网 (Testnet)

  • • 与主网功能相同,但代币无价值
  • • 用于开发和测试
  • • 可以通过水龙头免费获取测试 ETH
  • • Gas 费用极低或免费
  • • 适合学习和实验
主流测试网

测试网

状态

链 ID

特点

Sepolia

✅ 推荐

11155111

当前最推荐的测试网

Goerli

⚠️ 逐步弃用

5

曾广泛使用,但即将停止支持

Holesky

✅ 新测试网

17000

用于验证者和质押测试

为什么选择 Sepolia?

  • • 由以太坊基金会维护
  • • 稳定性好
  • • 水龙头充足
  • • 社区支持完善

🛠️ 实操部分 (60分钟)

步骤 1: 安装 MetaMask (10分钟)

什么是 MetaMask?

MetaMask 是最流行的以太坊浏览器钱包插件,充当 Web3 世界的"身份证"。

安装步骤
  1. 1. 打开 MetaMask 官网
    • • 访问:https://metamask.io/
    • • 点击 "Download" 按钮
  2. 2. 安装浏览器扩展
    • • 选择 Chrome 浏览器扩展
    • • 点击 "Add to Chrome"
    • • 在弹窗中点击 "Add Extension"
  3. 3. 创建新钱包
    • • 安装后点击浏览器工具栏的狐狸图标
    • • 选择 "创建新钱包"(Create a new wallet)
    • • 点击 "I Agree" 同意条款
  4. 4. 设置密码
    • • 输入强密码(至少8位,包含字母、数字、符号)
    • • 点击 "Create"
    • • 记住密码,但不要与助记词混淆
  5. 5. 备份助记词(最重要!)
    • • 显示12个单词的助记词
    • • 一定要手写在纸上
    • • 不要截图,不要复制到剪贴板
    • • 点击 "Next"
  6. 6. 确认助记词
    • • 按顺序点击单词确认
    • • 点击 "Confirm"
    • • 钱包创建完成!

⚠️ 检查清单:

  • • 助记词已手写在纸上
  • • 助记词保存在安全的地方
  • • 没有截图或复制助记词
  • • 密码已记住

步骤 2: 添加测试网络 (10分钟)

方法一:使用 Chainlist(推荐)
  1. 1. 访问 Chainlist
    • • 打开:https://chainlist.org/
  2. 2. 连接钱包
    • • 点击 "Connect Wallet"
    • • 在 MetaMask 弹窗中确认连接
  3. 3. 搜索 Sepolia
    • • 在搜索框输入 "Sepolia"
    • • 找到 "Sepolia Testnet"
  4. 4. 添加网络
    • • 点击 "Add to MetaMask"
    • • 在 MetaMask 弹窗中点击 "Switch network"
    • • 完成!
方法二:手动添加网络
  1. 1. 打开 MetaMask
    • • 点击网络下拉菜单(显示为 "Ethereum Mainnet")
  2. 2. 添加网络
    • • 点击 "添加网络" (Add Network)
    • • 点击 "添加自定义网络" (Add a custom network)
  3. 3. 填写网络信息

字段

网络名称

Sepolia

新增 RPC URL

https://sepolia.infura.io

链 ID

11155111

货币符号

SepoliaETH

区块浏览器 URL

https://sepolia.etherscan.io

  1. 4. 保存
    • • 点击 "保存"
    • • 网络添加成功

验证网络切换:

  • • MetaMask 顶部应显示 "Sepolia Testnet"
  • • 地址前的圆圈颜色与主网不同
  • • ETH 余额显示为 0

步骤 3: 领取测试币 (15分钟)

方法一:Alchemy Faucet
  1. 1. 访问 Sepolia Testnet Faucet
    • • 打开:https://www.alchemy.com/faucets/ethereum-sepolia
  2. 2. 输入钱包地址
    • • 在输入框粘贴你的钱包地址
    • • 从 MetaMask 复制地址(点击地址旁的复制图标)
  3. 3. 领取 ETH
    • • 点击 "Send 0.1 ETH"
    • • 等待确认(通常 1-5 分钟)
    • • 查看消息确认是否成功这儿我遇到了问题,当我选择“Ethereum Sepolia”网络时,领取不成功,提示“Insufficient balance! You need at least 0.001 ETH on Ethereum Mainnet.”。

    

我后我逐一尝试了下拉列表的所有网络,发现只有“Humanity Testnet Faucet”,可以领取成功。

如图所示,我们可以看到消息“Your 0.1 tHP has been successfully sent!”,说明领取成功了。我已经帮大家测试了所有的网络,目前只有Humanity Testnet Faucet可以直接免费领取测试的ETH。

下拉菜单里面还其他测试网络都要求你的钱包里面至少有0.001EHT才能领取,这对于我们新手来说就比较麻烦了。

Sepolia被设计为开发者的游乐场,为智能合约和去中心化应用(dApp)提供精确的测试环境。该平台具有快速同步和一组已授许可的验证器,使其成为开发者专注于dApp开发的高效选择。Sepolia是测试智能合约和dApps的最佳场所。所以,后面还是得想办法搞到Sepolia网络的测试ETH。

如果有伙伴还有其他的路径,请在留言区分享。

方法二:PoW Faucet
  1. 1. 访问 PoW Faucet
    • • 打开:https://sepolia-faucet.pk910.de/
  2. 2. 输入钱包地址
    • • 粘贴你的钱包地址
  3. 3. 开始挖矿
    • • 点击 "Start Mining"
    • • 等待挖矿进度(需要几分钟)
    • • 挖到一定数量后点击 "Claim"

目前这个水龙头可能有访问限制,总是提示“Invalid target address”,有成功的伙伴请分享一下您的经验。

方法三:其他水龙头
下面这几个我没有试过,有兴趣的同学试了后分享一下。
  • • QuickNode Faucet: https://faucet.quicknode.com/ethereum/sepolia
  • • Infura Faucet: https://www.infura.io/faucet/sepolia
  • • Web3 Faucet: https://web3faucet.org/

💡 提示:

  • • 每个水龙头可能有每日领取限制
  • • 如果一个不行,试试其他的
  • • 也可以找朋友要一些测试 ETH

验证领取成功:

  • • MetaMask 余额应显示 > 0 ETH
  • • 通常是 0.1 - 0.5 ETH

步骤 4: 添加Humanity Testnet

因为前面我们只在Humanity Testnet领取了测试币,所以我们要添加Humanity Testnet。

1. 首先注册alchemy.com,并创建自己的第一个app

2. 再启用Humanity Testnet网络。

搜索“Humanity”,点击旁边的“Enable”启用网络。

3. 点击copy,记录RPC URL:

4. 将网络信息添加到MetaMask里面,网络信息如下:

字段

网络名称

Humanity Protocol testnet

新增 RPC URL

此处为你刚copy的地址,格式https://humanity-testnet.g.alchemy.com/v2/YOUR_ALCHEMY_API_KEY

链 ID

7080969

货币符号

tHP

区块浏览器 URL

https://humanity-testnet.explorer.alchemy.com/

5. 添加好网络以后,你就可以在你的钱包里面查看测试ETH余额了。

6. 通过区块链接浏览器查看交易信息

访问区块链接浏览器地址:https://humanity-testnet.explorer.alchemy.com/,然后输入你的钱包地址,你就可以查看交易信息了。

步骤 5: 完成第一笔转账 (15分钟)

1. 准备接收地址
  • • 可以创建第二个 MetaMask 账户(点击右上角圆形图标 → Create Account)
  • • 或者使用朋友的地址
  • • 复制接收地址
2. 发起转账
  • • 在 MetaMask 中点击 "发送" (Send)
  • • 输入接收地址
  • • 输入金额(如 0.001 ETH)
3. 检查交易详情
  • • 确认网络是 :Humanity Protocol testnet
  • • 检查 Gas 费用(测试网很低)
  • • 点击 "下一步" (Next)不幸的是,发送测试币的时候报错:
Error: No XChain Swaps native asset found for chainId: eip155:7080969

查了一下,主要原因是:由于 Humanity Protocol 测试网是一个较新的网络,MetaMask 的 Swap 服务提供商(如 MetaMask Portfolio 的 API)尚未在其支持的链列表中收录该链(7080969)。因此,当 Swap 功能尝试查询时,找不到对应的资产配置,从而抛出此错误。

尝试了一些方法,发现使用Rabby Wallet(由DeBank团队开发)来发送更方便,它专为多链DeFi设计,对新链支持更好。接下来我们先后:安装Rabby Wallet浏览器扩展;导入MetaMask钱包(使用助记词);添加Humanity Protocol测试网网络配置。

然后尝试转帐:

转帐成功:

4. 确认交易
  • • 查看交易摘要
  • • 滑动滑块确认
  • • 等待交易确认(约 15 秒)
5. 查看结果
  • • MetaMask 余额应减少
  • • 接收方余额应增加

  • • 转账金额不要全部发送,留一些用于支付 Gas
  • • 确认地址正确,转账不可撤销
  • • 测试网转账是安全的,可以随意实验

• 使用区块链浏览器查看一下交易记录,可以查看到刚才转帐的记录。

⚠️ 注意事项:


步骤 5: 进一步了解区块浏览器 (10分钟)

什么是区块浏览器?

区块浏览器是查看区块链数据的网站,类似区块链的"搜索引擎"。刚才我们测试使用的浏览器名称叫:Humanity Testnet explorer。

Humanity Testnet explorer
  1. 1. 访问区块浏览器
    • • 打开:https://humanity-testnet.explorer.alchemy.com/
  2. 2. 查询地址
    • • 在搜索框输入你的钱包地址
    • • 点击搜索
    • • 查看地址信息:
      • • 余额
      • • 交易历史
      • • 首次交易时间
      • • 最新交易时间
  3. 3. 查询交易
    • • 在 MetaMask 中复制交易哈希(点击交易记录)
    • • 查看交易详情:
      • • 交易哈希 (Tx Hash): 交易的唯一标识
      • • 区块高度 (Block): 交易被打包的区块编号
      • • 状态 (Status): 成功 (Success) 或失败 (Failed)
      • • 发送者 (From): 你的地址
      • • 接收者 (To): 接收地址
      • • 价值 (Value): 转账金额
      • • Gas Used: 实际消耗的 Gas
      • • Gas Price: Gas 价格

• 在 Humanity Testnet explorer 搜索框粘贴

交易详情图一:

交易详情图二:

  1. 4. 查询区块
    • • 点击区块高度数字
    • • 查看区块信息:
      • • 区块号
      • • 时间戳
      • • 矿工地址
      • • 区块中的所有交易

💡 为什么使用区块浏览器?

  • • 验证交易是否成功
  • • 查看交易历史
  • • 检查合约代码
  • • 调试问题

✅ 今日产出检查清单

环境准备

  • • MetaMask 钱包创建完成
  • • 助记词安全备份(手写)
  • • 密码已记住
  • • 安装Rabby Wallet并导入钱包

网络配置

  • • Sepolia 测试网络添加成功
  • • Humanity Testnet网络添加成功
  • • 网络切换正常
  • • 能够在不同网络间切换

测试币获取

  • • 领取到测试 代币(至少 0.1 ETH)
  • • MetaMask 余额显示正确

交易操作

  • • 完成第一笔转账交易
  • • 转账交易确认成功
  • • 余额变化正确

区块浏览器

  • • 能够使用 Humanity Testnet explorer 查询地址
  • • 能够查看交易详情
  • • 理解交易信息的含义

💡 常见问题

Q1: 忘记助记词怎么办?

A: 没有办法找回。这就是为什么助记词必须安全备份。如果你忘记了,只能创建新钱包,旧钱包的资产将永久丢失。

Q2: MetaMask 可以用在多个浏览器吗?

A: 可以。通过导入助记词,可以在不同浏览器和设备上访问同一个钱包。但要注意,每次导入都增加了助记词泄露的风险。

Q3: 测试网的 ETH 可以在主网使用吗?

A: 不可以。测试网 ETH 只能在测试网使用,没有实际价值。主网 ETH 需要在交易所购买或从其他用户处获得。

Q4: 为什么我的交易一直处于 "Pending" 状态?

A: 可能的原因:

  • • Gas 费用太低,矿工不愿打包
  • • 网络拥堵
  • • 可以等待或取消交易,重新发送并提高 Gas

Q5: 可以把测试网 ETH 换成真实 ETH 吗?

A: 不可以。测试网 ETH 是假的,没有任何价值,无法兑换。


📖 课后作业

  1. 1. 探索其他测试网
    • • 尝试添加 Holesky 测试网
    • • 对比不同测试网的特点
  2. 2. 多次转账实验
    • • 尝试转账给自己
    • • 尝试转账给多个地址
    • • 观察每次交易的 Gas 费用
  3. 3. 研究区块浏览器
    • • 查看 Humanity Testnet 上的最新区块
    • • 查找最近的交易
    • • 尝试理解区块的结构
  4. 4. 记录学习笔记
    • • 记录今天遇到的问题
    • • 记录解决方法
    • • 记录新的发现

🎯 下集预告

明天我们将进入 Solidity 智能合约开发的学习,详见学习计划:


📚 延伸阅读

  • • 以太坊官方文档
  • • MetaMask 用户指南
  • • Etherscan 使用指南
  • • 区块链基础概念
  • • Alchemy文档

大家在学习过程中如果遇到问题请在留言,我们一起学习进步,祝你学习顺利! 🚀

Read more

Java 大视界 -- 金融市场情绪预测与动态决策的 Java 大数据实战(2024 券商落地版 425)

Java 大视界 -- 金融市场情绪预测与动态决策的 Java 大数据实战(2024 券商落地版 425)

Java 大视界 -- 金融市场情绪预测与动态决策的 Java 大数据实战(2024 券商落地版 425) * 引言: * 正文: * 一、金融情绪预测的三大核心痛点(3 家券商实战总结) * 1.1 第一坑:舆情数据 “杂、乱、快”,处理跟不上 * 1.1.1 数据源碎片化,整合难度超预期 * 1.1.2 实时性要求 “毫秒级”,传统方案扛不住 * 1.2 第二坑:模型 “黑箱化”,过不了监管 + 实盘不准 * 1.2.1 模型黑箱,监管说 “不行” * 1.2.2

By Ne0inhk
个人所得税的APP模拟器,纯java版代码开源,截图录屏都可以【仅供参考】

个人所得税的APP模拟器,纯java版代码开源,截图录屏都可以【仅供参考】

文件下载地址:https://wenshushu.vip/pan/index.php?id=36    提取码:7bf9 给大家分享一个用纯Java实现的个人所得税计算模拟器,包含完整的GUI界面和核心计算逻辑,适合Java学习者和税务计算需求者参考使用。 一、项目简介 这是一个使用Java Swing开发的个人所得税计算模拟器,模拟了官方个税APP的核心功能,包括: · 综合所得年度汇算计算 · 税率表查询 · 专项扣除项目设置 · 税务计算结果展示 项目特点: · 100%纯Java实现,无第三方依赖 · 完整GUI界面,支持用户交互 · 详细的代码注释 · 遵循2023年最新个税政策 二、核心代码实现 1. 主程序入口 ```java package com.tax.calculator; import javax.swing.*; /**  * 个人所得税计算模拟器 - 主程序  * @author TaxDeveloper  * @version

By Ne0inhk
【Java 开发日记】设计一个支持万人同时抢购商品的秒杀系统?

【Java 开发日记】设计一个支持万人同时抢购商品的秒杀系统?

目录 一、系统架构设计 1. 分层架构 2. 具体组件 二、核心问题解决方案 1. 超卖问题 解决方案一:Redis原子操作 解决方案二:数据库乐观锁 解决方案三:预扣库存 2. 高并发请求处理 2.1 流量削峰 2.2 分层过滤 3. 系统性能优化 3.1 缓存策略 3.2 读多写少优化 4. 详细实现方案 4.1 秒杀流程 4.2 库存同步方案 三、高可用保障 1. 限流降级策略 2. 熔断降级 四、监控与告警 1.

By Ne0inhk

Java常见面试题及答案汇总(2025最新版)

一、Java基础语法与核心特性 1. Java的核心特性有哪些? 答案: * 跨平台性(Write Once, Run Anywhere):通过JVM(Java虚拟机)实现,字节码文件可在任意支持JVM的操作系统运行; * 面向对象(OOP):封装、继承、多态三大核心特性; * 安全性:支持沙箱机制、字节码校验、权限控制(如文件IO权限); * 健壮性:自动垃圾回收(GC)避免内存泄漏,强类型检查、异常处理机制减少运行时错误; * 分布式:支持RMI(远程方法调用)、HTTP协议,便于开发分布式应用; * 多线程:内置多线程API,支持并发编程。 2. 基本数据类型与包装类的区别? 答案: 维度基本数据类型(如int、float)包装类(如Integer、Float)本质原始值,无对象属性引用类型,继承Object类默认值有(

By Ne0inhk