文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
首页
文章
视频
课程
集训营
工作
工作
问答
活动
文档
集市
搜索
登录/注册
Tiny熊
文章
专栏
问答
视频
课程
集市作品
活动
招聘
TA的视频
TA的合集
Web3前端开发:前端库与钱包连接
视频 AI 总结: 视频主要探讨了Web3前端开发中的关键技术,包括钱包连接、状态管理和多种登录认证方式。它介绍了Wagmi库如何简化DApp的状态管理,以及ConnectKit等库如何统一处理各种钱包连接方式。视频还详细讲解了Web3登录的优势(单一身份、互操作性),并深入探讨了WalletConnect协议、社交登录(如Web3Auth)以及基于以太坊签名的后端认证机制,旨在提升用户体验并确保资产安全。 关键信息: 1. **Wagmi 库:** 这是一个Web3前端开发库,通过内置Hook简化状态管理,实现钱包余额、网络变化、合约数据等自动更新和缓存,提高开发效率。 2. **钱包连接库(如AppKit):** 旨在统一处理多种钱包连接方式,包括浏览器扩展(如MetaMask)、移动端DApp内置浏览器以及跨设备的WalletConnect。 3. **EIP-6963 标准:** 解决了多个钱包扩展同时注入`window.ethereum`对象时可能出现的冲突,允许DApp选择特定的Provider。 4. **WalletConnect 协议:** 实现跨设备(如手机扫码连接桌面DApp)的钱包连接,通过中继服务器安全传输签名信息,确保用户私钥不离开钱包。 5. **Web3 登录优势:** 相较于传统Web2登录,Web3提供单一、互通的链上身份(钱包地址、ENS),简化用户在不同DApp间的身份管理和互操作性。 6. **社交登录(如Web3Auth):** 通过私钥分片技术(例如将私钥分成三片,任意两片即可重建或签名)结合社交账号(如Google)进行认证,降低用户记忆助记词/私钥的门槛,提升用户体验,适用于小额交易或游戏。 7. **基于以太坊签名的后端认证(Sign-in with Ethereum):** 用户通过钱包签名特定消息,后端验证签名以确认用户身份(地址所有权),实现去中心化的登录认证,常用于需要后端交互的DApp。
3
0
0
4小时前
VibeCoding: TokenBank前端
视频 AI 总结: 视频演示了如何利用AI工具(如Codex)快速开发一个TokenBank去中心化应用的前端界面。核心功能包括代币的存入(deposit)和取出(withdraw),并涉及合约部署、ABI获取、钱包连接(Web3Modal)以及必要的代币授权流程。视频强调了AI在代码生成和UI设计(如Google Stitch、Figma Make)方面的强大能力,甚至能从图片生成前端代码,极大地提升了开发效率和便利性。 关键信息: 1. **项目目标与核心功能**:为TokenBank智能合约构建前端界面,实现代币的存入(deposit)和取出(withdraw)功能。 2. **开发流程**: * 部署Token和TokenBank智能合约,获取合约地址和ABI(接口描述)。 * 使用AI工具(如Codex)生成前端代码,采用Next.js作为前端框架,Web3Modal进行钱包连接。 * 前端界面需包含输入框、存取按钮、用户余额显示,并处理代币授权(approve)步骤。 * 开发环境可使用本地节点(如Hardhat/Anvil)进行合约部署和测试。 3. **AI在前端开发中的应用**: * **代码生成**:AI工具(如Codex)能根据需求生成完整的Next.js前端代码,包括合约交互逻辑、React Hooks等。 * **UI/UX设计**:介绍Google Stitch和Figma Make等AI工具,它们能根据文本提示生成UI设计,并支持导出到Figma或直接生成带样式的代码。 * **图片转代码**:AI能够将UI图片转换为HTML/CSS前端代码,进一步加速开发。 4. **开发理念**:强调“思路”的重要性,鼓励开发者信任AI工具,利用其大幅提升开发效率,减少重复性工作。 5. **后端开发(简述)**:提及后端开发类似,主要关注监听合约事件,通过AI生成监听脚本。 6. **NFT托管问题解答**:澄清在NFT市场中,一旦用户授权并上架NFT,NFT的所有权已转移至市场合约,买家购买时无需原所有者再次“放行”。
5
0
0
4小时前
讨论:AI时代应该注重什么样的能力
视频 AI 总结: 该视频深入探讨了去中心化应用(DApp)中前端与后端交互的挑战、人工智能(AI)对技术人员角色和技能的深远影响,以及AI与区块链技术之间的关系。视频指出,DApp可以通过完全无后端(如Uniswap利用The Graph)或开源后端供用户自行验证的方式实现去中心化。面对AI的崛起,技术人员应将重心从编码转向“让AI服务自己”的能力,即业务理解、问题拆解、设计和有效调度AI。同时,视频强调AI与区块链是垂直关系,AI提升生产力,而区块链解决生产关系和信任问题,两者互补而非竞争。 关键信息: 1. **DApp去中心化实践**:DApp为避免中心化后端可能带来的作恶风险,可选择完全无后端(数据通过The Graph等去中心化平台获取)或将后端程序完全开源,允许用户自行托管和验证,核心在于提供“可验证”的能力。 2. **AI时代技能转型**:技术人员的“业务能力”定义需转变,不再是单纯的编码能力,而是如何利用、调度和管理AI,将想法转化为产品,以及对业务的深刻理解和设计能力。 3. **AI与区块链的垂直关系**:AI主要提升“生产力”(如编码、内容创作),而区块链解决“生产关系”和“协作信任”问题(如去中心化交易、降低交易摩擦),两者在不同维度发挥作用,互为补充。 4. **AI时代的学习与面试**:学习应侧重于理解业务逻辑和思维,通过使用AI来辅助编码,再阅读和理解AI生成的代码。面试官将更关注候选人与AI沟通、拆解和解决问题的能力,而非传统的八股文知识。 5. **编码岗位趋势**:随着AI的普及,传统编码岗位的数量将减少,因为AI能显著提高个人工作效率,使一人能完成多人的工作量。
4
0
0
4小时前
Web3应用开发初探
视频 AI 总结: 本视频深入探讨了Web3应用开发,强调其与Web2的核心区别在于用户对资产的私钥控制和智能合约作为核心后端逻辑。开发者通过RPC请求与区块链交互,并利用如web3.js等SDK简化读写合约数据、发起交易及监听链上事件等操作。前端应用通常借助MetaMask等钱包进行用户签名和交易发送,而交易的异步性要求额外的确认机制。历史数据查询则常依赖于后端数据平台进行索引。 视频中提出的关键信息: 1. **Web3应用核心特点:** 资产由用户私钥控制,智能合约承载核心业务逻辑,取代部分传统后端。前端负责用户界面和交互。 2. **与区块链交互机制:** * 通过RPC请求(HTTP或WebSocket)与链节点通信。 * 使用SDK(如web3.js,TypeScript库更丰富)封装底层RPC调用,简化开发。 3. **主要交互操作:** * **读取合约数据:** 查询Token余额、NFT持有状态等(通过`eth_call`)。 * **写入合约数据:** 发起交易(如购买、授权),需用户钱包签名。交易是异步的,需等待链上确认(通过Tx hash获取收据)。 * **监听链上事件:** 通过WebSocket建立长连接或SDK轮询,实时获取链上状态变化(如ERC20的Transfer事件)。 4. **前端开发特点:** * 通过MetaMask等插件钱包注入的`ethereum`对象与链交互。 * 钱包负责用户签名,并将交易发送至链。 5. **后端/数据平台作用:** * 链上数据查询对历史数据不友好,后端或数据平台负责索引链上事件和数据,提供结构化查询接口(如RESTful API)。 6. **开发工具与概念:** * ABI(Application Binary Interface)用于描述合约函数,辅助SDK进行数据编码和解码。 * Client对象代表远程节点连接,WalletConnect包含私钥信息用于签名。
33
0
0
1天前
VibeCoding: 如何开发 NFT 市场智能合约
视频 AI 总结: 视频详细讲解了如何构建一个NFT市场智能合约。核心内容包括ERC721 NFT的上架(list)和购买(buy)流程,以及使用ERC20代币进行支付。视频探讨了两种主要的交易实现方式:传统的授权(approve)机制和基于ERC-1363标准的`transferAndCall`回调机制。此外,还讨论了NFT在上架后是否由市场合约托管、并发购买的处理逻辑,以及后端如何通过监听事件来维护市场状态。 **关键信息:** 1. **核心合约:** 涉及NFT合约 (ERC721)、支付代币合约 (ERC20) 和 NFT市场合约。 2. **主要角色:** 卖家 (Alice) 和买家 (Bob)。 3. **核心功能:** * **上架 (List):** 卖家将NFT挂牌出售,设定价格。 * **购买 (Buy):** 买家购买已上架的NFT。 4. **交易实现机制:** * **授权模式 (Approve):** 卖家需授权市场合约转移其NFT,买家需授权市场合约转移其支付代币。 * **回调模式 (ERC-1363 `transferAndCall`):** 买家通过一次交易将支付代币连同NFT ID等附加数据发送给市场合约,市场合约通过回调函数完成购买,简化了买家操作。 5. **NFT托管方式:** * **市场合约托管:** 卖家上架时将NFT转移至市场合约,确保交易成功率。 * **卖家自行保管:** NFT在上架后仍由卖家持有,直到成交时才转移。此方式需市场后端监听NFT转移事件以处理下架,避免买家购买失败。 6. **并发处理:** 区块链交易是顺序执行的,不存在真正的并发购买。交易排序由矿工根据Gas费等因素决定。 7. **市场后端作用:** 对于NFT由卖家自行保管的情况,市场后端需监听NFT转移事件,确保上架信息与实际持有状态一致,及时下架已被转移的NFT。 8. **代码实现细节:** 使用`mapping`和`struct`存储上架信息,事件(Event)的触发,以及必要的检查(如余额、所有权)。 9. **测试:** 强调编写测试用例的重要性,包括模拟用户操作(`Prank`)、设置初始条件和验证交易结果。
6
0
0
1天前
NFT核心概念与发行
视频 AI 总结: 本视频详细讲解了非同质化代币(NFT)的发行过程和核心概念,将其与同质化代币 ERC-20 进行了对比。NFT 通过唯一的 `Token ID` 标识独一无二的数字资产(如艺术品、收藏品),其属性由 `Token URI` 指向的元数据(通常为 JSON 格式)描述。为确保元数据的不可篡改性和永久性,视频强调应将其存储在 IPFS 或 Arweave 等去中心化网络上。发行 NFT 涉及开发符合 ERC-721 标准的智能合约,准备元数据,并通过 `mint` 方法铸造。 关键信息: 1. **NFT 与 ERC-20 的区别:** ERC-20 是同质化代币,可互换;NFT 是非同质化代币,每个都是独一无二的,通过唯一的 `Token ID` 标识。 2. **NFT 属性描述:** NFT 的独特属性通过 `Token URI` 指向的元数据(通常是 JSON 文件)来描述,其中包含图片、名称和自定义属性等。 3. **去中心化存储的重要性:** 为防止 NFT 元数据被篡改或丢失,应将其存储在 IPFS(内容寻址,哈希保证内容不变)或 Arweave(永久存储区块链)等去中心化存储网络上,而非中心化的 HTTP 服务器。 4. **ERC-721 标准:** 发行 NFT 需遵循 ERC-721 标准,OpenZeppelin 提供了其实现。该标准包含 `Safe Transfer From`(防止 NFT 锁定在合约中)和 ERC-165(用于合约间接口检测)等安全特性。 5. **NFT 发行流程:** * 开发符合 ERC-721 标准的智能合约。 * 准备 NFT 的元数据(包括图片和描述 JSON 文件),并上传至 IPFS 等去中心化存储。 * 通过合约的 `mint` 方法,将 `Token ID` 与元数据 URI 关联,铸造(发行)单个 NFT。 6. **相关概念:** * **SBT (Soul-Bound Tokens):** 灵魂绑定代币,绑定到特定地址且不可转移,用于表示身份或成就。 * **ERC-1155:** 结合了 ERC-20 和 ERC-721 特性的标准,允许一个 ID 既有独特性又可拥有数量(例如,一个作品的多个拷贝)。 7. **实际操作提示:** 部署合约和铸造 NFT 时,需注意网络费用和 NFT 市场(如 OpenSea)对不同区块链网络的支持情况。在 NFT 市场中,NFT 的展示依赖于市场对链上 `Transfer` 事件的监听和索引。
17
0
0
1天前
答疑:关于 Web3 后端开发工作
视频 AI 总结: 这段视频主要回答了关于 Web3 后端开发、Solidity 学习深度、后端常用语言以及钱包开发等问题。讲者指出,Web3 后端的核心工作是监听链上事件,将数据索引到中心化数据库供前端展示,而非传统意义上的纯后端逻辑。因此,后端开发者需要深入理解现有合约的业务逻辑和事件解析,但不必精通合约编写。讲者还强调,在 Web3 领域,编程语言的重要性不如领域知识和与链交互的能力,JavaScript/TypeScript 在后端应用中占比很高,Go 和 Rust 也有使用。 视频中提出的关键信息: 1. **Web3 后端的核心职责**:主要负责数据索引(Indexing),即监听链上合约的交互事件,将数据结构化存储到数据库(如 MySQL),并提供接口供前端展示历史记录(例如 Uniswap 的活动列表)。 2. **Solidity 学习深度**:对于 Web3 后端开发者而言,Solidity 不必学到非常深入的合约编写程度,但需要能够熟练阅读和理解他人编写的合约代码,以便解析事件和业务逻辑,从而正确索引数据。 3. **Web3 后端开发者的技能要求**:需要理解复杂的业务逻辑和事件触发关系,处理多事件分析。由于 Web3 团队通常较小,开发者可能需要具备类似全栈的能力,甚至可能涉及合约编写,具体取决于团队需求。 4. **钱包开发**:这是一个独立的专业岗位,既有前端部分(如 MetaMask),也有后端部分(如交易所的托管钱包系统)。 5. **Web3 后端常用编程语言**:并非主要由 Go 开发。JavaScript/TypeScript 在 Web3 后端中占比非常大,因为前端与链交互的库生态非常完善。Rust 也有应用。讲者认为语言本身的重要性低于对链交互的理解和领域知识,AI 的发展进一步降低了语言特性的重要性。 6. **学习方法建议**:讲者强调实践的重要性,鼓励学生多动手操作,以避免在后续课程中跟不上进度。
14
0
0
2天前
Foundry 智能合约测试 + AI 编写测试
视频 AI 总结: 1. **核心内容概括:** 视频深入讲解了区块链智能合约测试的重要性,强调由于链上代码不可修改,部署前发现并解决问题至关重要。它介绍了Foundry测试框架的强大功能,包括验证函数预期、优化Gas消耗、调试日志、以及模拟EVM环境(如区块高度、时间戳、用户身份、账户余额)。视频还详细阐述了模糊测试(Fuzz Testing)、不变量测试(Invariant Testing)和分叉测试(Fork Testing)等高级测试方法,并多次强调AI在辅助生成和分析测试用例方面的巨大潜力,能显著提高测试效率。 2. **视频中提出的关键信息:** * **测试的重要性:** 链上代码不可修改,因此在部署前发现问题是核心。 * **测试目标:** 验证智能合约函数是否符合预期,关注事件触发,优化Gas消耗,进行调试。 * **调试手段:** 使用`console.log`进行本地日志调试;Tenderly可用于链上调试和交易模拟。 * **Foundry测试框架基础:** * 测试用例需继承`Test`,测试函数以`test`开头,每个测试用例独立无状态。 * 运行测试:`forge test`,`-v`显示详细日志,`--match-test`运行指定测试。 * Gas报告:`forge test --gas-report`,提供函数最小、平均、最大Gas消耗及调用次数。 * 快照:`forge snapshot`,用于生成快照文件以对比Gas变化。 * **EVM环境模拟工具(作弊码):** * `vm.roll()`:模拟区块高度变更,用于时间依赖逻辑。 * `vm.warp()`:模拟时间戳变更。 * `vm.prank()` / `vm.startPrank()` / `vm.stopPrank()`:模拟`msg.sender`,以不同用户身份执行操作。 * `vm.deal()`:重置指定地址的ETH余额。 * `vm.etch()`:加载指定存储槽的数据。 * `vm.env()`:读取环境变量。 * **断言机制:** * `vm.expectRevert()`:断言合约执行会失败(预期错误)。 * `vm.expectEmit()`:断言合约会触发特定事件。 * **模糊测试 (Fuzz Testing):** * 通过随机生成输入参数,测试函数在各种条件下的健壮性。 * 可指定参数范围和条件,默认运行256次。 * **不变量测试 (Invariant Testing):** * 模拟合约函数组合调用序列,验证在复杂操作下,合约的特定约束条件(如ERC-20总供应量不变)是否始终保持。 * **分叉测试 (Fork Testing):** * 在本地模拟主网或测试网的实时状态,用于测试与现有链上合约(如USDT、Uniswap)的交互。 * 可通过`forge test --fork-url`或`vm.createFork()`实现。 * **AI辅助测试:** 强调AI在生成测试用例、分析Gas报告、解决测试问题方面的强大辅助作用,能大幅提升开发效率。
21
0
0
3天前
VibeCoding: 使用 Foundry 开发部署 Token 并开源
视频 AI 总结: **1. 核心内容概括 ** 视频主要对比了 Foundry 和 Remix 在智能合约开发中的优劣,强调 Foundry 在本地开发、大型项目管理和测试方面的显著优势。讲师详细介绍了如何利用 AI 辅助测试,大幅提升效率。随后,通过实际操作演示了使用 OpenZeppelin 和 Foundry 部署并开源一个 ERC20 代币(MyToken)到 Sepolia 测试网的全过程,包括安全部署、账户资金准备、合约验证以及与区块链交互的 `cast` 命令使用,并强调了开源对合约透明度和信任的重要性。 **2. 视频中提出的关键信息** * **Foundry 的优势:** 适用于本地开发、大型项目和复杂的测试场景,提供强大的测试框架和命令行工具,优于 Remix 在页面上进行小规模 Demo 开发的局限性。 * **AI 在测试中的应用:** AI 能高效分析代码分支和条件,显著减少测试时间(传统上测试时间是开发时间的 2-3 倍),提高测试覆盖率。 * **智能合约部署流程:** * 使用 OpenZeppelin 库快速开发 ERC20 代币(如 MyToken)。 * 强调使用 Keystore 进行安全部署,避免直接暴露私钥。 * 部署前需确保部署账户有足够的资金支付手续费。 * 通过 `forge verify` 命令将合约代码开源到区块链浏览器(如 Etherscan),需要配置 API Key。 * 开源合约能提高透明度和用户信任,因为代码逻辑清晰可见。 * **Foundry 命令行工具:** * `forge`:用于合约的编译、部署和验证。 * `cast`:用于与区块链进行交互,例如查询账户余额 (`cast balance`) 或调用合约函数 (`cast call`)。 * **故障排除与 AI 辅助:** 遇到错误时,应养成“万事不决问 AI”的习惯,利用 AI 解决开发中遇到的问题。 * **网络节点配置:** 部署合约需要指定目标网络的 RPC URL,可以通过 Chainlist 等网站获取。 * **安全性考量:** 强调私钥和 API Key 等敏感信息不应直接硬编码,应通过环境变量或 Keystore 等方式管理,以确保项目安全。
22
0
0
3天前
Foundry:Solidity智能合约开发框架
视频 AI 总结: 视频主要介绍了 Foundry,一个用于 Solidity 智能合约本地开发的强大框架。它涵盖了 Foundry 的安装、项目初始化、合约编译、测试(包括模糊测试)以及部署的全流程。视频强调了 Foundry 在本地开发中的优势,如项目管理、测试框架集成,并详细讲解了账户安全管理(私钥、Keystore)、依赖安装(OpenZeppelin)和合约开源验证等关键实践。此外,还讨论了命令行工具对 AI 友好的趋势,以及在实际开发中提升效率和安全性的技巧。 视频中提出了哪些关键信息: 1. **Foundry 核心功能与优势:** * Foundry 是一个用于 Solidity 智能合约本地开发的脚手架和开发套件,相比 Remix 更适合复杂项目。 * 提供项目初始化、编译、测试和部署的全流程管理,且完全由 Rust 开发,速度快,测试框架优秀。 * 命令行工具对 AI 友好,是未来开发趋势。 2. **Foundry 主要组件:** * `Forge`: 用于合约开发全流程,包括初始化、编译、测试、部署。 * `Cast`: 用于与链交互,管理钱包。 * `Anvil`: 本地测试节点,提供测试账户和 RPC 服务。 3. **开发流程与命令:** * `forge init`: 初始化项目。 * `forge build`: 编译合约。 * `forge test`: 运行测试用例,支持 `setup` 初始化和模糊测试 (Fuzz testing),并显示 Gas 消耗。 * `forge create` / `forge script`: 部署合约,需准备有余额的钱包地址和 RPC URL。 * `--broadcast`: 实际广播交易。 * `--verify`: 用于合约开源验证。 4. **账户管理与安全性:** * 私钥、助记词明文暴露在命令行中极不安全,易被窃取。 * 推荐使用 Keystore 加密文件管理私钥,部署时输入密码解锁。 * `cast wallet new`: 创建新的 Keystore 钱包。 * 环境变量 (e.g., `ACCOUNT_PRIVATE_KEY`) 可用于本地测试,提高便利性,但安全性低于 Keystore。 5. **依赖管理:** * `forge install`: 安装外部库,如 OpenZeppelin。 * `remapping`: 将长路径映射为短别名,方便代码引用 (e.g., `@openzeppelin/contracts=lib/openzeppelin-contracts/contracts`)。 6. **合约开源与验证:** * 开源代码是建立信任、实现“无需信任”环境的关键。 * 链上只保存字节码,合约代码需通过区块链浏览器(如 Etherscan, Sourcify)进行开源验证。 * 验证过程:将代码、编译器版本、优化选项发送给浏览器,后台编译匹配链上字节码。 * 需申请 API Key 进行验证操作。 * 部署时使用 `--verify` 参数可同步开源,后期开源风险高。 7. **开发技巧:** * 保存合约地址:将部署的合约地址保存到 JSON 文件中,方便后续交互。 * 配置 RPC URL:在 `foundry.toml` 中配置 RPC 别名 (e.g., `local = "http://127.0.0.1:8545"`), 简化部署命令。 * `VM` (作弊码): Foundry 提供的 Solidity 语法扩展,用于文件操作、环境变量读取等,方便脚本编写。 8. **学习与实践:** * 强调动手实践的重要性,仅听课难以深入理解,建议提前预习并亲自操作 Foundry 工具。
36
0
0
4天前
‹
1
2
3
4
5
6
7
8
...
41
42
›
Tiny熊
0xD682...E8AB
关注
贡献值: 22890
学分: 924924
登链社区发起人 通过区块链技术让世界变得更好而尽一份力。
2286 关注
1305 粉丝
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容:
提醒
检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
×
编辑封面图
封面预览
取消
确认
×
创建课程
课程封面
编辑封面图
建议尺寸: 1920*1080
×
编辑封面图
封面预览
取消
确认