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 核心特点)

  1. A 体积小、运行快
    Ethers.js 相比 Web3.js 体积更小,打包后轻量化,运行效率更高,是前端 DApp 常用库。

  2. B 类型安全/TS支持
    原生支持 TypeScript,自带完整类型定义,类型安全,开发体验极佳。

  3. C 钱包与签名管理
    内置完善的钱包创建、私钥管理、消息签名、交易签名功能,是核心能力之一。

  4. D 不需要密码
    密码/助记词是钱包安全的核心,Ethers 必须依赖私钥/助记词管理账户,不存在“不需要密码”的特点。

总结

正确选项:A、B、C

04, Viem 特点, 多选

A 模块化和高性能
B 多链天然支持
C 强类型
D 对WASM合约支持

答案:A、B、C、D

解析(Viem 核心特点)

  1. A 模块化和高性能
    Viem 采用模块化设计,按需引入功能,无冗余代码;底层优化了RPC调用、编码解码逻辑,性能远超Ethers、Web3.js,是它最核心的优势。

  2. B 多链天然支持
    Viem 原生内置主流公链配置,开箱即用支持多链,无需手动配置链信息,开发跨链DApp极便捷。

  3. C 强类型
    基于 TypeScript 开发,完整强类型支持,类型推断精准,开发时无类型报错,体验极佳。

总结

正确选项:*A、B、C(全选)


Viem 是一个轻量、高性能、强类型TypeScript 区块链开发库,用于替代 Ethers.js / Web3.js,专门优化以太坊(及兼容链)交互体验。

一、核心定位

  • 底层无状态接口:提供以太坊 JSON-RPC 的简洁抽象
  • TypeScript 原生强类型、类型推断、类型安全
  • 模块化、高性能:体积小、速度快(比 Ethers.js 快约 40 倍)
  • 多链支持:原生支持以太坊、Arbitrum、Optimism、Polygon 等

二、核心特点(对应上一题)

  1. A 模块化和高性能
    • 按需引入、Tree-shaking、体积仅 ~35KB
    • 编码/解码、RPC 调用全面优化
  2. B 多链天然支持
    • 内置主流链配置,开箱即用
  3. C 强类型
    • 完整 TS 类型、ABI 自动生成类型
  4. D 对 WASM 合约支持
    • 支持 WebAssembly 合约交互

三、核心概念

  • Client(客户端)
    • Public Client:读取链数据(区块、余额、合约调用)
    • Wallet Client:签名、发送交易、连接钱包
    • Test Client:本地节点(Anvil/Hardhat)测试
  • Actions:模块化操作(getBlockNumber、sendTransaction、readContract 等)

四、简单示例

1
2
3
4
5
6
7
8
9
10
11
12
import { createPublicClient, http } from 'viem'
import { mainnet } from 'viem/chains'

// 创建公共客户端(读取数据)
const client = createPublicClient({
chain: mainnet,
transport: http()
})

// 获取最新区块号
const blockNumber = await client.getBlockNumber()
console.log('Block:', blockNumber)

五、与 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 一般手续费更高,而非更低