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

Rust 使用Slint库开发UI界面工程搭建详细教程

Rust 使用Slint库开发UI界面工程搭建详细教程

Rust 使用Slint工具包开发UI界面详细教程 * 一、Slint工具包介绍 * 1、概述:什么是Slint? * 2、核心概念和组件 * 3、安装和项目设置 * 4、代码示例:创建一个简单应用 * 5、核心特性和优势 * 6、适用场景和局限性 * 7、学习资源 * 二、基础开发流程详细介绍 * 1、rust安装及环境搭建 * 2、添加Slint工具包依赖 * 3、基础界面测试 * 三、Rust和Slint分离 * 1、插件安装 * 2、工程依赖添加 * 3、工程搭建 * 4、**在弹出的界面中进行ui界面布局:** * 5、**`build.rs`文件创建(和`Cargo.toml`文件同级):** * 6、`main.rs`文件引用ui

By Ne0inhk
基于 DeepSeek V3.2 与 Go 语言构建智能日志分析系统实战深度解析

基于 DeepSeek V3.2 与 Go 语言构建智能日志分析系统实战深度解析

前言 在现代运维与软件开发体系中,日志数据是洞察系统健康状态的核心资产。面对海量且非结构化的日志信息,传统的基于规则(Rule-based)或关键词匹配的分析手段往往难以应对复杂的故障模式。随着大语言模型(LLM)能力的飞跃,利用生成式 AI 进行语义级日志分析已成为提升运维效率的关键路径。本文将深入剖析如何基于 Ubuntu 环境,利用 Go 语言的高并发与强类型特性,结合 DeepSeek V3.2 模型的推理能力,从零构建一个流式智能日志分析器。文章将涵盖环境部署、运行时配置、API 交互协议设计、流式数据处理及最终的实战验证。 第一章:Linux 基础环境初始化与依赖管理 构建稳健的应用始于可靠的底层环境。在 Ubuntu 20.04/22.04/24.04 LTS 系统中,保持软件包的最新状态是确保依赖兼容性与系统安全性的首要步骤。 1.1 系统源更新与升级 在执行任何安装操作前,必须同步包管理器的索引文件,

By Ne0inhk
告别复杂查询性能噩梦:一文读懂连接条件下推优化

告别复杂查询性能噩梦:一文读懂连接条件下推优化

摘要:金仓数据库(KingbaseES)的「基于代价的连接条件下推」技术解决了复杂SQL查询在生产环境中的性能瓶颈问题。该技术通过智能决策框架,先进行安全性检查确保语义等价,再基于代价模型评估下推收益,将连接条件智能下推到子查询中提前过滤数据。测试显示,简单场景性能提升600倍,复杂嵌套查询提升超4500倍,执行时间从秒级降至毫秒级。这项技术结合了语义安全和代价评估,有效应对现代复杂SQL的性能挑战,体现了国产数据库在深度优化方面的技术实力。 告别复杂查询性能噩梦:一文读懂连接条件下推优化 你是否遇到过这样的场景:一个在测试环境运行飞快的复杂SQL,一到生产环境就“卡死”?检查执行计划后,发现罪魁祸首往往是一个生成了巨大中间结果集的子查询,导致后续操作全部陷入性能泥潭。 针对这一经典性能瓶颈,连接条件下推 是一项关键的数据库优化技术。本文将以金仓数据库(KingbaseES)的实现为例,深入解析其原理,并通过多个代码场景展示其如何将查询性能提升数个数量级。 一、 性能瓶颈的根源:失效的谓词过滤 在金融、政务等复杂业务系统中,出于逻辑清晰和维护方便的考虑,开发人员常会编写多

By Ne0inhk

ctfhub——文件上传(无验证,前端验证,.htaccess,MIME绕过,00截断,双写后缀,文件头检测)

ctfhub 文件上传 无验证 上传一句话木马 访问成功显示666 连接蚁剑 得到flag ctfhub{149641ca197038f11067df1a} 前端验证 不能直接上传 js前端验证,过滤在前端 所以我们可以通过直接修改前端js文件或BP改包的方式绕过 这里我们用BP 打开BP上传图片文件 改包并上穿 尝试访问成功 连接蚁剑 得到flag ctfhub{1856388f624ce5d680835d50} .htaccess 1.知识点 (1)先简单介绍一下.htaccess文件: .htaccess文件 (或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。 它提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。 作为用户,所能使用的命令受到限制。 管理员可以通过Apache的AllowOverride指令来设置。 .htaccess文件是用于apache服务器下的控制文件访问的配置文件,因此Ng

By Ne0inhk