如何在IPFS上存储NFT?

NFT在2021年迎来了其爆发式的发展,从基础设施、到去中心化域名、再到交易市场、逐步涉及到虚拟市场、游戏场所、DeFi+NFT、收藏品等方面,可以说现阶段NFT生态已经初具规模。

永久性和不变性是不可替代通证核心价值主张的一部分。为创作者在版权保护方面提供了得天独厚的优势,为数字收藏品领域创造了非常大的想象空间。但是由于设计上的根本缺陷,目前针对消费者的许多NFT都不能提供这两种特性。我们经常听到这样的说法:NFT“永远存在区块链上”,但通常情况下,由于在区块链上存储数据的成本和空间限制,实际上只存储所有权记录,以及链接到NFT实际内容的元数据。但是这些链接是脆弱的,使用HTTP协议将用户指向特定的位置,而不是特定的资产。这意味着由链接指向的内容可能会在未来的任何时候更改或离线,从而使原始资产永远丢失(所有权记录也变得毫无价值)。

星际文件系统(IPFS)可以帮助解决这些问题,并且利用IPFS的NFTs可以获得一些优势。当然遵守已建立的约定对于确保存储在网络上的数据的持久性和可访问性至关重要。随着非可替代令牌(NFT)的流行,现在是时候回顾在IPFS上链接和存储NFT数据的最佳实践了。在这篇文章中,我们将特别讨论两个最近关注的领域:内容寻址和内容完整性。

Lido将出版儿童读物《加密货币是如何运作的》:10月12日消息,流动性质押协议 Lido 宣布其团队将出版儿童读物《加密货币是如何运作的》,预印本已交付给以太坊创始人 Vitalik Buterin 审查。[2022/10/12 10:31:58]

内容寻址

IPFS内容标识符是一种极其稳定和灵活的方式,可以唯一地标识任何内容,而不管其存储在何处或如何存储。为了最大程度地利用这些优势,开发人员应遵循以下建议和惯例来链接到IPFS数据。

以下资料需要掌握:

1.1CID

CID是一段内容的自描述唯一标识符。例子:?bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

CID应该在应用程序代码内部以及在其他上下文中使用,无论您使用的是IPFS还是其他系统,都应使用CID。我们建议每当将CID存储在磁盘上时,尤其是在元数据和区块链记录中将其转换为IPFSURI之后,这些ID在创建后就不能更改。包括ipfs://URI方案将重要上下文添加到CID中,该CID清楚地向用户和自动工具显示如何查找内容。

1.2IPFSURI

IPFSURI统一资源标识符(UniformResourceidentifier,或URI)用于指定给定上下文中的特定内容。上下文由URI方案决定(作为前缀追加到URI,后跟://)。IPFS的URI方案就是IPFS。URI可以有选择地包含一个追加到末尾的路径

动态 | Poloniex回应CLAM“闪崩事件”:无论如何损失将得到解决:Poloniex在推特发布了对于CLAM事件更新:“毫无疑问,我们致力于让受影响的债权人成为一个整体,无论遇到什么样的困境。我们正在努力实现这一目标,包括(但不限于)收回违约借款人欠贷款人的债务。无论如何,损失将得到解决。”据金色财经此前报道,用户考虑起诉Poloniex,指责其处理加密货币CLAM闪崩亏损之举为盗窃。[2019/6/8]

例如:

ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

ipfs://bafybeigvafaks2bvivtv46n2z7uxszpvl25jhvzc6dbhnjjgjkbeia5jta/nft.mp4

IPFSURI是指向文件或目录的IPFS链接的规范标识。从智能合约链接到IPFS数据时,请使用IPFSURI明确指示应使用IPFS检索数据。当链接到存储在IPFS上的图像和其他媒体资产时,也应在NFT的结构化元数据中使用IPFSURI。

1.3HTTP网关URL

HTTP网关为无法本地解析IPFSURI的旧版浏览器提供了互操作性。此类链接仅应在应用程序的表示层中使用,而不应存储在区块链或NFT元数据内部。

动态 | 火币中国CEO与马来西亚总理讨论区块链将如何在马来西亚落地:据雅虎财经消息,近日,火币中国CEO袁煜明与马来西亚总理马哈蒂尔(Mahathir Mohamad)就“如何在制造业和能源行业中应用区块链”以及“区块链将如何在马来西亚落地”进行了讨论。[2019/5/29]

例如:

https://dweb.link/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

请注意,HTTP网关将内容分发重新集中化,同时显示中间人矢量和单点故障-如果网关操作员离线或不可达,则链接将断开。但是,对IPFS内置支持的浏览器可以避免这些问题,因为它们可以自动从此类链接中提取CID并加载IPFS根据用户首选项提供数据。

如何操作

开发人员应根据上下文设置不同的链接格式。

2.1链上

NFT智能合约应将IPFSURI返回到与每个令牌关联的资产和元数据。

例如:

ipfs://bafybeibnsoufr2renqzsh347nrx54wcubt5lgkeivez63xvivplfwhtpym/metadata.json

我们建议在铸造每个令牌并在链上存储完整URI之前生成IPFSURI。这是符合期望使用URI的智能合约接口的最简单方法,并且ipfs://URI方案使任何分布式应用程序都可以轻松地使用IPFS看到数据可用。

动态 | 受监管代币交易商寻求SEC澄清数字资产如何符合美国证券法:据Coindesk报道,受监管的代币交易商Templum希望美国证券交易委员会(SEC)澄清在区块链上跟踪或代币化的数字资产如何符合美国证券法规。为此,该公司上周向SEC提交了一份规则制定请愿书,其中概述了在某些形式的证券交易中如何利用加密资产和区块链技术。Templum联合创始人兼首席执行官Vince Molinari表示,该公司要求明确这些新生技术如何适应当前的监管计划。 至少在他们看来,它们并不存在于现有框架中。具体而言,Templum希望SEC解释区块链平台何时必须注册为清算公司或清算公司可以如何使用区块链,以及区块链平台何时必须注册为转账代理或告知数字资产发行人何时必须使用区块链转账代理人。该公司还试图了解SEC会何时可对现有的托管和客户保护规则进行改善,以允许用于跟踪证券交易的区块链。[2018/12/21]

2.2元数据

元数据中,应该使用IPFSURI作为以明文形式链接到IPFS资源的最明确,最可靠的方法。这是引用NFT媒体资产的IPFSURI的例子:?ipfs://bafybeigvafaks2bvivtv46n2z7uxszpvl25jhvzc6dbhnjjgjkbeia5jta/nft.mp4

开发人员可能希望包含指向公共HTTP网关的链接,以实现传统的互操作性。

Digital Asset建筑与技术战略首席技术官:对于智能合约 如何将资产与外部系统整合非常重要:据coindesk消息,区块链初创公司Digital Asset的建筑与技术战略首席技术官Shaul Kfir在Synchronize 2018会议上举例美国财政部的回购国债,表示1亿美元是一个小型交易,这是一个非常适合智能合同用例。在现实世界中,资产始终会被创造和摧毁。如何将资产与外部系统整合的问题非常重要。对于智能合约来说,最好的例子是“当人们想拥有这个逻辑上集中的IT系统,但是不希望它实际上是中心化的时候,任何时候在多个设备上都有一个工作流程。[2018/4/20]

理想情况下,应避免其他链接到内容的替代方法。由于从特定位置通过HTTP提供的内容可能会发生更改,因此,除了临时内容镜像以外,不能依赖此类链接。因此,在永久且不可变地存储数据的区块链上,通过HTTP引用内容非常脆弱且具有风险。

相反,IPFSURI永远有效,因此可以安全地视为其数据的规范链接。通过将IPFSURI用作链接的“事实来源”,应用程序可以轻松地支持多种存储解决方案,或者随着时间的推移轻松切换到不同的网关,只需生成新的网关链接即可。这比将特定网关“硬编码”到永久性区块链记录中更为灵活。

2.3应用

在面向用户的应用程序中,开发人员应通过以下两种方式链接到IPFS内容:IPFSURI与HTTP网关URL。

直到更多的浏览器支持IPFSURI方案的本机解析为止。请注意,可以根据需要从原始CID或IPFSURI轻松生成两种链接。

以下是针对dweb.link上的公共网关的HTTP网关URL的示例:

https://dweb.link/ipfs/bafybeigvafaks2bvivtv46n2z7uxszpvl25jhvzc6dbhnjjgjkbeia5jta/nft.mp4

可以使用CID作为子域而不是URL路径来编写相同的链接:

https://bafybeigvafaks2bvivtv46n2z7uxszpvl25jhvzc6dbhnjjgjkbeia5jta.ipfs.dweb.link/nft.mp4

这两个例子都对应于以下规范的IPFSURI:?ipfs://bafybeigvafaks2bvivtv46n2z7uxszpvl25jhvzc6dbhnjjgjkbeia5jta/nft.mp4

作用

NFT的一个主要问题是资产的完整性——这包括资产本身以及与资产相关的任何数据。IPFS通过使用CID验证自创建链接以来没有任何更改来保护NFT数据的完整性。开发人员应遵循以下建议,以从IPFS的内置数据验证中获得最大收益。

3.1将元数据链接到其资产

元数据应被视为NFT值不可或缺的一部分。因此,为了保留资产的价值,应将元数据与资产一起存储在IPFS上,以确保两者都可访问。

实现此目的的方法如下:创建两个新目录;将资产添加到其目录;将资产目录添加到IPFS,并注意其CID;在自己的目录中创建元数据,使用中的CID引用资产以创建IPFSURI。URI应包含目录的CID和资产的文件名;将元数据的目录添加到IPFS,注意其CID;使用中的CID为元数据创建IPFSURI,并在链上存储URI以形成所有权记录。

此过程都保留了开发人员在其链接中包含文件名的能力,同时确保可以相互独立地引用元数据和资产。

元数据将在以下位置访问:?ipfs://{metadata-directory-CID}/metadata-filename

可以在以下位置访问该资产:?ipfs://{asset-directory-CID}/asset-filename

这是一些JSON元数据的示例,其中包含链接到图像文件的IPFSURI:

{

?"name":"Notimetoexplain!",

?"description":"Isaidtherewasnotimetoexplain,andIstandbythat.",

?"image":"ipfs://bafybeidfjqmasnpu6z7gvn7l6wthdcyzxh5uystkky3xvutddbapchbopi/no-time-to-explain.jpeg"

}

可以使用IPFSURI提取图像:

ipfs://bafybeidfjqmasnpu6z7gvn7l6wthdcyzxh5uystkky3xvutddbapchbopi/no-time-to-explain.jpeg。为了进行演示,您的应用程序可以创建网关URL,以允许用户使用HTTP来获取图像,例如,https://dweb.link/ipfs/bafybeidfjqmasnpu6z7gvn7l6wthdcyzxh5uystkky3xvutddbapchbopi/no-time-to-explain.jpeg

一旦创建了元数据,就将其作为JSON文件存储在IPFS上,并使用生成的CID创建类似URI的URI?ipfs://bafybeibnsoufr2renqzsh347nrx54wcubt5lgkeivez63xvivplfwhtpym/metadata.json,可以将其存储在智能合约中。

可用性

使用像IPFS这样的去中心化网络来提供内容的主要原因是防止链接失效。这就需要通过其他网络中的节点通过托管镜像数据来实现的。为了确保链接的内容仍然可用,开发人员应将内容的CID固定在他们管理的IPFS节点上,并与希望提供帮助的其他人一起保存和分发内容,从而自己托管该内容。当然也可以通过固定服务来进行托管内容。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

比特币Vitalik最新讨论:存储的分开定价和双轨EIP1559

以太坊状态模型的最大问题是:平均状态增长与最坏情况状态增长之间的巨大差异。本文系Vitalik在以太坊研究者论坛里提出的一个最新讨论,该讨论是继以太坊研究科学家BarnabéMonnot提出的关于EIP1559切实实施的思路进行的再次.

FilA16Z:美国YOLO、中国玩基金 个人主动投资兴起

回顾这两年的资本市场,国内外有个比较明显的趋势。美国散户在2020年开始主动交易居多,高潮是「散户暴打机构」的WSB事件,以WallStreetBets为代表的投资社区用户将Z世代的YOLO精神发挥到了极致,被社区选中的标的,比如Ga.

AAVE加密艺术 新浪潮的到来

原文标题:《加密艺术,新浪潮的到来》当我们还停留在技术价值与投资分布层面讨论加密艺术,恰证明加密艺术才刚刚开始.

[0:31ms0-4:554ms