Web3 : BlancBlock需求文档V0.1

目标发布
史诗
文档状态
草稿
文档所有者
设计者
开发者
QA

背景说明

  • 汇兑平台首期需求,给目前市场上有将数字资产转换为法币需求的用户提供汇兑功能。
  • 我们接受用户的汇兑请求(数字资产兑换成法币),同时在LP渠道(流动性提供商)完成汇兑。
  • 首期只支持数字资产兑法币,暂不提供法币兑数字资产。


名词解释

  • USDT:一种基于以太坊发行的数字稳定币。
  • LP渠道:和我们合作的合规公司,给我们提供 USDT兑USD的渠道(即我们将USDT转给LP渠道,他们会将对应的美元汇入到我们公司账户)
  • 用户:来平台注册,汇兑的人。
  • 操作员:我们公司内部人员,运营、风控、产品等。

用户流程说明

  1. 用户登录
    1. 支持用户用邮箱 + 登录密码登录;
    2. 支持用户用邮箱 + 验证码登录;
    3. 如果用户未注册,引导用户注册;
      1. 支持用户:邮箱注册
    4. 如果用户忘记密码,引导用户用验证码登录;
  2. 用户发起汇兑
    1. 判断用户是否KYC,如果未KYC,引导用户KYC
      1. 本期KYC的方式在线下进行,风控获取用户资料后,将KYC信息回填到系统中来
    2. 判断用户是否绑卡,如果未绑卡,引导用户绑卡;
    3. 用户选择源币种和目标币种:第一期只支持 USDT兑美元;
    4. 页面显示当前汇率;用户输入汇兑金额,页面根据汇率换算实际到账金额;
    5. 用户给我们的收币地址转账
  3. 我们在LP渠道完成汇兑
    1. 我们收到用户转账后,在LP渠道完成汇兑
    2. 这一块流程,待LP渠道选定后再细化
  4. 我们给用户付款,并通知用户

资金流程说明

  1. 用户在BB平台发起汇兑;
  2. 用户在链上转币,到BB平台的链上地址;
  3. BB平台监控到链上到账;
  4. BB平台向LP渠道发起汇兑请求;
  5. BB平台在链上给LP渠道转币;
  6. LP渠道确认链上转账收到;
  7. LP渠道向银行系统发起转账指令;
  8. LP渠道的银行账户给BB平台银行账户转账;
  9. BB平台监控到银行到账;
  10. BB平台给用户银行账户转账。

前端功能详情

  • 一、用户注册

    • 前置条件

      • 用户未登录
    • 前端界面

图一: 首页


 

图二:注册


图三:注册成功

    • 流程说明

      1. 用户点击注册,触发本用例
      2. 用户输入邮箱
        1. 如果不符合邮箱/手机号规则,则弹窗提示:您输入的手机号/邮箱格式错误,请重新输入。
        2. 如果已注册,提示用户已注册,并在当前页面显示登录密码输入框,引导用户登录
      3. 点击发送验证码,给用户输入的邮箱发送验证码
        1. 邮件内容为:
          1. 邮件标题:[BlackBlock] Registration Verification Code
          2. 邮件内容:BlackBlock registration verification code: 7666, valid for 30 minutes;
        2. 验证码规则
          1. 有效时间:从发送后的30分钟内有效。
          2. 格式:6位数字
          3. 重新发送:间隔60秒后可重新发送,重新发送后,之前发送的验证码即失效;
      4. 用户将验证码回填到注册页面,并在密码设置框中输入密码;
      5. 点击注册按钮,注册成功
        1. 验证用户输入的验证码是否正确,如果错误,提示用户:验证码错误,请重新输入。
        2. 在前端校验用户输入的登录密码格式是否符合规则,8~24位,支持数字/大小写字母和特殊字符。
          1. 如果不符合规则,提示:你设置的密码不符合规则,请重新设置。
        3. 用户注册成功,给用户发送邮件。
          1. 邮件标题:[BlackBlock]注册成功
          2. 邮件内容:邮件内容见附件 : https://wiki.corp.ipaylinks.com/download/attachments/86579840/%E6%B3%A8%E5%86%8C%E6%88%90%E5%8A%9F%E9%82%AE%E4%BB%B6.docx?api=v2 
    • 其它说明

      1. 页面数据统计:需要统计页面PV


  • 二、用户登录

    • 前置条件

      • 用户未登录
    • 前端界面

图一:登录密码登录

         

图二:邮箱验证码登录


    • 流程说明

      1. 用户点击登录链接,触发本用例
      2. 用户输入邮箱,输入登录密码,点击登录
      3. 判断用户输入的邮箱规则是否正确
        1. 如果不符合邮箱规则,则弹窗提示:您输入的邮箱格式错误,请重新输入。
      4. 判断用户输入的邮箱是否已注册
        1. 如果未注册,提示用户未注册,并在当前页面显示注册链接,引导用户注册;
      5. 用户输入登录密码,点击登录
        1. 如果登录密码和用户名不匹配,提示:用户名密码不匹配,请重新输入
        2. 用户点击“验证码登录”,跳转到验证码登录页面
          1. 页面显示用户已输入的邮箱/手机号,用户点击“发送验证码”,页面提示:验证码已发送
          2. 用户将收到的验证码回填到页面,点击登录。
          3. 邮件标题:[BlackBlock] Verification Code
            邮件内容:BlackBlock verification code: 7666, valid for 30 minutes;
      6. 用户登录成功
    • 其它说明


  • 三、“我的”页面

    • 前置条件

      • 用户已登录
    • 前端界面

    • 流程说明

      1. 用户点击小头像,进入到“我的”页面;
      2. 页面上方显示小头像(全平台统一,用户不能自己设置)和 用户的注册邮箱;
        1. 邮箱显示限定长度,超过长度显示为邮箱"前5位字母+***@"
      3. 页面下方依次显示
        1. 交易:点击后进入交易页面;
        2. 银行卡:点击后进入卡管理页面;
        3. 退出:点击后弹窗提示“你将退出登录”,用户确认后退出登录状态。
    • 其它说明




  • 五、用户KYC

    • 前置条件

      • 用户未KYC
    • 前端界面

图一:KYC审核中

    • 流程说明

      1. 用户点击KYC链接,触发本用例;
      2. 判断用户是否已完成KYC,如果未完成KYC,则显示KYC信息提交方式
        1. 引导用户邮件提交KYC所需信息:
          1. 请将你的公司名称和联系邮箱发送到 BD@blackblock.com,我们的工作人员将很快和你邮件联系。
      3. 风控审核完毕后,在后台将用户的KYC状态更改为通过,用例结束。
    • 其它说明


  • 六、用户银行账户管理

    • 前置条件

      • 用户已登录,用户已完成KYC
    • 前端界面

图一:绑卡

图二:卡管理

    • 流程说明

      1. 用户点击银行账户,进入本流程;
      2. 银行卡管理页面,用户点击“添加”
        1. 银行卡管理页面,显示用户已绑定的银行账户信息
        2. 点击添加时,判断是否用户已经绑定了5个银行账户,如果已绑定五个,提示:你已经达到最大的绑定数。
      3. 用户在添加卡信息页面输入卡相关的信息:
        1. 帐户名称:根据客户KYC的信息,显示帐户名称
        2. 国家:新加坡/香港
        3. SWIFT CODE:银行的swift code号
        4. 银行名称:银行名称全称
        5. 账号:银行帐号
      4. 用户点击保存,添加成功。
        1. 如果用户输入的信息不符合格式,提示:你输入的【**】字段信息有误,请重新输入。
        2. 如果用户输入的银行账户信息在平台已存在,则提示:该银行账户信息已存在,请重新输入。
      5. 用户点击“管理”按钮,银行账户信息前面出现单选框,用户选择某个银行账户信息,出现“设置为默认账户”或者“删除”
        1. 如果点击“删除”,弹窗提示用户确认:是否要删除该银行账户信息?用户选择是,则删除用户选择的银行账户信息。
        2. 如果点击“设置为默认账户”,则用户选择的银行账户被设置成默认账户,下次用户在兑换操作时,法币会被转入到默认的银行账户中。
      6. 本用例结束。
    • 其它说明



  • 七、汇兑-用户转账

    • 前置条件

      • 用户已登录、已完成KYC
    • 前端界面

图一:兑换货币选择


图二:兑换转账页

    • 流程说明

      1. 用户点击汇兑,触发本用例;
        1. 如果用户未登录:跳转到登录页面;
        2. 如果用户未KYC,提示用户必须KYC后才能使用,跳转到KYC页面;
      2. 页面显示当前汇率,用户选择目标币种和源币种;
        1. 显示的汇率(用户汇率)计算方式为:用户配置的汇率(从后台获取,每个用户不一致);
        2. 源币种有USDT和USDC,目标币种只有USD,默认显示;
      3. 用户输入兑换数字资产金额,页面根据汇率自动计算用户即将收到的法币金额;
        1. 用户收到的法币数量 = 用户输入的金额*用户汇率
      4. 如果用户已经有一笔待转账的交易,当用户点击“convert”按钮时,提示有一笔待转账交易,请转账或者取消,“There is a pending transaction, please transfer or cancel”。
      5. 用户选择收款银行账户;
        1. 默认帮用户选定设置的默认收款账户;
        2. 如果用户没有绑定,提示用户:请先绑定银行账户。用户点击“绑定”,跳转到绑定银行账户流程。
      6. 页面显示用户充值钱包地址,提示用户给该地址转入对应的数字资产;
        1. 每个用户账户分配一个独立的钱包地址,(分配地址的触发条件是:用户已绑卡,用户进入到兑换界面)
      7. 系统扫币定时任务监控链上数据,确认用户充值到账;
      8. 本用例结束
    • 其它说明


  • 十、PC页面说明

PC页面内容保持和移动端一致,排版见UE的蓝湖图。

图一:首页

图二:登录密码登录

图三:验证码登录

图四:注册

图五:KYC

图六:绑卡

图七:卡管理

图八:交易

图九:交易详情


后端功能详情


  • 十、用户管理

    • 前置条件

      • 操作员登录管理后台
    • 前端界面

      • 界面参考【后端管理界面说明】

 


    • 流程说明

      1. 操作员登录管理后台,点击用户管理菜单,本用例开始;
      2. 页面显示搜索条件:
        1. 用户注册邮箱
      3. 点击搜索后,显示搜索结果:
        1. 用户ID:用户在我们系统的ID
        2. 邮箱:用户注册的邮箱地址;
        3. 注册时间:用户注册成功的日期和时间,YYYY-MM-DD;
        4. KYC状态:已KYC/未KYC
        5. 更多:显示“更多”链接,点击“更多”链接后,弹出浮层,显示:
          1. 显示:用户邮箱 和 UID
          2. 用户钱包地址:分配给用户的钱包地址,本期包含:usdt的erc和trc2个地址,以及usdc的erc地址。
          3. 银行账户:显示用户所有绑定的银行账户;
          4. 可以设置用户的费率和KYC状态(见图一)
            1. 输入用户的费率,数值格式,支持两位小数;
            2. 下拉框设置用户的KYC审核状态:通过/不通过。(第一期此处只有人工审核通过以后才来设置,所以都是设置费率,并通过KYC)
      4. 本用例结束。
    • 其它说明


  • 十一、交易管理

    • 前置条件

      • 操作员登录管理后台
    • 前端界面


    • 流程说明

      1. 操作员点击交易管理菜单,触发本用例
      2. 页面显示搜索条件:
        1. 用户邮箱:
        2. 交易起止时间段:开始日期时间,截止日期时间;
      3. 点击搜索后,显示搜索结果:
        1. 交易ID
        2. 邮箱:用户注册的邮箱地址;
        3. 交易时间:
        4. 充值信息管理
        5. 用户钱包地址:分配的用户的钱包地址
        6. 交易金额:用户交易的加密货币数量
        7. 充值币种:用户充值的加密货币的币种:usdt或者usdc
        8. 兑换币种:用户兑换的法币币种:USD
        9. 交易状态:兑换中/成功
        10. 操作:详情
          1. 充值订单号:
          2. 交易时间:交易生成的时间
          3. 邮箱:用户注册的邮箱
          4. 交易状态:兑换中/成功
          5. 兑换源币种:
          6. 源币种数量:
          7. 充值钱包地址:用户充值到账的钱包地址
          8. 实际充值源钱包地址:
          9. Transaction HASH:
          10. 实际充值币种:实际用户充值的币种,usdt或者usdc,这个数据根据导入的充值结果文件来确定;
          11. 实际充值链格式:ERC20
          12. 实际充值金额:实际用户充值的加密货币数量,这个数据根据导入的充值结果文件来确定;
          13. 导入文件/导出文件:可以导入/导出充值文件,文件格式为excl格式。
        11. 付款信息管理
          1. 付款订单号:
          2. 兑换源币种:USDT/USDC
          3. 兑换目标币种:USD
          4. 兑换金额:usdt金额
          5. 兑换目标金额:usd金额
          6. 收款银行信息:收款银行信息,银行名称/银行账户名/银行帐号/国家或地区/swift code
          7. 实际兑换币种:实际兑换的法币币种
          8. 实际兑换金额:实际兑换的法币金额
          9. 实际收款银行帐户:实际的收款银行信息:银行名称/银行账户名/银行帐号/国家或地区/swift code
          10. 导出/导入文件:可以导出/导入付款信息文件,文件格式为excl格式。
      1. 本用例结束。
    • 其它说明



Attachments:

image2023-2-1_10-37-42.png (image/png)
image2023-2-1_12-12-45.png (image/png)
image2023-2-1_12-27-52.png (image/png)
image2023-2-2_13-13-25.png (image/png)
image2023-2-2_13-13-52.png (image/png)
image2023-2-2_13-14-38.png (image/png)
image2023-2-2_13-15-5.png (image/png)
image2023-2-2_13-16-12.png (image/png)
image2023-2-2_13-16-32.png (image/png)
image2023-2-2_13-16-50.png (image/png)
image2023-2-2_13-17-40.png (image/png)
image2023-2-2_13-18-24.png (image/png)
image2023-2-2_13-43-33.png (image/png)
image2023-2-2_13-45-39.png (image/png)
image2023-2-2_13-52-33.png (image/png)
image2023-2-2_13-55-48.png (image/png)
image2023-2-2_13-59-10.png (image/png)
image2023-2-2_14-27-12.png (image/png)
image2023-2-2_14-27-53.png (image/png)
image2023-2-2_14-50-42.png (image/png)
image2023-2-2_14-54-46.png (image/png)
image2023-2-3_11-25-31.png (image/png)
image2023-2-3_12-14-26.png (image/png)
image2023-2-3_15-13-49.png (image/png)
image2023-2-9_11-31-1.png (image/png)
image2023-2-9_12-3-25.png (image/png)
image2023-2-9_12-6-20.png (image/png)
image2023-2-9_12-13-15.png (image/png)
image2023-2-9_12-16-54.png (image/png)
image2023-2-9_12-59-41.png (image/png)
image2023-2-9_16-50-12.png (image/png)
image2023-2-9_16-51-42.png (image/png)
image2023-2-9_16-52-29.png (image/png)
image2023-2-9_16-52-59.png (image/png)
image2023-2-9_16-54-15.png (image/png)
image2023-2-9_16-54-40.png (image/png)
image2023-2-13_9-47-43.png (image/png)
image2023-3-22_12-8-31.png (image/png)
image2023-3-22_12-10-0.png (image/png)
image2023-3-22_12-10-41.png (image/png)
image2023-3-22_12-11-36.png (image/png)
image2023-3-22_12-13-7.png (image/png)
image2023-3-22_12-17-0.png (image/png)
image2023-3-22_12-17-36.png (image/png)
image2023-3-22_12-18-59.png (image/png)
image2023-3-22_12-20-20.png (image/png)
image2023-3-22_12-22-28.png (image/png)
image2023-3-22_12-24-9.png (image/png)
image2023-3-22_12-37-44.png (image/png)
image2023-3-22_12-43-53.png (image/png)
image2023-3-22_12-44-33.png (image/png)
image2023-3-22_12-45-15.png (image/png)
image2023-3-22_12-45-55.png (image/png)
image2023-3-22_12-46-41.png (image/png)
image2023-3-22_12-47-25.png (image/png)
image2023-3-22_12-47-49.png (image/png)
image2023-3-22_12-48-19.png (image/png)
image2023-3-27_14-42-34.png (image/png)
image2023-4-3_20-17-17.png (image/png)
image2023-4-3_20-17-49.png (image/png)
image2023-4-3_20-18-32.png (image/png)
image2023-4-3_20-19-7.png (image/png)
image2023-4-4_18-55-39.png (image/png)
image2023-4-4_18-55-39.png (image/png)
image2023-4-12_12-42-57.png (image/png)
image2023-4-13_19-5-32.png (image/png)
image2023-2-13_9-47-43.png (image/png)

Comments:

2023年2月9日更新

1、考虑到手机短信接收不稳定的情况,第一期删除了手机号注册的功能;

2、考虑到已经有验证码登录的方式,第一期删除了重置登录密码的功能;

3、后台增加了:kyc状态设置、用户汇率设置、付款结果导入的功能。

Posted by Joey at 二月 09, 2023 05:10