# Get Started

{% hint style="info" %}
The MetaID-TS-SDK source code has been released on GitHub. For the latest API and example code, please refer to the most recent GitHub page.

<https://github.com/metaid-developers/metaid>
{% endhint %}

#### Introduction

MetaID SDK provides a set of standard specifications and tools for generating and processing underlying blockchain data that conforms to the MetaID protocol (specifically for UTXO-standard chains, currently supporting the BTC chain).

The design goal of MetaID SDK is to offer a relatively unified and efficient method, greatly simplifying the integration of web3 services. It eliminates the need for developers to handle multiple protocols and construct complex UTXO transactions for on-chain data, saving time and reducing the risk of compatibility issues.

With the simplicity, compatibility, extensibility, and efficiency of MetaID SDK, traditional application developers can quickly develop and deploy a Dapp application running on a UTXO chain.

#### Core Concepts

MetaID SDK has two core concepts: Connector and Entity.

* **Connector**: Used for authentication and management of identity information, serving as the foundation for users to publish data on the blockchain.
* **Entity**: A term used in the application layer for managing resources of a specific data type. From a programming perspective, when you create a new entity instance, you can access its properties and utilize a series of methods it provides for executing on-chain data storage and modifications. Each type of Entity corresponds to the PATH part of the MetaID Specification.

#### Installation

**Method 1: Use Yarn or NPM**

```bash
// Use Yarn
yarn add @metaid/metaid 
// Use NPM
npm install --save @metaid/metaid
```

**Method 2: Include as src in Your Native JS Project**

This method converts the npm package into a browser-compatible package without requiring a bundling tool like webpack.

1. Initialize a local project:

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

2. Install the SDK:

```bash
npm install --save @metaid/metaid
// or
yarn add @metaid/metaid
```

3. Create a `main.js` file with just two lines of code:

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

4. Globally install browserify:

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

5. After installation, run the command:

```bash
browserify main.js -o bundle.js
```

6. Once the command is executed, a `bundle.js` file will be generated. Now you can include this file along with your HTML code using the `<script>` tag:

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.metaid.io/metaid-sdk/get-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
