# Get Started

{% hint style="info" %}
MetaID-TS-SDK 源代碼已發佈在 Github 上，相關 API 和示例代碼請以 Github 最新頁面為準 <https://github.com/metaid-developers/metaid>
{% endhint %}

## Introduction

MetaID SDK 提供了一套規範標準和方法工具，用來生成和處理遵循 MetaID 協議的底層區塊鏈數據（這裡具體指符合 UTXO 標準的鏈，目前支持 BTC 鏈）。&#x20;

MetaID SDK 的設計目標是提供一個相對統一且高效的方法，大大簡化了 web3 服務的整合，免去了開發者需與多種協議打交道以及數據上鏈時需自行構建複雜 UTXO 交易的需求，節省時間且減小了面臨兼容性問題的風險。&#x20;

基於 MetaID SDK 的簡潔性，兼容性，可擴展性，高效性，傳統應用開發者可以快速開發並部署一個運行在 UTXO 鏈上的 Dapp 應用。

## Core Concepts

MetaID SDK 有兩個核心概念：連接器（connector）和實體（entity）。&#x20;

連接器用於身份信息的認證和管理，作為用戶在區塊鏈上發布數據的基礎。&#x20;

"實體"是在應用層中使用的術語。它用於管理某種特定數據類型的資源。從編程的角度來看，當你創建一個新的實體實例時，你可以訪問其屬性，並利用它所提供的一系列可執行鏈上數據存儲和修改的方法。你可以將每一類 Entity 理解為分別對應於 MetaID Specification 中的 PATH 部分。

## Installation

#### Method 1: use yarn or npm

```jsx
// use yarn
yarn add @metaid/metaid 
// use npm
npm install --save @metaid/metaid
```

#### Mothod2: 以 src 方式引入到你的原生 js 項目中

該方法會把 npm 版本的包轉換成瀏覽器能運行的包，無需打包工具（如 webpack）。

1. 初始化一個本地項目

```jsx
mkdir generate-metaid-bundle && cd generate-metaid-bundle/ 
yarn init 
// or
npm init
```

2. 安裝 sdk：

```jsx
npm install --save @metaid/metaid
// or
yan add @metaid/metaid
```

3. 寫一個 main.js 文件，只需要兩行代碼

```jsx
var metaidSDK = require('@metaid/metaid')
window.metaidSDK = metaidSDK
```

5. 使用 npm 全局安裝 browserify:

```jsx
npm install -g browserify
// or 
yarn global add browserify

```

5. 安裝完成以後，執行命令：

`browserify main.js -o bundle.js`&#x20;

6. 命令運行完成以後，會生成一個 bundle.js 文件。現在我們就可以把這個文件和 HTML 代碼放在一起，通過 `<script>` 標籤導入了：

```jsx
<!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>
```
