# Lens SDK 中文介绍 **Published by:** [clarkwang.eth](https://paragraph.com/@clarkwang-eth/) **Published on:** 2023-05-14 **URL:** https://paragraph.com/@clarkwang-eth/lens-sdk ## Content 今天,我们庆祝一个重要的里程碑,推出了Lens SDK,一个全面的工具包,使开发人员更容易建立自定义的web3社交体验和应用程序。 在Lens,我们的目标一直是使Web3的社交容易,既有经验的建设者和那些有限的经验或没有专门知识的网页3。我们认为,Lens SDK最强大的特性之一是,它通过提供开发人员可以使用的模块化工具栈,而不是从零开始构建社交特性和功能,从而抽象出在区块链上开发的复杂性。这使你能够专注于创造你想象中的独特体验。 最新消息 有了新的Lens SDK,你可以在你的应用程序中添加社交订阅,社交档案和/或社交认证,只需要10行代码,并且不需要任何区块链知识。 我们看到越来越多的应用程序集成了社交功能,如向 Lens 共享内容,为 web3 本地用户提供内容分发,以及登录 Lens,利用 Lens 社交图中的身份和配置文件。Lens SDK使集成变得更容易、更可定制。 SDK也是模块化和可组合的。它与其他web3项目、协议和工具(如Lit Protocol)无缝集成,以启用以代币为门槛的发帖。 使用Lens SDK,您可以挑选您想要的功能-只有您使用的组件有助于您的应用程序包的最终大小。这些功能都由Lens SDK处理,让您可以专注于核心功能,而无需担心底层基础架构的复杂性或细节。 移动应用程序一直是Lens最大的成功案例之一。新的 SDK 增加了移动支持,从React native 开始。使用新的SDK,您可以构建完美的移动应用程序,而无需任何Lens API或Lens Protocol的基础知识。 在过去的一年里,数以千计的开发者已经在Lens上发布了无数的应用程序、协议和工具。借助Lens SDK,我们降低了障碍,使创建创新、强大和吸引人的Lens应用程序变得更加容易。 支持平台 Lens SDK支持多种平台,包括:ReactiveWeb:通过一组具有凝聚力的ReactiveHooks将LensSDK集成到您的ReactiveWeb应用程序中。如果您的堆栈包含ReactJS,它可以使用LensSDK。Vanilla JavaScript:也许您的 web 应用程序不包含 ReactJS ,或者您使用的是不同的前端框架。您仍然可以通过LensClient.React native:从您的移动应用程序中集成Lens协议从来没有这么容易过。只要提供对您的项目最有意义的适配器,就可以了。NodeJS:构建一个与 Lens API 交互的脚本,将 Lens 协议集成到你的 NodeJS 后端,你甚至可以从一个无服务器函数调用它。两种主要的集成方法 Lens SDK 有两种风格,两种与 Lens Protocol 集成的不同方式。React hook用于 React web 和 React Native 应用程序中的熟悉集成LensClient为更接近金属与Lens API的整合React Hook Lens SDK React挂钩旨在提供开箱即用的最佳用户体验。了实现这一目标,我们重点关注了以下几个关键方面:Optimistics 升级:目的是让每个特性都感觉像传统的 web2 一样快,但是有 web3 基础设施的基本保证。**弹性身份验证Layer :**身份验证逻辑被设计成与用户的钱包生命周期脱钩。其想法是建立用户可以随意往返的体验,而无需考虑切换网络。这产生了传统社交媒体的体验。用户也不会在钱包中看到未经请求的签名请求。**内聚力状态管理层:**SDK 附带了一个存储层,可以在重新加载事件后可靠地恢复应用体验,这也意味着 SDK 将使您的浏览器标签保持同步。模块化设计: Lens SDK 是一系列垂直模块的集合。只选择你想要体验的功能,并且只有这些模块会影响你的应用包的最终大小。只要确保你的构建过程可以执行“摇杆”,你就可以开始了。**可组合:**Lens SDK 利用了其他 web3 领先项目作为其功能的一部分。例如,标记门控出版物是由Lit 协议。Lens SDK 隐藏了所有集成复杂性,以便您可以专注于对您重要的事情。客户服务 这LensClient提供了与Lens API集成的较低级别方法。这意味着在一组内聚的函数中公开Lens API特性。不需要学习GraphQL来使用Lens API。 实例化客户端并调用所需的方法:import { LensClient, production } from "@lens-protocol/client"; const lensClient = new LensClient({ environment: production }); const profile = await lensClient.profile.fetch({ handle:"stani.lens" }); 当Lens SDK React hook不合适时,可以使用此选项。 此外,Lens API中的任何前沿或实验性功能都可以通过LensClient在它们被主流化到SDK React挂钩之前。通过@lens-protocol/ client @ next ,新的momoka莫莫卡突变已经可以在 dev 预览版中看到了。开发经验 在实现SDK时,我们特别重视开发人员体验。一些关键方面是:与web3生态系统中使用的其他工具和技术的互操作性明确的升级策略一个开源的系统,所以任何人都可以详细检查并提出改进建议可组合性,允许您以新颖的方式组合组件,从而促进创新,并将其他协议集成的复杂性抽象化,使您可以专注于自己的独特功能互操作性 Lens SDK附带:一流的TypeScript支持,提供安全和引导式的采用体验。集成了以太网最流行的web3 JS库之一。开箱即用适配器的wagmi ,网络加密 API和网络存储 API如果上面的选择不适合你,通过以下方式来适应你的需求:提供您自己的Ethers.jsSigner使用您自己的存储解决方案利用最适合您平台的加密API升级路径 无论您选择哪种集成方式,Lens SDK的发布周期都旨在与Lens工具生态系统的其他部分一起发展。修复和新特性将对现有代码的影响最小。当必须进行重大更改时,SDK将提前通过弃用警告和建议的迁移路径来指导您。💡专业提示:现在就采用Lens SDK,将即将到来的Lens协议升级的影响降到最低。开放源代码 Lens SDK从一开始就是开源的。随意打开一个GitHub 问题 集成阶梯 我们认为Lens协议集成是一个图谱。从左到右我们有:与议定基本组成部分之间的相互作用。例如:侦听EVM事件,订阅Momoka数据流,以及进行RPC调用。使用Lens API,它以GraphQL接口的形式在Lens Protocol基础之上提供了一个内聚抽象。通过Lens SDK LensClient使用Lens API,LensClient抽象出Lens API GraphQL模式,并在堆栈中引入类型安全(如果您使用TS,则选择加入)。最后,在远端,我们有React hook,这是Lens SDK提供的最面向用户体验的集成。你可以用Lens SDK做什么呢? 下面是您可以使用Lens SDK构建的一些想法。 社交网络支持的应用程序! 最明显的用例是构建社交应用程序。由于SDK还支持React Native,您不仅可以使用SDK构建Web应用,还可以使用SDK构建移动应用。 下面是几个应用程序的想法:基于人工智能的音乐生成应用程序和市场,将收入分配给像Grimes用于发送、接收和可能购买加密货币的移动应用程序,具有社交功能和发现功能(想想web3 Venmo)Microblogging-Lens对于CMS类型的后端来说是完美的,它具有发现、可组合性和通过收集的用户货币化的额外好处。数字艺术或收藏品的专业市场或利基市场端到端加密的对等消息应用程序选举投票应用程序,调查或只是为了好玩数字身份管理系统内容创作者的社交网络与收入分享去中心化的众筹或筹款平台创建和销售数字订阅的平台基于Web的社交游戏平台工具 因为所有的基础设施、数据和Lens API都是开放且无需许可的,所以有无数种方法可以在协议之上构建新的有趣的工具。类似讨论的注释模块创建、策划和/或管理内容开源SDK、UI组件和库利用新模块构建流畅或改进的用户界面,以便与现有模块进行交互将 web2 足迹迁移到Lens(如 InLens)内容发现将Lens profile的操作委托给其他钱包、智能合约或DAO积分 除了直接在Lens上构建应用程序之外,您可能还希望将Lens作为web3社交层集成到其他新的或现有的应用程序中。每一个使用Lens的应用程序都会使整个生态系统受益,将通常的零和游戏变成协作游戏。 下面是几个集成的例子:使用Lens登录-访问用户的个人资料信息,如姓名、简介、社交网址、图片、兴趣、声誉和活动。共享到Lens–帮助将您的应用程序及其内容分发给更多的受众。在Lens上关注-从另一个页面在Lens上关注用户个人资料-在任何web3应用程序中显示用户的社交资料。发布-将Lens发布的内容嵌入到任何web3应用程序中。代币化 Mirror、Collect、关注和评论让创作者无需中间人,以一种无需授权的方式,直接向用户出售他们的内容。因为创作者在Lens上拥有自己的内容,他们可以允许他们的追随者购买这些内容。 当用户将出版物发布到其Profile NFT时,他们可以选择设置Collect Module。这允许用户生成链接到出版物ContentURI的NFT。该模块可以包含任何适用于铸造过程和产生的NFT的任意逻辑。 创建者可以通过为通过他们的mirror收集的每个帖子提供费用来激励他们的帖子的推广。 这里有几个例子,你可以在你的应用程序中内置:通过付费订阅盈利受众激励分享(mirror)内容的人在创建者和其他人(多个接收者)之间分配收入基于收集或付款的门控内容营销和广告更多的想法 要了解更多的想法,请参阅我们的文档中构建者的灵感部分。 接下来去哪里?React Web-入门和教程Rep本机--如何将Lens SDK集成到您的Reaction本地应用程序LensClient-从这里开始然后为每个 Lens API 特性查找专门的 LensLensClient示例。SDK 参考资料-详细的 TSDoc 生成的文档和示例。我们正在不断地改进这一点。如果有不清楚的地方请询问我们的不和谐频道,我们将更新它。示例-Next.js, wagmi ,Vite.js、React native和 NodeJSGitHub-报告问题和/或提出建议支持-头部到Lens API 和 SDK ## Publication Information - [clarkwang.eth](https://paragraph.com/@clarkwang-eth/): Publication homepage - [All Posts](https://paragraph.com/@clarkwang-eth/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@clarkwang-eth): Subscribe to updates - [Twitter](https://twitter.com/clarckwang): Follow on Twitter