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
  • Introduction
  • Core Concepts
  • PIN索引规则
  • 通用
  • Operation
  • Path
  • Installation
  1. MetaID SDK

Get Started

PreviousPIN数据结构NextCore API

Last updated 5 months ago

MetaID-TS-SDK 源代码已发布在 Github 上,相关 API 和示例代码请以 Github 最新页面为准

Introduction

MetaID SDK提供了一套规范标准和方法工具,用来生成和处理遵循MetaID协议的底层区块链数据(这里具体指符合UTXO标准的链, 目前支持BTC链) 。

MetaID SDK的设计目标是提供一个相对统一且高效的方法,大大简化了web3服务的整合,免去了开发者需与多种协议打交道以及数据上链时需自行构建复杂UTXO交易的需求,节省时间且减小了面临兼容性问题的风险。

基于MetaID SDK的简洁性,兼容性,可扩展性,高效性, 传统应用开发者可以快速开发并部署一个运行在UTXO链上的Dapp应用。

Core Concepts

MetaID SDK有两个核心概念:连接器(connector)和实体(entity)。

连接器用于身份信息的认证和管理,作为用户在区块链上发布数据的基础。

"实体"是在应用层中使用的术语。它用于管理某种特定数据类型的资源。从编程的角度来看,当你创建一个新的实体实例时,你可以访问其属性,并利用它所提供的一系列可执行链上数据存储和修改的方法。你可以将每一类Entity理解为分别对应于MetaID Specification中的PATH部分。

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

Path 规则

  • 以 /file、/protocols、/nft、/ft 开始的 path 应该是全路径的,如: /protocols/simplebuzz/file/my-pfp.jpg。

Installation

Method 1: 使用 yarn 或 npm

// 使用 yarn
yarn add @metaid/metaid 

// 使用 npm
npm install --save @metaid/metaid

Method 2: 以 src 方式引入到你的原生 JS 项目中

该方法会把 npm 版本的包转换成浏览器能运行的包,无需打包工具(如 webpack)。

  1. 初始化一个本地项目

mkdir generate-metaid-bundle && cd generate-metaid-bundle/ 
yarn init 
// 或者
npm init
  1. 安装 SDK:

npm install --save @metaid/metaid
// 或者
yarn add @metaid/metaid
  1. 写一个 main.js 文件,只需要两行代码:

var metaidSDK = require('@metaid/metaid')
window.metaidSDK = metaidSDK
  1. 使用 npm 全局安装 browserify:

npm install -g browserify
// 或者 
yarn global add browserify
  1. 安装完成以后,执行命令:

browserify main.js -o bundle.js

命令运行完成以后,会生成一个 bundle.js 文件。现在我们就可以把这个文件和 HTML 代码放在一起,通过 <script> 标签导入了:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <script src="bundle.js"></script>
    </head>
    <body>
        <div class="app">
             <!-- HTML tag of your page -->
        </div>
        <script>
            // JS code
        </script>
    </body>
</html>
⚙️
https://github.com/metaid-developers/metaid