MetaMask钱包+Ganache私有链实战(做完彻底懂区块、交易)
一、目标:让你亲手造出一条区块链
上一篇MetaMask钱包零基础实战我们学会了区块链钱包(身份)
本篇我们继续了解到底什么是区块?什么是交易?数据存在哪里?为什么不可篡改?
本篇做完,你将肉眼看到自己的区块链、自己的区块、自己的交易记录。
每一步操作,都对应区块链真实原理,不再抽象!
二、Ganache
首先介绍一个新的东西Ganache
Ganache =一台在你电脑上运行的、完整的小型区块链模拟器。
平时我们听到的"以太坊区块链",是全世界所有人共同维护的公链。
而 Ganache,是只属于你一个人的私有链。为了方便学习,它模拟了区块链的核心组件:
- 区块(Block)
- 交易(Transaction)
- 账户余额
- 账本记录
- 打包记账机制
你操作一次转账,它就会生成一个新区块、写入一条记录。
⚠️说明:Ganache 是单节点私有链,所有操作由你一人控制。真实区块链由全球成千上万个节点共同维护,具备更强的不可篡改性和去中心化保障。Ganache 的价值在于让你直观理解区块链的数据结构和运作流程。
三、启动私有链:你现在拥有了一条自己的区块链
操作步骤
打开 Ganache → Quickstart 快速启动
页面出现10个账户、每个账户100 ETH (第一个和第二个账户由于做了后续的操作发生了变化)
1. 区块链启动时,创世区块(Genesis Block)就初始化了账本数据
2. 所有资产记录都存储在区块链账本中,由链的规则管理,而不是存在某个公司的数据库里
此时此刻:你的电脑里,正在运行一条模拟的区块链。
四、配置网络:让钱包连接你的私有区块链
说明:MetaMask 默认接入以太坊公网,需要真实代币和手续费,不适合入门练习。Ganache 私有链提供免费测试币,所有操作本地运行,支持重置清空数据,方便反复做实验。
操作参数
网络名称,自己定
RPC:
链ID说需要一致,按理说写5777,但是写1337也是通过了。这里暂且不管,总之这一步是为了配置网络。具体操作如下
4.1点击左上角三条横线 (4.1-4.4 添加网络)
4.2找到网络
4.3点击添加自定义网络
4.4把刚刚参数填写
4.5之后就可以看到添加的网络
4.5回到主界面,点击所有默认网络(4.5-4.7 切换网络)
4.6点击自定义,选择已经添加的网络 (4.5之前的操作,也可以直接点这里,自定义网络)
4.7 返回主界面,可以看到网络已经配置好
✅原理讲解(关键)
MetaMask钱包默认连接的是公共区块链网络。
现在你手动修改网络配置,让钱包连接你自己电脑上运行的区块链节点。
这就是区块链节点通信的本质——钱包通过网络请求与节点交互,查询账户状态、提交交易。
五、导入私钥:把区块链账户放进钱包
5.1点击account1旁边的倒三角,接着点击添加钱包
5.2Ganache复制私钥 (点击小钥匙)
5.3MetaMask导入账户
5.4重复5.1-5.3操作,再次创建一个账户,如下图所示,现在已经有两个账户,那么就可以执行交易了
并且账户内已经自动分配好了测试 ETH
✅原理
账户数据存在于区块链上,不在钱包里!
钱包只是一把钥匙,用来查看和操作链上已经存在的账户。
区块链存数据,钱包管权限。
六、发起转账:真正完成一次区块链记账
操作:账户1发送1ETH给账户2 → 确认交易
点击发送
这里大概反应1-2分钟
✅每一步对应的原理
1. 你点击确认 = 发起一笔交易请求
2. Ganache节点收到请求 = 区块链节点验证交易合法性(检查余额、签名等)
3. 几秒后打包完成 = 生成新区块
4. 余额变动 = 账本数据更新
你刚刚亲手完成了一次完整的区块链记账流程!
⚠️说明:Ganache 收到交易后会立即自动出块,不需要竞争或等待。而真实区块链中,出块需要经过共识机制(如PoW挖矿或PoS质押验证),由矿工/验证者竞争记账权,通常需要数秒到数分钟不等。
账户2从100变成了101ETH
账户1 从100变成了99ETH
七、查看交易记录:看懂什么叫"不可篡改"
打开 Ganache → Transactions
你会看到:
- 唯一的交易哈希 TxHash
- 谁转的、转给谁、多少钱、手续费多少
同时也产生了新的区块
你现在亲眼看到的记录,就是区块链不可篡改(至于原理,需要深入学习)的底层形态。
⚠️重要说明:在 Ganache 中,作为私有链的唯一运营者,技术上你可以重置或删除数据。真正的不可篡改保障来自于多节点共识——当全球成千上万个节点都保存了完整的链数据,任何人想要篡改就必须同时修改超过半数的节点,这在计算上几乎不可能实现。
八、总结:你已经真正接触到区块链了
- 区块链是一种分布式账本网络(Ganache 是其简化版本,真实网络由多节点共同维护)
- 区块就是打包好的交易数据包
- 交易就是账本的每一笔记录
- 钱包是钥匙,不是账户数据库
- 去中心化 = 由众多节点共同维护,没有任何单一实体可以删除、修改链上记录