PIN数据结构
MAN索引器會從taproot交易的reveal腳本中獲取MetaID協議數據,具體協議請參照MetaID Specification章節。
PIN數據結構
PIN索引規則
通用
識別Flag:
metaid
大小寫規則:大小寫不敏感,索引器可以全部轉為小寫保存。
Operation
init
類型PIN所在的交易的txid為一個metaid
的roottxid
。init
、create
遵循先到先得原則。同一區塊內
init
、create
不區分先後順序,索引器應先處理init
類型PIN,再處理其他類型PIN,先處理init
是為了得到roottxid
/metaid
。
Path
對於相同的
path
,所有init
和create
的PIN是看最舊的,只有modify
/revoke
才是看最新的。modify
/revoke
必須對已入塊的PIN操作,即modify
/revoke
只對已經入塊的PIN有效,即使同區塊也是無效的。非
init
-PIN的path
一定是在以下path
內,一個metaid
默認存在這五個一級path
:/info
/file
/protocols
/nft
/ft
以
/file
、/protocols
、/nft
、/ft
開始的path
應該是全路徑的,如/protocols/simplebuzz/file/my-pfp.jpg
。
PIN状态码
0
正常的PIN
-1
revoke的PIN
1
modify的PIN
-101
目標PIN所在區塊高度 ≤ 當前PIN所在區塊高度
-102
目標PIN已經被轉移
-201
modify
的PIN,格式正確,但@+PINID
中的PINId
不存在(已確認的PIN)
-202
modify
的PIN,格式正確,但發起modify
的地址不存在
-203
modify
的PIN,格式正確,發起modify
的地址存在,但目標PIN的地址不等於當前PIN的address
-204
目標PIN已經有modify
(狀態碼為1)
-205
目標PIN的Operation
是init
-301
revoke
的PIN,格式正確,但@+PINID
中的PINId
不存在
-302
revoke
的PIN,格式正確,但發起revoke
的地址不存在
-303
revoke
的PIN,格式正確,發起revoke
的地址存在,但目標PIN的地址不等於當前PIN的地址
-304
目標PIN已經被revoke
過(狀態碼為-1)
-305
revoke
的PIN,格式正確,但目標PIN的Operation
是init
或目標PIN的Path
是/info/
更多信息,請參考 MAN 源代碼。
Last updated