把文件存入 XRP Ledger
代币的图片或任何其他文件,写入与代币相同的账本,读取时按指纹校验。
把你的文件写入账本的 Windows 应用。
立方体显示一个真实文件的分片是如何从账本中读取的。每个数据块都按指纹校验通过后,文件本身会出现在它们旁边。
指向元数据的链接会失效
当 NFT、MPT、DID 或凭证把图片和描述存放在账本之外时,账本中的条目只保存一个链接。文件则放在 IPFS 上、发行方自己的服务器上或 S3 存储桶中。
- 未固定(pin)的 IPFS固定服务停止付费后,文件就会从 IPFS 中消失。
- 服务器关闭公司关闭或搬迁后,原地址只会返回错误。
- 存储桶被关闭存储账户被关闭,文件也随之消失。
这个条目会一直留在账本里,但链接背后的文件可能丢失。使用 xrpl-file 时,文件被写入同一个账本,写入文件的交易无法修改或删除,任何人都可以按指纹校验文件,无需信任任何服务器。xrpl-file 链接为 84 字节,而 NFT 的 URI 字段可容纳 256 字节。
从文件到链接,再回到文件
-
切成分片
文件被切成若干块,每块 1000 字节,称为分片。
-
写成交易
每个分片写入各自的交易,放在备注(Memo)字段中。
-
生成指纹
每 1024 个分片组成一个数据块,数据块的哈希进入数据块列表。最后一笔交易称为清单,其中保存整个列表的指纹。这笔交易的哈希就是链接。
-
读取并校验
任何拿到链接的人都可以从 XRP Ledger 节点取得分片,拼出文件,并按指纹校验每个数据块。与指纹不符的文件不会显示。本站服务器不参与这一过程。
费用
文件写入账本时,大约每千字节对应一笔交易,由应用中的发布账户发送。一个账户可以发布任意数量的文件,不再需要时,由应用将其关闭。费用分为两类。手续费会被花掉。账户存在期间,其储备金被锁定;账户关闭后,其中大部分会退回。
价格表目前无法显示。数据也可以在数据文件 price.json 中查看。
永久且公开
无法删除
写入账本的内容会一直留在那里。任何人都无法删除或修改,你和我们也一样。
任何人都能读取
任何人都可以读取这个文件。账本上的数据对所有人公开,链接也不是秘密。
只发布你愿意永久向全世界公开的内容:不要发布密码、个人信息,或你无权分享的图片。
面向开发者
格式由规范描述。代码仓库中有 .NET 库和供浏览器使用的读取器。
在你的页面中显示文件
添加脚本和元素即可。脚本固定在 1.2.0 版本,并通过 integrity 值校验:文件一旦改变,浏览器就不会执行它。
来自 npm,经由 jsDelivr
<script src="https://cdn.jsdelivr.net/npm/xrpl-file-element@1.2.0/xrpl-file-element.js"
integrity="sha384-3Ng6D0oyDdNcgbs1hTua5zQaHdn4E/3o7gnxr0ecp2jVh2kP2KbJymnO++iWWvP+"
crossorigin="anonymous" defer></script>
<xrpl-file src="xrpl-file://mainnet/9B1A9E33DBD9B445BFE2854D4D489DC860869D873AD36DA30A69DD19DDBC0DF5"></xrpl-file>
width 和 height 设置尺寸,loading 指定何时开始读取,theme 选择浅色或深色配色,node 指定读取所用的节点。完整列表见 README:嵌入文件。