MetaID
中文
中文
  • 概要
    • 概要
    • 术语
  • 📑MetaID协议规范
    • 协议格式
    • MetaID 树介绍
      • MetaID树
      • Info 节点
      • File 节点
      • FT 节点
      • NFT 节点
      • Protocols 节点
      • Follow节点
    • MetaID 信封格式
    • 隐私模型
    • 关于PIN
    • 关于PoP
    • Host
    • MetaAccess
    • MetaName
    • 一些例子
  • 💻MetaID App Node
    • 简介
    • 编译与运行
    • JSON API
    • 浏览器
    • MetaID PIN规则约定
    • PIN数据结构
  • ⚙️MetaID SDK
    • Get Started
    • Core API
    • Quick Example
  • ⛓️Cross-chain
    • 关于跨链
    • Unified UTXO Chain
  • 🪪About MetaID
    • MetaID历史
    • FAQ
    • MetaID理念
    • MetaID资源
  • 📃资产协议
    • MRC-20
    • MRC-721
Powered by GitBook
On this page
  • About
  • Introduction
  • Spec
  • Example
  1. MetaID协议规范

MetaName

About

Introduction

为了打造更完整的生态,在MetaID-v2协议上使用MetaName作为域名系统。任何人都可以注册自己的域名和命名空间,并使用其功能。

Spec

MetaName为MetaID-v2中的域名规范,约定的path路径为/metaname/{namespace}。

Register Name

注册新域名遵循先见原则,即First is first,且暂时索引在BTC上。任何人都可以在MetaID-v2协议上简单方便地注册MetaName。按照MetaID-v2协议,使用operation为create,path为/metaname/{namespace},在路径中即可声明任何namespace,比如metaid/ord/sats/btc 等等。如下注册一个alice.metaid

OP_FALSE
OP_IF
   metaid                
   create                
   /metaname/metaid  //namespace: metaid/ord/sats/btc          
   0                     
   OP_0                  
   Application/json            
   { 
	  "name": "alice",
	  "rev": "",
	  "relay": "",
	  "metadata": ""
	}                // MetaName payload(示例)
OP_ENDIF

MetaName允许用户注册时设置rev/relay/metadata参数,

{
  "name": "alice",
  "rev": "",
  "relay": "",
  "metadata": ""
}

Key

Required?

Type

Expected

Description

name

Y

String

MNS name

rev

N

String

address format

域名解析对应的地址

relay

N

String

域名解析对应的指针

metadata

N

String

metadata,自定义内容,建议不超过200字符

⚠️ 域名限制

  • 注册域名不可重复,遵循先见原则,即First is first

  • 注册域名时operation必须要为create

  • 任何 UTF-8 字符均有效

  • 所有域名均自动转化为小写

  • 域名中不允许有空格,句点和换行符

Update Name

通过MetaID-v2的规则,使用operation为modify来修改更新,path需要指向对应的MetaName的pinid,且仅对rev/relay/metadata参数有效。

  • 注意modify对name无效

  • modify时payload中的name可空

OP_FALSE
OP_IF
   metaid                
   modify                
   @{pinid}         
   0                     
   OP_0                  
   Application/json            
   { 
		  "rev": "xxx",
		  "relay": "xxxxx",
		  "metadata": "xxxxxxxx"
		}
OP_ENDIF

Example

注册

MetaName:alice.metaid

OP_FALSE
OP_IF
   metaid                
   create                
   /metaname/metaid  //metaid/ord/sats/btc          
   0                     
   OP_0                  
   Application/json            
   { 
		  "name": "alice",
		  "rev" : "bc1puyjhe7h2crd86qnerjqwmhc55t9zzhacnj4h9ypmclwkgsd4h8eq6xk2ys",
		  "relay": "xxx",
			"metadata": ""
		}
OP_ENDIF

更新

MetaName:alice.metaid

OP_FALSE
OP_IF
   metaid                
   modify                
   @2e9b714d338c47cb4144d9f6986f510f83504ad4158297158b490406e825ff0c         
   0                     
   OP_0                  
   Application/json            
   { 
		   "rev" : "bc1ppkvfwnw67q4w8pt86l7wr3jkngsyymqucrn6vxak7zpntawm6n6qe2n9ls",
		   "relay": "xxx",
		   "metadata": ""
		}
OP_ENDIF
PreviousMetaAccessNext一些例子

Last updated 5 months ago

注册时设置的域名name,不需要添加namespace,具体参考一下

📑
限制