使用莱卡交互Lens

轻松地使用莱卡探寻 Lens Protocol

你们中的许多人可能听说过 Lens Protocol, 这是AAVE团队构建的新 Web3 社交图协议。 解决我们目前在基于Web2生活中使用的社交媒体中的许多重大问题。

更多关于 Lens Protocol 的详情可以在它的文档中找到 https://docs.lens.xyz/docs/what-is-lens

Introduction

Lens Protocol 是 Polygon 链上的 Web3 社交图谱。 它旨在使创作者能够拥有自己与社区之间的链接,形成一个完全组合的,用户拥有的社交图。 该协议是从地面上构建的,考虑到模块化,允许添加新功能和修复程序,同时确保不可变的用户拥有的内容和社交关系。

https://docs.lens.xyz/docs/what-is-lens

本文旨在成为一个小帮手,我们将在其中探索如何使用莱卡与 Lens Protocol 交互!

我们接下来要一起做的:

  • 我么将探索 在 Polygon Mumbai 测试网上的 Lens Protocol。

  • 通过 MockProfileCreationProxy 合约来创建我们的 Lens Handle。

  • 通过 LensHub Proxy 来创建一个新的推文

Lens Protocol 总览

Lens Protocol 的团队将其设计成模块化的。这样就使得很容易扩展 Lens 的社区,Lens 将很多功能都变成 ERC721 兼容的形式。因此如果有人想给 Lens Protocol 加入更多的 modeul。他们只需要写一个新的模块然后插入即可。就是这么简单。

你将要交互的合约叫做 "Lens Hub"。这个合约与是 Lens Protocol 大多数交互的入口。

在下面链接中,你可以看到在不同的链上的部署的合约列表: https://docs.lens.xyz/docs/deployed-contract-addresses

在开始做任何事情之前,请确认你的钱包在 Mumbai 测试网上有一些 MATIC,你可以在 https://faucet.polygon.technology/ 获取一些 MATIC。

创建 Lens Profile

在 Polygon Mumbai 测试网上创建 Lens Profile 需要使用一些跟其他交互不同的方式来交互。

Lens Protocol 有一个白名单,这个白名单限制了谁可以创建 Lens Profile。通常情况下,我们的地址不在白名单里面。但是我们可以通过 "MockProfileCreationProxy" 来创建 Lens Profile,

MockProfileCreationProxy 在 Polygon Mumbai 的地址是0x420f0257D43145bb002E69B14FF2Eb9630Fc4736

让我们继续吧。

为了让你们更方便的跟上这个教程,我把在这篇文章中使用的 collection 导出了,你可以在从下面的代码块中复制。

然后在 web.getlaika.app 上点击 "Import Collection",然后将刚刚下载的 JSON 导入进去。

你将会看到我们已经准备好的请求列表:

我们用来创建一个 profile 的请求叫做 "proxyCreateProfile",让我们开始吧。

在我们做任何事情之前,你会注意到,在 contract address 那一栏会显示 Invalid Address,这是因为我们放入了名为 MOCK_PROFILE_CREATOR_PROXY 的环境变量。

在开始与合约交互之前,我们需要设置这一环境变量。

我们点击 UI 左侧的 environment 按钮,然后点击 New 按钮新建一个。

现在我们把新的环境变量加进去。

切换到我们刚刚创建的新环境中。

现在我们可以填入参数了。

在这里的场景里,我们会填入:

现在你已经填入了所有的参数,让我们点击 Send 来创建一个新的 Profile 吧。

在交易完成后,你就有一个属于你自己的 Lens Profile 了(你可以在 polygonscan 上确认此交易并 verify).

让我们看看它是什么样子!

我们找到 Lenshub 合约里面的 tokenOfOwnerByIndex 方法,然后填入我们的地址(刚刚获得新 Profile的地址)和 index 0。

它会返回我们个人 Profile 的 tokenID。这样我们就可以通过 getProfile 请求再次使用它来查询数据。

我现在查询一下 getProfile 方法。你就会看到自己的 Lens Profile 详情。

还有很多其他方法可以获取数据,例如 tokenURI tokenDataOf,但这里先不赘述了。

小贴士:我们将多次重用ProfileID,如果我们将它存储为环境变量,这将非常方便!

发表一篇 Post

我们有了 Lens Profile 后,就可以创建新的 Post。

只需在Lens Hub文件夹中找到 post 方法。这是我们将要用来发布一个 post 的方法。

现在我们需要填入参数:

具体的,我们填入:

创建完成后,你可以通过 getPubB 方法读取到

这里我们必须设置 pubId = 1,因为Lens中的索引从1开始(而不是0!)

笑死,我们现在已经能拿到我们发的 post 了。

就是这样!我们只是创建了一个新的 Lens Profile,并发布了一个关于 Lens Profile 的新 Post!有关 Lens Protocol 的更多信息,请参阅其官方文档 https://docs.lens.xyz/docs

最后更新于