2020.6.19 开发群重要讨论 话题 关键字 1.讨论FOCP3V3字段长度 2.帮大师梳理清楚了整个流程、freedrive上线,fch付费的逻辑 。



  • 2020.6.19 开发群重要讨论 话题 关键字 1.讨论FOCP3V3字段长度 2.帮大师梳理清楚了整个流程、freedrive上线,fch付费的逻辑 。
    一棵树上提出:@昌用CID:CY_vpAvhttps://shimo.im/docs/9E9mzuV5uAgc7C2X/read这个需要改下。未命名文件.jpg
    刘教授回复:你是说文件引用协议加入变长的长度,我加一下。

    一棵树上:这是什么意思?引用源的data_hash 这是什么意思?可以为空吧?
    未命名文件.jpg
    未命名文件.jpg 未命名文件.jpg

    大师回复一棵树:为空,长度为0,但是必须写长度。sha256(data)。(图三)这是你文章中引用的其他文件。可以为空。

    刘教授回复:@一棵树上 加密还没改好,@facjas 正在确定加密方法。

    刘教授回复一棵树上:你存的文件如果是独立的,不是其他地方引用的就为空,比如你在一个知库条目的论文里,引用了一个图片。

    一棵树回复:那个应该是这个https://shimo.im/docs/cSyC12PiCYwYahrx/read,刚才那个 只是存文件。

    刘教授回复:那么图片就按照“文件引用”协议存放,data_hash,就是引用它的那个知库条目的data的hash。

    一棵树上回复:这样不懂。。 我认为是包含在文本里面。

    刘教授回复:是的,文件引用只是存文件,只不过存的文件是其他协议的实例所引用的。知库的条目里是不能放入图片的,图片必须存在另外的地方。引用:在文本中引用图片音乐等文件的语法为:描述。“描述”可自定义,默认为file_name字段内容。这里写的就是在知库条目中如何引用这个文件。因为知库要保存和引用图片等文件,所以才有了文件存证协议。文件引用只存放在freedrive上即可,不需要上主链。如果只是要存证单个协议,不是为了引用的目的,那用《文件存证》协议,这个协议是用来存证的,需要在主链上发布交易,把哈希存在主链上。文件可以存在辅链上https://shimo.im/docs/ziSwu2IIYqEtmx14/《FEIP2V3_文件存证》。

    一棵树上提出异议:https://shimo.im/docs/9E9mzuV5uAgc7C2X/read这里也是填充 0x00?

    未命名文件.jpg

    大师回复一棵树上:不填充,有长度限制,内容区不用追加空限制。

    一棵树上回复:知识库哪里也是0了。是 加密 已经转成 16的data?
    未命名文件.jpg
    pisa回复一棵树:是的。

    刘教授@大师CID:master_SAe7 @pisa_n5oN :不填充吗?

    大师回复:不用,前面的长度已经表明内容区长度为0。freedrive这边内容字段没有填充。

    刘教授回复:当时写那个规则好像有原因,确定没有的话,就把那个规则删了。

    一棵树上发图片提出问题:
    未命名文件.jpg
    25972db7-b37a-4c40-a5ad-b6009335eb1b-image.png

    未命名文件.jpg
    刘教授回复:不是知库,是文件引用,不要引用自己啊是引用了这个文件的那个知库交易中的data_hash,文件引用协议@大师CID:master_SAe7 那里还没弄。一步一步来,先把纯文本的知库走通,再插入图片。

    大师回复:好的。

    刘教授提出:前期先免费使用应用,可以直接使用FCH支付。@一棵树上 你说的文件指的是什么文件?单个文件是可以用文件引用协议存储的。但存这个文件是干什么用的,需要有相应的处理。比如说,知库的某个知识条目要用这个图片文件作为插图。

    大师回复:这种单个文件,应该是只属于某个CID引用吗,还是所有人都可以引用。

    刘教授回复:看个人的意愿了,如果不涉及隐私,可以公开引用。如果涉及隐私就加密存储,存的人要自己知道存这个干什么用的。现在知库用的是某个知识条目需要引用图片。所以,要在文件引用里给出引用源的data_hash,以表明这个文件是干什么用的。如果引用源为空,就从文件本身判断不出来为啥要存。需要存的人自己记住这个文件的用处。

    一棵树上回复:@昌用CID:CY_vpAv 单个文件图片。

    刘教授回复:可以存任何文件。存了后知道怎么找,怎么用就行了。知库是在条目里有引用,能够定位到这个文件。文件存储的里面有引用源的data_hash能够反向定位到调用这个图片文件的知识条目。你如果存图片有其他用途,也可以,自己想好存了以后,用的时候怎么找到就行了。如果是一份合同,想要做存证,防篡改。建议采用《文件存证》协议,在存放在freedrive的同时,在主链上发一笔存证交易。

    大师回复:@昌用CID:CY_vpAv我修改一下。只要长度超过16的,标记位就不能是1位,麻烦昌用老师修改一下其他的地方。

    未命名文件.jpg
    刘教授回复:长度的单位是1字节,还是一个半个字节?我没搞清楚1个16进制用4个字节,对吧?这里1指的是1个16进制数?后面那个建议内容长度指的是字节需要在标题里注明一下,怎么注明?
    一棵树上回复:@昌用CID:CY_vpAv 引用那边也要更新。到处都要。

    刘教授回复:嗯,那都要更新我之前以为是字节。

    pisa回复:这周freedrive会上线,fch付费的逻辑 @大师CID:master_SAe7 @一棵树上 到时候有新的接口更新。 原来的接口基本上没有变化,只是get接口参数做了调整下。到时候大家保持沟通。

    一棵树提出问题:你这个很像 markdown 编辑器的语法,我转换之后是这样的 干脆前面加个 !@昌用CID:CY_vpAv 知识库 action 需要 改成2。未命名文件.jpg 未命名文件.jpg
    未命名文件.jpg
    刘教授回复:@一棵树上 好的,改成2。markdown用!专门表示图片,我们在metadata里给了type表示文件类型,应该不需要用!了吗?用!的话,会跟其他非图片类型文件引用不一致。引用格式是参考markdown的markdown给了链接和图片两种引用,我们可能要考虑其他类型文件的引用,比如视频,音乐,表格文件等。

    一棵树提出:data_hash 需要改成3。

    刘教授回复:好的。encrypted_pwd也需要改成3。data_hash不用吧,固定32字节。

    一棵树上回复:那个我没传 ,转成 16 就变长了。

    刘教授回复:好的。

    大师提出:这个变长就要考虑通用性,要转就统一都转,规则统一,统一方式解析,如果还要考虑某些字段需要不需要16进制,那这个规则的通用性就大打折扣,规则不统一,到最后肯定乱的一锅粥。

    刘教授回复:是的,要一开始统一起来。现在不能急着出应用,现在关键是统一规则。细节上都要规定清楚。@大师CID:master_SAe7 转16进制怎么回事?该如何统一?加密部分,@facjas 理清楚了,我正在写。
    大师回复:变长的规则:16(内容长度)+16(内容)我不管内容是不是已经是16进制了。

    pisa:不管是内容还是长度,在freedrive存储都是 16进制的。

    刘教授回复:@大师CID:master_SAe7 @pisa_n5oN 理解清楚的话,在协议里准确表述出来吧,我来转述怕不准确。https://shimo.im/docs/cSyC12PiCYwYahrx/ 《FOCP3V3_知库》。

    刘教授回复:好的。我修改一下。

    刘教授回复:@pisa_n5oN freedrive的输出里面不存在找零输出吧?

    pisa_n5oN 回复:有,但是应用层不需要知道。找零输出和具体业务无关。

    刘教授回复:和底层实现有关。授权修改权限时,要区分找零输出?找零输出是新地址还是第一个输入地址?通过输出来明确修改权限,就遇到找零输出的处理问题了如果找零输出总是第一个输入的话,也好办了。加密部分根据@facjas 提供的资料做了以上规定,没有考虑找零输出,看看有没有问题,是否清晰?未命名文件.jpg
    大师回复:@昌用CID:CY_vpAv 我修改了一下,你看看你能看明白吗?

    刘教授回复:明白,我在freedrive的数据格式的第一条里,以及数据的表头“值”里在说明一下。

    一棵树上回复:@昌用CID:CY_vpAv 这里确定下长度。https://shimo.im/docs/Gzfm4F96eG8xZGd4/read

    刘教授回复:好,@大师CID:master_SAe7 @一棵树上 长度2的话,可以表示16*16=256字节了吧?data_hash只有32字节,转换成16进制,也够了吧?

    一棵树上回复:我这转了 提示过长 。

    一棵树上回复:3个长度够了,我试试,稍等。@一棵树上 datahash给我一个。

    刘教授回复:2个也够了吧。我需要对长度有个差不多的判断,才好定长度。

    大师回复:dataHash多少位?sha256。

    一棵树上回复:
    未命名文件.jpg 未命名文件.jpg
    刘教授回复:长度2够了。data的内容都采用utf8,还是各个字段可以不同,统一转换成十六进制就行了?另外,data_hash是对转换成十六进制后的data全部内容哈希?
    大师回复:是的。‘

    刘教授回复:data_hash是对data各字段转换成十六进制,并加上十六进制长度先导之后的完整数据进行sha256计算的值。这个表述有没有问题。@大师CID:master_SAe7 @pisa_n5oN?

    pisa_n5oN 回复:没有问题。

    刘教授回复:那我加到各个协议中。

    一棵树上回复:这里不需要了? https://shimo.im/docs/Gzfm4F96eG8xZGd4/r
    刘教授回复:不需要了。

    一棵树上问到:这里是不是需要改大一点呢?https://shimo.im/docs/Gzfm4F96eG8xZGd4/read未命名文件.jpg
    刘教授回复:不用,就是怕长篇大论,评估的时候容易出现谁写的多谁有优势。很多做事的人没空写那么细。评估时大家阅读也是很麻烦,尽可能简练好些。

    pisa_n5oN 回复:这里,当 encrypt 为 1的时候,是不是应该还要有个字段放 密文的?encrypt 只是标志位?

    未命名文件.jpg
    刘教授回复:密文是在下面字段吧,encrypted_pwd。

    一棵树上回复:我会理解成,假如我要加密 在这 填写 aes-256 下面放密钥。

    刘教授问到:这里放密文@pisa_n5oN 对吧?encrypted_pwd这里面放用签发交易者的公钥加密的对称密钥,encrypt,这个字段只说明用什么样的加密算法。如果加密,encrypt字段固定填入ECC256k1-AES256CBC的十六进制就行了,各平台采用同样的方式加密解密。

    pisa_n5oN 回复:这个具体的计算方式,我给个例子。我们先前都是公开的数据,所以没管这块。

    刘教授回复:这是昨天@facjas 梳理的逻辑,比较细了,也有例子,可以参考。

    pisa_n5oN 提出:https://github.com/fchwallet/freedriveJ/blob/master/
    README.mdfreedriveJ 接口文档先更新了,新版本还没部署,明天部署到正式环境,@大师CID:master_SAe7 @一棵树上 你们对接了freedrive的接口可以先看看文档。
    未命名文件.jpg 未命名文件.jpg
    大师回复:能晚点上线新的吗,等我们这边稳定了在上线你们的。

    一棵树上:就只是 get字段的 ?

    pisa_n5oN 回复:对的。

    大师回复:你主要增加了计费,我们这边还没有梳理清楚,又要折腾你那边。

    pisa_n5oN 回复:现有接口只是 增加type. 大于50K的内容,以连接形式返回。计费接口,不过也不影响你们。

    大师回复:好,那就行,就怕需要我们给你付费。

    pisa_n5oN 提出:get 接口的字段,增加type

    大师回复:@pisa_n5oN 收到,我尽快调整一下。

    pisa_n5oN 回复:好的,还没部署新版本, 只是和大家先沟通下,晚一点上也可以的。或者我们下周5上线 ?

    大师和一棵树上回复:晚点上。

    大师回复:我觉得这个还挺稳定的,最起码我们调试都不会报错。

    一棵树上回复:目前我只读我网站的库的。

    pisa_n5oN 回复:get需要的,当然如果你的数据都是从你本地读取,且只读你自己传的数据,get可以不用。freedriveJ 的授权逻辑,还在调整,还没对外,现在只实现了 对等的权限,没有实现分级的权限。

    大师提问:@一棵树上 同一个CID的知识,在别的知库发布的, 你咋获取。目前就两个知识库,你和我,在我这里发布的,同一个CID,你能获取吗?
    一棵树上回复:目前不读。我目前只是把数据发布到链上。 还没有读链上的数据。

    大师回复:@昌用CID:CY_vpAv 有些字段长度标注有问题,我修改了一下https://shimo.im/docs/cSyC12PiCYwYahrx

    刘教授回复:好的。encrypted_pwd,2,恐怕不够。如果授权多个修改权限的话,就要多个加密后的密钥。

    大师回复:256还不够?这个密码要多长这个长度是2个16进制长度 16*16=256。

    刘教授回复:是对密钥进行加密后,而且是多个一个密钥是32字节,转成16进制,不知道是多少。如果授权10个修改者的话就要乘10。那就是640了,再加上9个分隔符。

    Skeyil1lLiaeyr₿ch提出建议:可不可以利用UTXO。

    刘教授回复:之前没考虑授权多个需要多个加密密钥的问题,现在已经利用utxo授权了。

    大师回复:恩,修改一下吧, 我这边也改一下。

    刘教授回复:问题是加密内容需要存放对称密钥@Skeyil1lLiaeyr₿ch。@Skeyil1lLiaeyr₿ch 你有什么想法?

    刘教授提出:@大师CID:master_SAe7 题目给2够不够?给三个吧,论述题可能要长。

    大师回复:好的。


Log in to reply