Xing

Posted on Dec 23, 2021Read on Mirror.xyz

People红包DAPP改造开发介绍

背景

该项目起源及背景,包括产品的介绍可以参考此链接,我们要做的产品原型可以参考目前版本,但需要优化。

产品使用跟微信红包使用类似,不过这里为了让大家都有一个全面的了解,再简单阐述下该红包产品使用的流程:

  1. 创建红包

    1. 进入红包创建页面
    2. 选择发送Token类型(BSC上所有ERC20协议的Token)
    3. 输入发送数量(例如想发100个People)
    4. 输入红包个数(允许多少个人领取)
    5. 选择是公开/私有红包(公开红包所有人都可以领取;私有红包需要指定领红包人的地址,被指定的钱包地址才可以领取)
    6. 红包充值(需要先让ERC20Token合约Approve这笔交易,才可以创建红包)
    7. 创建红包成功(得到红包ID,用于分享至他人领取)
  2. 分享红包

    1. 红包创建后有一个分享地址(该地址带有红包ID信息)
    2. 将该地址通过各种社交软件发送给向赠送红包的用户
    3. 等待用户打开红包
  3. 打开红包

    1. 用户点击链接后,进入红包领取页面
    2. 点击领取后得到红包中Token奖励
  4. 奖励红包(目前是使用MambaCoin领取奖励,会改成使用People奖励)

    1. 创建的每个红包存在24小时有效期
    2. 24小时内只有被指定人可以领取
    3. 24小时后如果红包没被领完,所有人可以使用People去领取一份红包
  5. 红包撤回

    24小时后,如果红包没有被领完,红包发送人可以选择撤回红包剩余的Token

People产品设计

建议按照目前https://redenvelop.app/的网站结构,在此基础上进行优化。

People红包产品需要改造的工作

合约部分

  • 修改为使用People领取奖励红包
  • 合约中会存有People收益(我现在计划是把它burn掉)
  • People的BSC合约地址(币安刚上架People,应该不久就会有)

后端部分

后端的工作主要是同步区块链上的数据,展示给前端用户。比如红包列表页面红包详情页面

这两个展示信息的页面获取的数据是从后端接口获取的,同时提供了每笔交易在链上的链接,方便用户检查。

后端服务会有一个线程去BSC链上同步红包相关的信息,持久化储存并提供接口供前端访问。

前端部分

合约部分后端部分的改造工作量很少,之前我都搞定了。前端部分改造的工作量是最大的,目前产品的前端是我让一个朋友帮忙弄的,功能可用(使用流程可以参考),仅支持桌面端,比较粗糙。

我希望我们的产品可以做到像Uniswap那样简洁易用,并且同时支持桌面端手机端(毕竟点红包的分享链接主要是由手机端完成)。

这里需要招募两个前端人员来帮忙开发,一个人负责项目信息模块,另外一个人负责产品使用模块

项目信息模块

  • 主页

    建议照着Uniswap的网站结构套个模版。介绍部分包含:

    • 红包产品介绍
    • PeopleDAO背景介绍
    • FAQ
    • Community链接
    • 红包列表链接
    • 红包DAPP链接

    各个介绍的文案我可以帮忙提供,不过如果有专业文案的人愿意来做的话更好。

  • 红包列表页

    用于展示现在链上所有已发红包列表,以及红包详情,方便用户查看。包括什么类型的Token,数量是多少,领取进度,是否过期等信息。

    这部分信息需要调用后端服务接口,接口文档后续我会提供。

项目信息模块这部分工作绝大多数前端开发者都能做,欢迎对审美比较偏执,且有一定设计基础的前端开发者。

产品使用模块

这部分页面的工作只会与合约进行交互,没有任何中心化服务端接口的请求,页面设计和交互可以参考Uniswap的APP页面

与红包合约的交互主要就四个功能:发红包领红包领奖励红包撤回红包。与ERC20 Token合约交互只需要Approve,Allowance等即可。

另外连接钱包的时候,需要可以自动增加BSC网络的配置,以及可以自动切换BSC网络。

产品使用模块这部分工作需要小伙伴有合约、钱包交互相关的经验(熟悉web3js),欢迎对交互和使用细节有洁癖的小伙伴加入。

工作安排

相信大家对这个项目改造的需求有了一定认识,如果有兴趣参与的小伙伴请与我联系。下一步我的工作会是:

  1. 确认前端开发人员
  2. 修改合约代码
  3. 提供接口文档和合约调用文档
  4. 提供现有产品的前端源码供参考
  5. PeopleDAO的github上创建红包DAPP项目
  6. 搭建testnet环境供前端测试

个人感觉在确定好人员之后,开发一周内可以完成,哈哈哈(不知道是不是太乐观,因为如果有相关开发经验且有现产品代码可以参考应该很快)。在People确定BSC的链上Token地址之后就可以上线了。

希望元旦前能完成,这样可以给大家发新年红包!