github.com/linapex/ethereum-go-chinese@v0.0.0-20190316121929-f8b7a73c3fa1/swarm/storage/feed/doc.go (about) 1 2 //<developer> 3 // <name>linapex 曹一峰</name> 4 // <email>linapex@163.com</email> 5 // <wx>superexc</wx> 6 // <qqgroup>128148617</qqgroup> 7 // <url>https://jsq.ink</url> 8 // <role>pku engineer</role> 9 // <date>2019-03-16 19:16:44</date> 10 //</624450118724096000> 11 12 /* 13 包饲料定义了群体饲料。 14 15 Swarm feeds允许用户构建有关特定主题的更新feed 16 每次更新都不使用ENS。 17 更新方案建立在群块上,块键如下 18 可预测的、可版本控制的模式。 19 20 提要绑定到唯一标识符,该标识符由 21 所选主题。 22 23 提要定义为特定用户对特定主题的一系列更新。 24 25 实际数据更新也以群块的形式进行。钥匙 26 其中的更新是属性串联的散列,如下所示: 27 28 updateaddr=h(提要,epoch id) 29 其中h是sha3散列函数 30 feed是主题和用户地址的组合 31 epoch id是一个时隙。有关详细信息,请参阅查找包。 32 33 在订阅源中查找最新更新的用户只需知道主题 34 以及另一个用户的地址。 35 36 源更新数据为: 37 updatedata=feed epoch数据 38 39 进入区块负载的完整更新数据是: 40 updatedata符号(updatedata) 41 42 结构总结: 43 44 请求:带签名的订阅源更新 45 更新:标题+数据 46 标题:协议版本,保留供将来使用的占位符 47 ID:有关如何定位特定更新的信息 48 提要:表示用户关于特定主题的一系列出版物 49 主题:更新所涉及的项目 50 用户:更新源的用户 51 epoch:存储更新的时隙 52 53 **/ 54 55 package feed 56