Deploy a Semantic SBT contract leveraging Relation Protocol

We can use the contract 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

  1. Download the contract

git clone
  1. Install dependencies

cd semanticSBT
npm install
  1. Modify the configuration file

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.)

rinkeby: {
  url: `${INFURA_PROJECT_ID}`,
  accounts: [`${PRIVATE_KEY}`]
  1. Compile the code

npx hardhat node &
npx hardhat compile
  1. Modify the parameters for contract initialization

Use an editor to open the deployment script.

vi scripts/template/deployFollow.js

Modify the parameters

const name = "Bob's Connection Template";
const symbol = 'SBT';
const baseURI = '';
  • name: The name of the contract

  • symbol: The symbol of the contract

  • baseURI: The root directory of the tokenURI of the contract

  1. Execute the deployment script

npx hardhat run scripts/template/deployFollow.js

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

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.

Last updated