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}

其中,PINID 是待引用文件的唯一標識符。通過此格式,我們可以建立從當前協議到特定 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