JCCDex / ProjectFundingProposal

Jingtum & MOAC Project Funding Proposal
27 stars 8 forks source link

PFP39:基于SWTC为燃料的IPFS存储分布式运营平台 #61

Closed ruixman closed 3 years ago

ruixman commented 4 years ago

概述:

本产品面向B端,目标是以swtc币为燃料的IPFS存储空间交易运营平台,主要有平台软件和接口程序;作为区块链重要基础设施--存储,市场巨大。利用swtc作为燃料来进行IPFS存储也是活跃井通生态的重要一环。

接口调用:

提供使用js 方式。 主要接口方式:

  1. 初始化:init () :平台(服务端)完成与客户端初始化数据建立
  2. 增加文件:addFile() 客户端增加文件到IPFS端,平台返回ipfs的Hash值。
  3. 更新文件:updateFile() 客户端更换ipfs端原文件为新文件。原文件(ipfs端)必须是在平台端已经加速。
  4. 加速文件:accelerate() 客户端提供的已有IPFS文件的加速
  5. 验证用户:validate() : 通过平台发送一个唯一码,客户端使用其私钥加密发送返回,平台通过该用户在SWTC区块链上公钥进行解密,如果解密正确则进行下一步动作。
  6. 删除文件:releaseFile()在本平台控制的节点中不再存储文件,并且释放物理空间及缓存。

平台简介:

提供管理会员、费率及相关配置的工具,使用web方式部署,提供war包。 分部式组件 dubbo + zookeeper方式,可动态增加负载点,也可分拆不同的组件在不同的服务器上。

平台功能:

  1. 会员管理: 对购买的服务会员进行查询管理,通过查询SWTC公链的交易得到支付给运营者的费用(SWTC)以及购买的数量及时间等。
  2. 初始设置: 对运营人的swtc账号、费率进行相关设置。
  3. 订单管理: 对用户的交费(提交的swtc到指定账号)进行验证,
  4. 节点管理:对平台管理下的每个ipfs core节点的全生命周期管理。
  5. 资源管理:对存储在ipfs节点文件进行存储、便于运营人员管理相关资源交费用户关联。
  6. 相关报表:查询相关数据报表。
  7. 系统功能:用户管理、角色管理、数据配置管理。

特色说明:

系统根据swtc链上的公开交易,查询客户端用户与运营者账号的交易,给于客户端开放相应的IPFS存储空间;平台端不记录客户端的隐秘信息;平台运营者可以在不同地理位置做相应的IPFS-cluster-service ,从而可以做到服务的增值,从而提高服务品质。

工数

后期扩展

  1. 增加IPFS cluster service 以便更好地完成结点的部署。
  2. 增加java语言及 go语言的接口支持。
  3. 利用智能合约来动态记录用户的一些信息,做到管理数据去中心化。
Yelvabaoji commented 4 years ago

有几个问题: 1,技术可行性现在有没有?因为这里讲的是运营平台 2,另外这个也没有实现时间表。因为这个项目比较大,那么,需要列出开发人员数目,时间进度表。

Yelvabaoji commented 4 years ago

@ruixman 能回应一下吗?

ruixman commented 4 years ago

技术可行,可分期开发,参看下图为核心功能 https://shimo.im/slides/9R96wYp3CrdhdvJV
先期可以把核心功能完成,包括IPFS对接开发、SWTC浏览器接口开发以及 封装成对外存储认证服务的接口开发工作等。 二期如可能再进行1)使用智能合约记录文件与用户的映射。 2)web UI 界面及管理平台对接。

AnFengDe commented 4 years ago

不需要mysql服务,通过接入点service,和区块链账本对比,能够判断出是否是正常的用户

ruixman commented 4 years ago

如果使用区块链账本 存储 用户与文件 的关系,会造成性能上的牺牲以及交易的燃料费的损耗。

ruixman commented 4 years ago
功能模块 工数(人日)
链交易操作备注 5
core service 框架 4
IPFS封装 20
链浏览器对接 10
管理 4
测试审核 5
文档撰写 2
合计 50
AnFengDe commented 4 years ago

第一次支付 审计支付 第二次支付

lospringliu commented 4 years ago

报告一下进度

zhinan commented 4 years ago

@ruixman ,请通告一下进度

ruixman commented 4 years ago

目前代码已经开发完成。

ruixman commented 3 years ago

代码已经全部完成,请管理员核验 代码地址:https://github.com/JCCDex/jcc_ipfs

流程概述

  1. client端发出写文件请求,包含了请求用户SWTC的公钥,以及用用户私钥加密过的要保存的数据。
  2. IPFS服务端根据公钥推出swtc账号,判断是否到指定账号充值,如无充值或者不够,返回lackMoney的标示。
  3. 如果充值用户正确,则保存数据,并返回hashId,及success 标识。
  4. 保存用户的充值数据为保存到SWTC链上的memo值。通过SWTC浏览器接口数据直接访问其相应值

代码结构说明 Root┓ --api┓ --controlless //对外暴露的方法主体程序 --helpes //辅助程序 --models //预留 --policies //预留 --assets //静态文件等 --config //内部配置文件集 --tasks //预留 --utils //本项目中需要使用的工具集合

配置文件说明 一. 运营商的swtc帐户和私钥:作为查询数据及保存数据到SWTC链上的凭证 文件名:/$Root/config.js 二. 运营商的第二个账号,作为查询转帐及记录memo的辅助帐户 文件名:/$Root/config.js 三. IPFS服务的地址,记录IPFS的地址所在 文件名:/$Root/ipfs.js

接口简述

  1. write 向ipfs写数据
  2. read 根据文件路径和钱包地址,读取IPFS数据
  3. remove 根据文件路径和钱包地址,删除IPFS数据
  4. list 根据钱包地址和路径查询IPFS数据

接口详细文档 https://www.showdoc.cc/ipfs?page_id=4160536662548180 (key:ipfs.io)

abellq commented 3 years ago

@ruixman 你好!请问您的QQ号码是多少?在测试过程中有点问题,想向您请教。

ruixman commented 3 years ago

@ruixman 你好!请问您的QQ号码是多少?在测试过程中有点问题,想向您请教。

QQ: ruixman@qq.com

abellq commented 3 years ago

@ruixman 你好!请问您的QQ号码是多少?在测试过程中有点问题,想向您请教。

QQ: ruixman@qq.com

你好,查找不到呀。还是你加我QQ吧:454431928

abellq commented 3 years ago

审计已经完成。 ipfs.docx

ruixman commented 3 years ago

ok, thanks.

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2021年3月12日(星期五) 上午10:33 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [JCCDex/ProjectFundingProposal] PFP39:基于SWTC为燃料的IPFS存储分布式运营平台 (#61)

审计已经完成。 ipfs.docx

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.