# Deploy a Semantic SBT contract leveraging Relation Protocol

We can use the [contract template](https://github.com/relationlabs/semanticSBT/blob/main/contracts/template) provided by Relation protocol to deploy our own Semantic SBT contracts.

Hardhat is used as the deployment tool. You can refer to: [Use Hardhat to deploy contracts](/protocol/appendix/deploy-a-contract-using-hardhat.md)

1. Download the contract

```shell
git clone git@github.com:relationlabs/semanticSBT.git
```

2. Install dependencies

```shell
cd semanticSBT
npm install
```

3. Modify the configuration file

```shell
vi hardhat.config.js
```

Comment the following code segment so that it will not be executed.( For now we only use a local network to demonstrate contract deployment. We don't need to configure other networks.)

```solidity
rinkeby: {
  url: `https://rinkeby.infura.io/v3/${INFURA_PROJECT_ID}`,
  accounts: [`${PRIVATE_KEY}`]
}
```

4. Compile the code

```shell
npx hardhat node &
npx hardhat compile
```

5. Modify the parameters for contract initialization

Use an editor to open the deployment script.

```shell
vi scripts/template/deployFollow.js
```

Modify the parameters

```javascript
const name = "Bob's Connection Template";
const symbol = 'SBT';
const baseURI = 'https://api.example.com/v1/';
```

* name: The name of the contract
* symbol: The symbol of the contract
* baseURI: The root directory of the tokenURI of the contract

6. Execute the deployment script

```shell
npx hardhat run scripts/template/deployFollow.js
```

A successful deployment will show the below message in the console:

```shell
SemanticSBTLogic deployed ,contract address: 0x84323b27A2Ee0DecFe417695F5718BdeC23320E5
Follow deployed ,contract address: 0x89235270C230F8A9d16D49D18fC38cf9343B5F9A
Follow initialized successfully!
0xc1155B6aE7031fE0B9365Bec744aa8E8a298c78b following 0x7ed9cdb704052a9ba93e9df3f604436655680f86 successfully!
The rdf of the first token is: 
            :Soul_0xc1155b6ae7031fe0b9365bec744aa8e8a298c78b p:following :Soul_0x7ed9cdb704052a9ba93e9df3f604436655680f86.
```

The last line of output is an RDF data representing the relationship of one address following another:

```
:Soul_0xc1155b6ae7031fe0b9365bec744aa8e8a298c78b p:following :Soul_0x7ed9cdb704052a9ba93e9df3f604436655680f86.
```


---

# 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://relationlabs.gitbook.io/protocol/quick-start/semantic-sbt.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.
