第十周 使用Lens创建一个去中心化的推特

官方资料 https://docs.alchemy.com/docs/how-to-create-a-decentralized-twitter-with-lens-protocol

关注我的推特(https://twitter.com/SoullessL) ,及时获取Alchemy 教程的最新信息。

初始化项目

进入https://replit.com/,如果没有账号,可以注册一个

点击创建一个Node.js的项目

创建成功以后在shell里输入如下代码,其中road-to-lens为你的项目名字,可以随意

输入成功以后,提示 'Ok to processed',输入y,等待下载项目所需的安装包并创建项目。

然后我们在Shell里输入 cd road-to-lens 切换到项目所在路径下。

因为我们的项目是在一个子文件夹下面的,所以我们需要修改启动项

首先显示隐藏文件

然后我们打开.replit文件,删除原有内容,然后添加下面的两行内容,其中road-to-lens为你创建项目的名称

然后我们点击“Run” 按钮,最终出现如上界面就是项目编译成功

代码更新

然后我们回到Shell里,输入命令 npm install @apollo/client graphql 安装graphql包。

然后我们回到road-to-lens文件夹下面,右键Add File,创建一个叫apollo-client.js的文件,并且在文件里面添加以下代码。

然后我们找到pages/_app.js文件,用以下代码替换文件内容

再找到pages/index.js,用以下代码替换文件内容

然后我们回到road-to-lens下面,新建一个queries文件夹,并在下面新建一个recommendedProfilesQuery.js文件,然后在recommendedProfilesQuery.js下面添加如下代码。

然后我们在road-to-lens文件夹下面,新建components文件夹,并且在文件夹下面新建一个名为Profile.js的文件,然后把下面的代码复制到文件里。

然后我们修改pages/index.js文件,把里面的内容替换为如下内容

然后点击页面上面绿色的Run按钮把项目跑起来,预览大概如图所示,会有一些lens的数据,但是还没有样式。

然后我们回到Shell终端,输入下面的命令安装样式库 tailwindcss

安装完再输入如下命令初始化tailwindcss

然后我们进入road-to-lens根目录,找到文件 tailwind.config.js,用以下的内容替换文件内容

接着我们找到styles/globals.css文件,用以下内容替换文件内容。

然后我们的界面大概是这样的。

然后我们再pages下面新建一个profile文件夹,然后在下面新建一个[id].js文件,这个页面用来显示用户的详情页,并在文件里添加如下内容

然后我们在queries文件夹下面新增文件fetchProfileQuery.js,这个用来获取用户详情数据,并在文件里添加如下内容

然后我们在components下面新建一个Post.js,并添加如下内容到文件中。

如果出现这个界面,则说明我们样式也加好了。有时候因为这个在线版本的开发工具会有点卡,导致界面加载不出来,你可以把网站关了,过个十几分钟再过来试一下,可能就好了。

然后我们点击上面截图里右上角那个按钮,可以重新打开一个窗口来预览我们的项目。

我们可以点击某个lens用户,进入详情页。

发布和填表

然后你可以点击publish来把项目发布出去,具体的流程可以参考第四周最后的教程,记住你发布以后的网址,在填表的时候使用。

填表地址 https://alchemyapi.typeform.com/roadtoweekten 这个是老地址已经关闭了,不确定以后会不会再开。

另外NFT领取地址等待快照(快照时间不固定),然后上 https://mintkudos.xyz/ 连接进钱包,进入profile,会有一个to claim菜单,就是可以领取的NFT,如果没有则说明还没有快照。

最后更新于