File 节点

File节点概述

File节点是专门用于存放文件的PIN路径。通过File节点,用户可以将文件以PIN的形式安全地存储在区块链上,实现去中心化的文件存储和管理。

数据格式

存储文件的PIN内容遵循如下格式:

OP_FALSE
OP_IF
	metaid            
	create            
	/file/file-name-1.jpg     
	0                 
	OP_0              
	image/jpg;binary  
	<file data>        // Payload - 文件的二进制内容
OP_ENDIF

在这里,<file data> 包含了文件的二进制内容,而 content-type 指定了文件的数据类型(例如,image/jpg;binary 表示JPEG格式的图片文件)。

File节点路径

File节点的路径使用 /file 作为存储路径,并可通过文件名或子级路径来进一步区分不同的文件。通过File节点的路径,用户可以在MetaID的树状结构中轻松地定位和检索特定的文件PIN,从而实现对文件的有效组织和管理。

File Referencing

在 MetaID 中,文件引用是一种基础的业务操作,具有极其重要的地位。这特性允许用户在应用协议中引用已存在的链上 file 数据,进一步提高数据连接性并增强用户体验。为了实现此操作,我们定义了一种特殊的文件引用规则

文件引用格式

当在一个子协议中需要引用一个 file,例如在 payload 中,我们使用以下格式:

metafile://{pinid}

其中,PIN**ID** 是待引用文件的唯一标识符。通过此格式,我们可以建立从当前协议到特定 file 的引用链接。

例子

举个例子,发一个带有某个文件的贴:

//Payload
{
	"content":"Hello bitcoin world!",
	"contentType":"text/plain",
	"createTime":1710741614716,
	"quoteTx":"",
	"attachment":[
		"metafile://{pinId}",
	]
}

最终上链内容即为:

OP_FALSE
OP_IF
	metaid                           
	create                          
	/protocols/simplebuzz         
	0                                
	0                                
	application/json;utf-8              
	{"content":"Hello bitcoin world!","contentType":"text/plain","createTime":1710741614716,"quoteTx":"","attachment":["metafile://{pinId}",]}       //Payload
OP_ENDIF

Last updated