首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IPFS和编辑权限

IPFS和编辑权限
EN

Stack Overflow用户
提问于 2021-04-08 14:54:41
回答 1查看 2.2K关注 0票数 5

我刚刚上传了一个包含5个图片的文件夹到IPFS (使用客户端应用程序,所以这是一个非常简单的拖放操作)。

因此,我是创建和发布这个文件夹的人,这是否意味着我是唯一一个允许对其进行进一步修改的人--比如从其中添加或删除更多的图像?或者有谁能在IPFS上也这么做呢?

如果可以的话,是否有办法防止这种情况发生?

=======================================

最新问题:

我的具体用例与更新ERC721令牌-的元数据有关,已经被创建好了。

例如,想象一种游戏,其中某些物体--比如魔法剑--在一定的使用量或其拥有者完成特定任务后获得了特殊的力量。因此,我们希望通过编辑它的元数据并将更新后的元数据文件重新提交到Blockchain,来更新它的属性。

例如,如果我们的游戏有100把剑,并且我们最初将一个包含所有100个json文件(每个剑一个)的文件夹上传到IPFS,那么我确信If仍然允许您通过它们特定的人类可读的名称(而不仅仅是通过散列)访问散列文件夹中的特定文件。因此,如果我们的剑恰好是刀剑#76,而且我们对JSON文件的命名约定是这样的:“sword000.json”,那么刀剑#76的JSON元数据文件将有一个路径,如:http://ipfs.infura.io/QmY2xxxxxxxxxxxxxxxxxxxxxx/sword076.json

如果我们编辑“sword076.json”文件并将其拖回主JSON文件夹中,显然会导致该文件夹的Hash/CID值发生变化。但是,只要我们能够更新我们的Solidity契约的“tokenURI”方法,从这个新更新的散列/CID文件夹名中查找和服务我们的“.json”文件,我们仍然可以使用它们的常规英文名称来引用其中的各个文件。这意味着我们可以走了。

这是否是一个很好的方案是我们绝对可以讨论的,但我首先想回到我最初的问题/关注,那就是我想确保我们是唯一能够更新我们文件夹内容的人,而且没有其他人有权这样做。

这有意义吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-08 18:26:44

IPFS是不可变的,这意味着当您将目录与文件一起添加时,目录将根据目录的内容获得唯一的CID。所以在某种意义上,没有人能修改它,甚至你也不能,因为它是不变的。我相信,只要有更多关于IPFS工作的背景,就可以解决这一困惑。

当您向IPFS添加内容时,每个文件都会被散列,并给出一个CID。目录也是如此,但是它们的CID更容易被理解为目录内容的总和。因此,如果目录中的任何文件被更新、添加或删除,该目录将获得一个新的CID。

理解这一点,如果其他人以完全相同的方式添加了完全相同的内容,他们最终将得到完全相同的CID!这样,如果两个人添加了相同的CID,而第三个人请求该文件(或目录),那么两个节点将能够提供数据,因为我们知道它完全相同。如果您只是共享您的CID,而另一个节点将其固定在一起,则同样的情况也是如此,这两个节点都将拥有相同的数据,因此,如果有人请求,这两个节点都可以为其提供服务。

所以你的本地拷贝,任何人都不能编辑。从某种意义上说,如果您依赖于IPFS作为您的数据地址,甚至不是由您!这就是为什么IPFS通常被称为“不可变”的原因,因为您通过IPFS请求的任何数据都是相同的。如果您更改了任何数据,您将得到一个新的CID。

更多信息可以在这里找到:内容寻址 & 不变性

如果您阅读了所有这些,并想“如果我想要可变的数据呢?”,我建议您查看IPNS,可能是ipfs同步,如果您正在寻找一个工具为您自动更新IPNS。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67006583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档