今天,我们庆祝一个重要的里程碑,推出了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附带:
如果上面的选择不适合你,通过以下方式来适应你的需求:
提供您自己的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)内容的人
在创建者和其他人(多个接收者)之间分配收入
基于收集或付款的门控内容
营销和广告
更多的想法
要了解更多的想法,请参阅我们的文档中构建者的灵感部分。
接下来去哪里?