全节点网关服务
<h3>全节点网关服务</h3>
<h4>1.背景</h4>
<p>一方面为已有的不同钱包项目提供全节点服务,提高钱包安全性以及稳定性,另一方面可以对外提供eth/btc/eos以及其他更多币种的节点共享服务,所以需要搭建一套网关服务。</p>
<h4>2.主要功能点</h4>
<ul>
<li>搭建稳定的eth/btc/eos全节点,并持续同步区块数据</li>
<li>构建gateway平台,接入节点服务</li>
<li>由gatewayt平台对外提供节点服务</li>
</ul>
<h5>(1)搭建全节点</h5>
<p>目标实现支持多链的币种服务,目前支持Btc和Eth,节点需保持不间断的实时同步,抗DDOS攻击,用户开发者无需搭建维护区块链节点,若请求量很大,后续还需考虑集群搭建众多节点网络以分发传入请求</p>
<h5>(2)gateway平台</h5>
<p>基本模块:</p>
<ul>
<li>用户中心:用以管理用户注册登录等行为,只有登录后才能申请服务</li>
<li>服务申请模块(核心):
<ul>
<li>用户可选择想要申请的币种服务(主网/测试网)以及使用期限</li>
<li>根据用户的申请请求结予分配provider(eth)或者ip连接配置(btc),其中的权限控制实现待定</li>
</ul></li>
<li>请求分发模块(核心):过滤和分散请求流量到可以处理负载的共享节点</li>
<li>后台管理:
<ul>
<li>用户信息的管理</li>
<li>用户申请的服务管理</li>
</ul></li>
</ul>
<h5>(3) 平台增值服务</h5>
<p>主要是获取用户请求携带的一些信息进行统计分析,再用于合适的业务</p>
<h4>3.任务拆分及工时粗估</h4>
<table>
<thead>
<tr>
<th>任务点</th>
<th>预估工时(day)</th>
</tr>
</thead>
<tbody>
<tr>
<td>搭建eth的全节点/测试网节点</td>
<td>1</td>
</tr>
<tr>
<td>搭建btc的全节点/测试网节点</td>
<td>1</td>
</tr>
<tr>
<td>搭建eos的全节点/测试网节点</td>
<td>1</td>
</tr>
<tr>
<td>网关平台登录注册前端页面</td>
<td>2</td>
</tr>
<tr>
<td>网关平台登录注册后端功能实现</td>
<td>2</td>
</tr>
<tr>
<td>网关平台用户申请服务页面</td>
<td>1</td>
</tr>
<tr>
<td>审核申请,返回给用户对应的api-key/privider</td>
<td>待定</td>
</tr>
<tr>
<td>节点服务连接到网关(实现思路待定)</td>
<td>待定</td>
</tr>
<tr>
<td>网关服务实现权限控制(实现思路待定)</td>
<td>待定</td>
</tr>
<tr>
<td>根据权限不同提供不同服务(实现思路待定)</td>
<td>待定</td>
</tr>
<tr>
<td>收集统计访问gateway产生的数据</td>
<td>待定</td>
</tr>
<tr>
<td>根据数据分析进行增值服务</td>
<td>待定</td>
</tr>
</tbody>
</table>
<h4>4.初步流程图</h4>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/f0802df7afab2d380cd406976091986d?showdoc=.jpg" alt="" /></p>