polkadot-20
https://www.youtube.com/watch?v=oUwQxJMhcGg
03, 本地测试网络的搭建需要编译哪些模块, 多选
A substrate node
B revive dev node
C revive eth rpc
D polkadot node
答案:A、B、C
简要说明
- A substrate node:Revive 基于 Substrate 构建,必须编译底层节点模块。
- B revive dev node:本地开发测试网的核心节点,必须编译。
- C revive eth rpc:提供以太坊兼容 RPC 接口,供 MetaMask、Hardhat 等工具连接,必须编译。
- D polkadot node:波卡中继链节点,与 Revive 本地测试网无关,不需要。
05, Revive智能合约一般使用如下工具来测试, 多选
A Hardhat
B Truffle
C Foundry
答案:A、C
解析
Revive 是 EVM 兼容链,完全兼容以太坊工具栈:
- Hardhat:主流合约开发与测试框架
- Truffle:传统以太坊合约开发测试套件
- Foundry:高性能 Solidity 测试工具
三者都可直接用于 Revive 智能合约的测试与部署。
06, 必填, 合约的验证主要起到什么作用, 单选
A 查看智能合约地址是否正确
B 防止错误的Bytecode上传
C 上传源代码,增加可信度
D 让区块链浏览器可以找到合约
答案:C
解析
智能合约验证的核心是:上传并开源源代码,让所有人可核对链上字节码,确认合约逻辑透明、无后门,提升可信度与安全性。
07, Hardhat可以用来部署PVM合约吗, 单选
A 可以
B 不可以
答案:可以
什么是PVM合约,还有那些合约?
第四课课程
「Yuki桑: 晚间答疑时间8点-10点
同学们第四课课程&作业有遇到问题记得来交流哦
本周答疑: 讲师 @周俊 助教 @量子
————————————
🚩课程学习链接:https://www.youtube.com/playlist?list=PLKgwQU2jh_H_GiXWMxPoNqc6VQqV0XZwf
️ 第四课 Task4 任务:
️选择题:https://wj.qq.com/s2/26359758/hzwe/
️实践题:https://github.com/papermoonio/2026-h2-building-production-grade-dApps/blob/main/homework/homework-4/readme.md」
—————————
03, Ethers 特点, 多选
A 体积小、运行快
B 类型安全/TS支持
C 钱包与签名管理
D 不需要密码
答案:A、B、C
解析(Ethers.js 核心特点)
A 体积小、运行快 ✅
Ethers.js 相比 Web3.js 体积更小,打包后轻量化,运行效率更高,是前端 DApp 常用库。B 类型安全/TS支持 ✅
原生支持 TypeScript,自带完整类型定义,类型安全,开发体验极佳。C 钱包与签名管理 ✅
内置完善的钱包创建、私钥管理、消息签名、交易签名功能,是核心能力之一。D 不需要密码 ❌
密码/助记词是钱包安全的核心,Ethers 必须依赖私钥/助记词管理账户,不存在“不需要密码”的特点。
总结
正确选项:A、B、C
04, Viem 特点, 多选
A 模块化和高性能
B 多链天然支持
C 强类型
D 对WASM合约支持
答案:A、B、C、D
解析(Viem 核心特点)
A 模块化和高性能 ✅
Viem 采用模块化设计,按需引入功能,无冗余代码;底层优化了RPC调用、编码解码逻辑,性能远超Ethers、Web3.js,是它最核心的优势。B 多链天然支持 ✅
Viem 原生内置主流公链配置,开箱即用支持多链,无需手动配置链信息,开发跨链DApp极便捷。C 强类型 ✅
基于 TypeScript 开发,完整强类型支持,类型推断精准,开发时无类型报错,体验极佳。
总结
正确选项:*A、B、C(全选)
Viem 是一个轻量、高性能、强类型的 TypeScript 区块链开发库,用于替代 Ethers.js / Web3.js,专门优化以太坊(及兼容链)交互体验。
一、核心定位
- 底层无状态接口:提供以太坊 JSON-RPC 的简洁抽象
- TypeScript 原生:强类型、类型推断、类型安全
- 模块化、高性能:体积小、速度快(比 Ethers.js 快约 40 倍)
- 多链支持:原生支持以太坊、Arbitrum、Optimism、Polygon 等
二、核心特点(对应上一题)
- A 模块化和高性能 ✅
- 按需引入、Tree-shaking、体积仅 ~35KB
- 编码/解码、RPC 调用全面优化
- B 多链天然支持 ✅
- 内置主流链配置,开箱即用
- C 强类型 ✅
- 完整 TS 类型、ABI 自动生成类型
- D 对 WASM 合约支持 ✅
- 支持 WebAssembly 合约交互
三、核心概念
- Client(客户端)
- Public Client:读取链数据(区块、余额、合约调用)
- Wallet Client:签名、发送交易、连接钱包
- Test Client:本地节点(Anvil/Hardhat)测试
- Actions:模块化操作(getBlockNumber、sendTransaction、readContract 等)
四、简单示例
1 | |
五、与 Ethers.js / Web3.js 对比
- Viem:轻量、快、强类型、模块化、现代 API
- Ethers.js:功能全、生态成熟、体积较大
- Web3.js:历史悠久、兼容性好、性能与类型较弱
六、总结
Viem = 现代、高性能、强类型、模块化的以太坊开发库,是目前 Web3 前端/后端开发的首选工具之一。
要不要我把 Viem、Ethers.js、Web3.js 的核心差异整理成一份简明对比表?
05, Polkadot Hub testnet chain ID, 单选
A 420420417
B 420420420
C 42
D 0
答案:A 420420417
解析
- Polkadot Hub Testnet(Paseo) 的官方 Chain ID 为 420420417。
- B 420420420 是 本地开发测试网(Kitchensink) 的 Chain ID。
- C 42 是以太坊测试网(如 Kovan)的旧 Chain ID。
- D 0 无对应主流网络。
06, 必填, Web3.py 成为主流交互方式的原因, 单选
A 使用python写智能合约越来越多
B AI agent的流行,使用python来调用
C 它是由以太坊官方维护的
D Python 比 Javascript效率高
答案:C
07, Contract 和 Runtime交互方式比较, 单选
A Contract 执行效率更高
B Contract 可以升级,Runtime不行
C Contract 可以节省手续费
D Contract的执行依赖Runtime
答案:D Contract的执行依赖Runtime
简要解析
- 在 Substrate / Polkadot 体系里:
- Runtime 是链的核心运行环境,包含所有底层逻辑、 pallet、系统调用。
- Contract(智能合约) 运行在 Runtime 提供的合约模块(如 pallet-contracts)之上,必须依赖 Runtime 才能执行。
其他选项问题:
- A:Contract 通常比直接调用 Runtime 逻辑更慢、开销更大
- B:Runtime 可通过升级(runtime upgrade)更新,Contract 也可设计为可升级
- C:Contract 一般手续费更高,而非更低