文章 视频 课程 百科图谱 集训营
更多
  • 问答
  • 提问
  • 发表文章
  • 专栏
  • 活动
  • 文档
  • 工作
  • 集市
  • 发现
  • 首页
  • 文章
  • 视频
  • 课程
  • 集训营
  • 工作
    • 工作
    • 问答
    • 活动
    • 文档
    • 集市
搜索
  • 登录/注册
Tiny熊
  • 文章
  • 专栏
  • 问答
  • 视频
  • 课程
  • 集市作品
  • 活动
  • 招聘
TA的视频 TA的合集
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天前
VibeCoding: 实现 ERC1363 用回调优化TokenBank
视频 AI 总结: 视频主要讲解了如何通过ERC1363标准为ERC20代币添加回调(callback)功能,并将其应用于TokenBank合约,实现无需预先授权即可直接转账并记录存款。讲师演示了如何利用AI工具生成和管理代码(包括Git提交),并强调了在回调函数中验证`msg.sender`的重要性,以确保交易安全。视频还讨论了智能合约开发中对ERC标准(如ERC20、ERC721、ERC1363)的掌握程度,以及推荐使用OpenZeppelin等成熟库进行开发。 视频中提出的关键信息: 1. **ERC1363标准的应用**: 扩展ERC20代币,使其具备`transferAndCall`功能,允许在转账后自动调用接收合约的特定函数。 2. **TokenBank存款记录优化**: 利用ERC1363的回调机制,TokenBank可以直接在`onTokenTransferReceived`函数中记录存款,省去了传统的`approve`和`transferFrom`两步操作。 3. **安全验证**: 在回调函数中,必须验证`msg.sender`是否为代币合约本身,以防止恶意调用和虚假存款记录。 4. **AI辅助开发**: 演示了AI在代码生成、Git提交和版本管理中的应用,但也指出AI可能存在“过度设计”的问题。 5. **标准掌握与库使用**: 强调了掌握ERC20、ERC721等核心标准的重要性,并推荐在实际开发中基于OpenZeppelin等成熟库进行继承式开发,而非从零开始编写。 6. **定制化功能**: `transferAndCall`被视为代币的定制化功能,类似于稳定币的冻结、增发等特性。
18
0
0
4天前
VibeCoding 实践代币银行,理解 ERC20 授权
视频 AI 总结: 本视频主要讲解了在以太坊智能合约中实现 ERC20 代币银行(TokenBank)的存款功能。核心内容围绕 ERC20 代币转账的特殊性展开,指出直接使用 `transfer` 方法向合约转账无法触发合约代码执行,导致无法记录存款。为解决此问题,视频详细介绍了“拉取”机制,即用户先通过 `approve` 授权,再由 TokenBank 合约调用 `transferFrom` 拉取代币。此外,视频还探讨了 ERC777 和 ERC1363 等带有回调机制的代币标准,以简化用户操作、防止代币锁定,并强调了使用 `SafeERC20` 库来兼容非标准 ERC20 代币的重要性。 视频中提出了哪些关键信息: 1. **ERC20 转账机制的挑战**:直接使用 ERC20 的 `transfer` 方法向合约地址转账,目标合约的代码(如记录存款)不会被执行,导致无法记录用户存款。这与 ETH 转账通过 `call` 方法触发 `receive` 回调不同。 2. **“拉取”机制(Approve + TransferFrom)**:为了让 TokenBank 记录存款,用户需要分两步操作: * **`approve`**:用户授权 TokenBank 合约可以从其账户中转移一定数量的代币。 * **`transferFrom`**:TokenBank 合约调用此方法,从已授权的用户账户中拉取代币到 TokenBank 合约中,并记录存款。 3. **ERC20 代币精度**:ERC20 代币通常使用 10 的 18 次方作为最小单位(decimals),以在 Solidity 不支持浮点数的情况下表示小数。 4. **用户体验问题**:`approve` 和 `deposit` 需要两次链上交易,用户体验不佳,且每次授权金额会随着 `transferFrom` 的使用而减少,可能需要重复授权。 5. **回调机制的引入**: * **ERC777**:引入 `tokenFallback` 回调函数,允许在代币转账时触发接收合约的逻辑,从而实现单笔交易存款并防止代币锁定。但因其复杂性,未被广泛采用。 * **ERC1363**:作为 ERC777 的简化版本,它通过 `transferAndCall` 方法和 `transferReceived` 回调函数,实现了类似功能,旨在提供更简洁的回调机制,防止代币被锁死在无处理逻辑的合约中。 6. **老旧 ERC20 代币的兼容性问题**: * **缺少返回值**:一些早期 ERC20 代币的 `transfer` 或 `transferFrom` 方法没有布尔返回值,导致依赖返回值的合约报错。 * **不回滚(Revert)而是返回 False**:部分代币在转账失败时不会回滚交易,而是直接返回 `false`,若不检查返回值,可能导致合约状态错误。 7. **`SafeERC20` 库**:OpenZeppelin 提供的 `SafeERC20` 库通过封装底层 `call` 调用,解决了上述非标准 ERC20 代币的兼容性问题,提升了安全性和鲁棒性。 8. **实践建议**:鼓励用户实际操作,包括实现带有回调功能的 TokenBank,以及在 DEX(如 Uniswap)上进行真实的代币交易,以体验 `approve` 和 `transferFrom` 的流程。 9. **合约交互**:介绍了如何在 Remix 中加载已部署的合约地址进行交互,以及通过交易收据(transaction receipt)查看交易结果和错误信息。
40
0
0
2026-03-07 10:06
Solidity进阶:库、导入与代币
视频 AI 总结: **1. 概括视频的核心内容:** 视频详细讲解了Solidity中的代码复用机制,包括库(Library)和导入(Import)。库通过`delegatecall`实现功能复用,但有状态限制;导入则强调模块化和利用如OpenZeppelin等成熟库的重要性。随后,视频深入阐述了ERC-20代币标准,解释了其核心方法(如转账、授权)及其在区块链生态系统互操作性中的关键作用。最后,通过一个TokenBank作业,引导学习者实践ERC-20代币的创建与交互,并强调了`approve`和`transferFrom`在代币存款中的应用。 **2. 视频中提出的关键信息:** * **库(Library)的使用:** 库是代码复用的一种方式,通过`delegatecall`调用,在调用者的上下文执行。它不能有状态变量,不能接收以太币,也不能作为独立实体部署。`using for`语法糖可用于扩展类型功能。 * **导入(Import)机制:** 用于实现代码模块化,提高开发效率和安全性。鼓励复用经过审计的优秀代码库(如OpenZeppelin),可导入本地文件、GitHub链接等。 * **EIPs与ERCs:** EIP(Ethereum Improvement Proposals)是针对以太坊网络本身的改进提案(如EIP-1559);ERC(Ethereum Request for Comments)是应用层标准(如ERC-20、ERC-721),旨在统一接口,降低沟通成本。 * **ERC-20 代币标准:** 定义了同质化代币(Fungible Token)的规范,包括名称、符号、`transfer`(转账)、`approve`(授权)等核心方法。它是去中心化应用、钱包、交易所等互操作性的基础。代币余额存储在ERC-20合约内部的`mapping`中,而非账户原生余额。 * **OpenZeppelin:** 一个广泛使用的、经过审计的Solidity代码库,提供安全、标准化的合约实现,高度推荐用于复用代码。 * **代币与原生币转账区别:** 原生币(如ETH)转账直接修改账户余额,而代币转账是调用代币合约的`transfer`方法,由代币合约内部管理余额。 * **TokenBank作业提示:** 在实现TokenBank存款功能时,用户需先对TokenBank合约进行`approve`授权,然后TokenBank合约再通过`transferFrom`方法从用户账户中提取代币,而非用户直接`transfer`给TokenBank。
14
0
0
2026-03-06 10:11
  • ‹
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • ...
  • 40
  • 41
  • ›
Tiny熊
Tiny熊
0xD682...E8AB
贡献值: 22890 学分: 924924
登链社区发起人 通过区块链技术让世界变得更好而尽一份力。
2286 关注 1305 粉丝
关于
关于我们
社区公约
学分规则
Github
伙伴们
DeCert
ChainTool
GCC
UpChain
合作
广告投放
发布课程
联系我们
友情链接
关注社区
Discord
Twitter
Youtube
B 站
公众号

关注不错过动态

微信群

加入技术圈子

©2026 登链社区 版权所有 | Powered By Tipask3.5|
粤公网安备 44049102496617号 粤ICP备17140514号 粤B2-20230927 增值电信业务经营许可证

发送私信

请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!

提醒

检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
编辑封面图
封面预览

创建课程

编辑封面图
建议尺寸: 1920*1080
编辑封面图
封面预览