Skip to main content

Command Palette

Search for a command to run...

jLab:郭宇的Web3开发最佳实践阅读笔记-1

Published
1 min read

jLab:郭宇的最佳实践阅读笔记-1

概述

阅读大牛郭宇的文章

https://guoyu.mirror.xyz/RD-xkpoxasAU7x5MIJmiCX4gll3Cs0pAd5iM258S1Ek

研发实践:迭代周期=合约编写,单元测试,工作流自动化,前端与客户端方面等

许多问题,涵盖开发一个 DApp所有内容。

如图:

  1. Smart contract:主要指EVM和兼容EVM的区块链的Solidity或其他语言上的合约,负责和区块链交互(发布合约/Token,查询,修改数据)
  2. DApp:基于智能合约为基础的产品,包括合约可调用接口,用户接口/界面,一般基于Web,用React/Vue
  3. Provider,Signer: Remix 有很多,典型的就是Metamask,提供了InjectProvider,它的好处是会暴露交互行为给客户在Web界面选择
  4. Relay:中继者,扮演了用中心化服务提供从客户的Web/DApp的到链上节点的连接,目前是多用于DApp的后端直接和这些Relay代码后台交互,例如Infura等等
  5. Server:DApp可以没有中心化Server,但是多数时候,复杂的数据整合、传输、存储、计算,多系统的连接和交互,中心化服务器是最擅长的。据说(郭宇说)深度整合区块链的Moralis(我没用过)可以试试,多数时候DApp,都是自己写服务,架设中心服务

架构技术栈

Solidity
  1. 一天搞定:https://solidity-by-example.org/
  2. 持续参考:https://docs.soliditylang.org/en/v0.8.13/
前端
  1. 优秀React hooks:https://wagmi.sh/,基于ether.js,增加了Provider交互函数
  2. 当然,可以基于https://docs.ethers.io/v5/,直接构建
多Provider/网络
  1. 多支持:https://apeboard.finance/,提供跨区块链的数据展现
  2. 托管钱包:https://web3auth.io/,https://magic.link/,Web2登录中心化服务体验更好
Relay
  1. Infura 目前支持 ETH,ETH2 网络,以及 IPFS 和 Filecoin 两个分布式储存方案,级别最大最稳定的Relay解决方案商
  2. Alchemy提供更多的服务,也更中心化,如专用工具,WebHooks集合等,看大家的选择
  3. Morails,郭宇推荐的,集成了许多Faas服务,等于在中继层又叠加了一层中心化的FaaS服务,我猜测因为函数服务是原子的,Restful的,可替代的,中心化程度反而不高
服务器
  1. 多数人使用Node,Go或者Rust

  2. 主要是存储非必要上链的链下数据,或者场景、成本限制,必须链下的应用场景

  3. 如果使用FaaS服务,可以用Morails(深度集成区块链)或者Google的Firebase,据说未来Google也会提供类似的Web3 Relay或者FaaS

More from this blog

让你的私钥随时更换,可以四处旅行

是的基于社交恢复和社区运行的TEE KMS,普通个体的私钥可以依赖多层安全机制:passkey+Email+社区KMS(硬件安全)+AA多签(可适配多种签名机制,增加抗量子签名模块)。听起来非常棒!是人类数字未来中需要的东西。下面是我的一个研究项目,进行中,有经验的大牛可以指点一下(嵌入式和硬件钱包开发、TEE、抗量子等等)。 STM32MP157F-DK2 Development Project STM32MP157F-DK2 开发项目 🇬🇧 Jump to English Vers...

Jan 25, 20263 min read

人性之光-以自由之名

以自由之名 v0.1.5 有点怪怪的标题,原谅理工男的简单和直接。 先分享一点感触和认知:某个角度看,人性是想象力、创造力和情感,是人类独有的特质。 人性是区别于AI和机器人,以及其他生命和造物的独有内核。人性是一种对自由的追求:发挥你的想象力、创造力,拥有自己的情感,是人存在的一种方式,这种方式,称为自由。 作为普通个体,想在人类社会拥有自由,除去国家和法律赋予的基础保障和基本权利之外,哈耶克有个观点是时间、空间和选择的范围,是自由的基础保障;而福柯则反向给出了规训的方式:时间空间和力量(并非...

Jan 25, 20261 min read

How to play with AI vibe coding?

我们要和 AI 沟通,要总结几个经验,供大家参考(血泪教学,迭代无数次): 三个重点 重设计、三层文档体系、渐进式开发。 第一点 最重要就是设计一定要占据你开发时间的一半以上,包括研究,包括和 AI 的交互讨论,包括提取一些专题,然后跟其他的 AI 交流生成深度的报告,包括自己阅读相关的报告和分析,以及一些范例的 repository。 第二点 要完整的文档体系,不管哪一种,都要跟随文档体系来去不断地迭代你的和 AI 交互的过程;我现在使用的是,嗯,三层的文档管理体系。第一层呢是backlog...

Aug 17, 20252 min read

It is Fun for me.

jFlow: from research to production 创新之路:最有趣的探索之路。 创新之路 Road of Exploration Research Input=Idea:描述你的 idea,进行严谨的论证过程,逻辑结构类似于缩小版本的 SCI 论文。通过分析论证,得出结论,是真正有价值创新。 output=Solution:定义你的产品,包括产品定位、目标用户、核心功能、商业模式,让团队、社区、早期投资者、用户、合作伙伴等,都快速了解你的产品的价值所在。 Devel...

Aug 12, 20251 min read

我的AI小助手:RAG 本地测试记录(updating...)

预期: 数据: 本地个人计划和隐私、正常论文相关的科研、业界跟踪和研究分析,三大类都存储在本地,不要流出个人电脑。 初步的7B模型(本人MiniMac的上限)进行大体分析。 可以使用外部deepseek和grok,claude等外部API,但沟通内容是隔离和脱敏的,最简单就是7B分析的结论,进行隐私脱敏(自行设定脱敏规则)和单独目录存储(独立知识库),这个动作是离线断网进行。 然后针对沟通外部的独立知识库,可以充分利用外部大模型能力。 个人计划是使用雷电连接mac book和mac m...

Mar 15, 20251 min read

jLab

69 posts

It is my Lab for curiosity!