深圳市龙华区振华时代广场10整层
18165737729

去中心化存储网络协议(DSN)如何对数据进行操作?

去中心化存储网络协议(DSN)对数据的操作主要有两种:存储操作(put)和检索操作(Get)。下面是介绍是如何对数据进行存储操作。

客户通过Put协议向存储市场的订单簿提交出价单。当找到矿工的匹配报价订单的时候,网络提交双方签署成交单到区块链存储市场订单簿。随后客户会点对点地把数据发给矿工。在订单中,用户可以指定存储时长或代币数量、独立的拷贝个数等。
客户存储操作的过程是:调用Put.AddOrders添加订单至订单簿;调用Put.MatchOrders 匹配成交单;调用 Put.SendPieces发送文件片段。
Put.AddOrders用于添加存储订单,其输入是订单数据结构的列表,输出为布尔类型列表。执行Put.AddOrders过程时,DSN会将订单广播给其他节点,等待下一次新区块产生时,提交到区块链订单簿中。这与在区块链提交交易的过程类似。过程最终返回布尔类型列表,代表是否添加成功。

Put.Match用于匹配成交单,输入为当前区块链订单簿中尚未匹配的报价单(卖单)和出价单(买单)。成交的条件是,卖单价格低于或等于买单,并且卖单提供的容量大于等于买单容量。存储订单匹配服从胧合交易的原则。输出为匹配订单的集合。

Put.SendPiece用于生成成交单,并且构建连接用户和矿工之间连接,并且发送文件。输入为报价单、出价单和数据片段。具体过程如下,用户首先从报价单中获取矿工签名,将成交单和数据片段指纹发送给矿工。等待矿工签名后,签名后的成交单发回用户。用户检查合法后,输出成交单,并建立连接,向矿工发送文件。该过程输出为由矿工签署的成交单。