polkadot-第20期学习培训
Wagmi 是什么?
WAGMI = We’re All Gonna Make It(我们都会成功/我们都能赚到钱),是加密/Web3 社区的高频口号与文化梗,核心是集体乐观、抱团打气、长期主义。
一、基本含义与用法
- 中文常译:必胜、稳了、一起发财、都会成的。
- 场景:
- 熊市大跌、被套时:互相安慰“WAGMI,拿住”。
- 项目/技术突破:庆祝+凝聚共识“WAGMI frens”。
- 表达信念:相信行业、社区、长期持有者终将获益。
- 反义词:NGMI = Not Gonna Make It(凉了/要亏/没救),用来吐槽错误决策或看衰项目。
二、起源
- 最早来自2010年代健身圈,网红 Zyzz(Aziz Shavershian) 常说“You’re gonna make it, brah”,传播开来。
- 后进入 Reddit 的 WallStreetBets 散户社区,2021年牛市随加密/NFT/DeFi 爆发,彻底成为 Web3 文化符号。
三、和技术库 wagmi 的区别
你可能也见过一个叫 wagmi 的前端库(小写):
- 它是以太坊生态的 React 钱包连接器,简化 DApp 接入 MetaMask、WalletConnect 等钱包的代码。
- 口号 WAGMI(大写)≠ 技术库 wagmi(小写),只是同名巧合。
四、一句话总结
WAGMI 是加密圈的“抱团打气暗号”:市场会好、项目会成、大家都能赢,但它是情绪表达,绝非投资建议。
要不要我顺便整理一份常见 Web3 缩写速查表(如 GM、DYOR、HODL、FUD),方便你快速看懂社区聊天?
Wagmi 特点包括
答案:A、B、C、D 全选 ✅
这四个都是 wagmi(Web3 React 钱包库) 的核心官方特点。
逐项解析
A 类型安全 ✅
wagmi 基于 TypeScript 开发,完整类型推导:
- 调用合约、获取钱包地址、交易签名等全部自带类型检查
- 开发时不会出现拼写错误、类型不匹配等低级bug
- 是它最核心的优势之一
B 多种不同钱包连接 ✅
wagmi 内置支持几乎所有主流钱包,开箱即用:
- MetaMask、Coinbase Wallet、Trust Wallet
- WalletConnect、Rainbow、Argent 等
- 无需自己写适配代码,一行配置即可支持
C 和 Viem 有很好的集成 ✅
wagmi 底层直接使用 Viem(以太坊轻量级类型安全库):
- 所有 wagmi 的钩子(hooks)都能无缝调用 viem 功能
- 共享配置、共享客户端、类型完全互通
- 官方推荐组合:wagmi + viem + React
D 对于连接状态,数据缓冲可以自动管理 ✅
wagmi 内置强大的状态管理 + 缓存:
- 钱包连接状态自动同步
- 账户、余额、合约读取结果自动缓存
- 重复请求自动合并,避免重复网络请求
- 页面刷新、组件重渲染都不会丢失状态
总结
wagmi 的四大核心特点:
- 类型安全(TypeScript)
- 多钱包支持
- 与 Viem 深度集成
- 自动状态 & 缓存管理
→ 答案:A B C D 全对
viem是什么
Viem 是一个轻量、类型安全、高性能的以太坊(EVM 链)交互 TypeScript 库,由 wagmi 团队开发,定位是 ethers.js / web3.js 的现代化替代品。
一、核心定位
- 作用:连接 DApp 与区块链,发送交易、读取合约、监听事件、处理钱包签名等。
- 关系:wagmi 底层完全依赖 Viem,wagmi 是给 React 用的“带状态钱包连接器”,Viem 是底层“无状态链交互工具”。
- 类比:
- web3.js / ethers.js:老式、重、类型弱
- Viem:新、轻、快、类型强
- wagmi = Viem + React 状态管理 + 多钱包适配
二、五大核心特点(对应你之前的题)
极致类型安全(TypeScript 原生)
- 从 ABI 自动推导合约函数/事件类型,编译期校验,减少 80% 运行时错误。
- 原生支持
bigint,无需手动转换BigNumber。
模块化、轻量(Bundle 极小)
- 按需引入,打包体积比 ethers.js 小 60%+。
- 核心代码无依赖,浏览器/Node.js 通用。
高性能(比 ethers.js 快 40 倍+)
- 地址校验、ABI 编解码、JSON-RPC 通信全链路优化。
- 异步任务并行处理,减少等待时间。
多链与钱包原生支持
- 内置以太坊、Polygon、Arbitrum 等 20+ EVM 链配置。
- 直接接入 MetaMask、WalletConnect、私钥钱包,无需额外适配。
API 直观、贴近以太坊原生
- 方法名与以太坊 JSON-RPC 一致(如
getBlockNumber、sendTransaction),学习成本低。 - 完善文档与示例,支持 Anvil/Hardhat/Ganache 本地测试网。
- 方法名与以太坊 JSON-RPC 一致(如
三、代码示例(极简上手)
1 | |
四、Viem vs ethers.js(关键差异)
| 特性 | Viem | ethers.js |
|---|---|---|
| 类型安全 | 原生 TypeScript,强类型 | 需额外类型补丁,弱类型 |
| 包体积 | ~20KB(最小化) | ~130KB |
| 性能 | 极高(快 40 倍+) | 一般 |
| 多链支持 | 内置多链配置 | 需手动配置 |
| 与 wagmi 集成 | 官方底层,无缝 | 需适配层,有兼容问题 |
五、一句话总结
Viem 是 Web3 开发的新一代“标准工具”:类型安全、轻量、高性能、多链友好,是 wagmi 的底层核心,也是现代 DApp 开发的首选链交互库。
要不要我给你一份 Viem + wagmi 的最小可运行代码,直接复制就能在 React 项目里跑通钱包连接和合约读取?
Storage合约使用EVM 和 PVM时abi相同吗?
结论:同一套 Solidity Storage 合约,在 EVM 与 PVM(PolkaVM)上的 ABI 完全相同。
一、为什么 ABI 相同
ABI 由 Solidity 编译器决定,不由虚拟机决定
- ABI 是对合约函数/事件/参数的 JSON 描述,以及编码规则(如 address 占32字节、函数选择器取 keccak256 前4字节)。
- 只要源码不变、Solidity 版本不变,无论编译到 EVM 字节码还是 PVM(Revive)字节码,ABI 完全一致。
PVM(PolkaVM)通过 Revive 保持以太坊语义兼容
- Polkadot 的 Revive 模块:
- EVM 模式:直接跑标准 EVM 字节码,ABI 不变。
- PVM 模式:Solidity → YUL → RISC-V(PolkaVM)字节码,但对外仍暴露标准以太坊 ABI 与 RPC 接口。
- 对钱包(MetaMask)、DApp(wagmi/viem)、区块浏览器:调用方式、编码格式、ABI 完全和以太坊一致。
- Polkadot 的 Revive 模块:
Storage 布局完全兼容
- Solidity 的
storage槽位规则(如基本类型占1槽、结构体紧凑排列、mapping 哈希寻址)在 EVM/PVM 上完全一致。 - 同一组
set/get函数,在两种虚拟机上的参数编码、返回值解码、事件日志格式完全相同。
- Solidity 的
二、唯一区别:字节码不同
- EVM:编译为EVM 字节码(256位栈指令)。
- PVM:编译为RISC-V 字节码(64位寄存器指令)。
- 但ABI、调用数据、事件日志、存储布局 100% 兼容。
三、实操结论
- 你可以用同一套 ABI,通过 wagmi/viem 同时调用 EVM 与 PVM 上的 Storage 合约。
- 无需修改前端代码、无需重新生成 ABI、无需适配编码逻辑。
一句话总结:ABI 只跟源码与编译器有关,跟 EVM/PVM 无关;Storage 合约在两者上 ABI 完全相同。
要不要我给你一段可直接运行的 wagmi+viem 代码,同时调用 EVM 和 PVM 上的 Storage 合约,验证 ABI 一致性?
06, 必填, 波卡开发者文档有谁维护, 单选
A Pairty 公司
B Web3 基金会
C Papermoon 公司
答案:C Papermoon 公司
简要说明
- A Parity 公司:核心开发波卡/Substrate 代码,但不主导官方开发者文档维护。
- B Web3 基金会(W3F):波卡的资金与治理方,拥有内容终审权,但日常维护与运营由 Papermoon 执行。
- C Papermoon 公司:波卡官方开发者文档中心(docs.polkadot.com)的实际开发与日常维护团队,受 W3F 与 Decentralized Futures 资助执行。
需要我把波卡文档相关的维护分工和对应链接整理成一页速览吗?
Papermoon 公司是什么
PaperMoon(常写作 Papermoon)是波卡生态内专注「开发者关系(DevRel)+ 技术文档」的服务型初创公司,核心负责波卡官方开发者文档的日常维护与生态开发者体验建设。
一、基本信息
- 公司全称:PaperMoon DevRel Services
- 创始人:Alberto Viera(波卡生态资深开发者,前 Moonbeam 核心成员)
- 成立时间:2023年1月
- 团队规模:11–50人,分布式团队(中国/西班牙/美国)
- 官网:papermoon.io
二、核心定位与业务
波卡官方文档唯一维护方
- 负责 docs.polkadot.com(波卡开发者文档中心)的内容撰写、更新、翻译、审核、优化。
- 受 Web3 基金会(W3F) 与 Decentralized Futures(DF) 资助,Parity 提供技术协作。
开发者关系(DevRel)服务
- 为波卡/Polkadot Hub 生态提供:技术文档、教程、示例、SDK/工具适配、开发者支持、黑客松与活动运营。
- 重点项目:Moonbeam、Tanssi、Polkadot Hub(含 REVM/PVM 文档)。
技术专项:EVM→PVM 迁移支持
- 主导 REVM(Revive EVM) 测试与部署,帮助以太坊 DApp 低成本迁移至波卡 PVM(PolkaVM)。
- 编写 EVM/PVM 双虚拟机兼容文档(含 Storage 合约 ABI 一致性说明)。
三、与 Parity、Web3 基金会的区别
- Parity(A 选项):波卡底层代码(Substrate/Polkadot 节点)开发团队,不负责文档维护。
- Web3 基金会(B 选项):波卡资金与治理方,拥有文档终审权但不做日常维护。
- PaperMoon(C 选项):文档日常维护+DevRel 执行方,直接面向开发者提供技术支持。
四、一句话总结
PaperMoon 是波卡生态的「官方文档管家+开发者体验工程师」,由 W3F 资助、Parity 协作,独家负责波卡开发者文档的全生命周期维护。
需要我把 PaperMoon 的核心贡献、关键项目和联系方式整理成一页速览吗?
07, 在计算密集型智能合约选择时, 单选
A PVM 可以有比EVM更好的效率
B 都一样,通过Solidity代码实现没有区别
答案:A
解析:
PVM(PolkaVM) 基于 RISC-V 架构,专为高性能、计算密集型场景设计,相比 EVM 栈式虚拟机:
- 运算效率更高、指令执行更高效
- 复杂计算、大数运算、循环逻辑比 EVM 性能更好
所以计算密集型智能合约,PVM 效率优于 EVM,不是没区别。