In this web3 era everyone is taking about NFTs , Blockchain , Metaverse etc. But there are lot more things which you might don’t know and the one which I am going to talk about in this post is Soulbound Token
First we need to know What is Soulbound token ?
Soulbound tokens (SBTs) are non-adaptable tokens addressing an individual’s character utilizing blockchain innovation. This could incorporate clinical records, work history, and any kind of data that makes up an individual or element. The wallets that hold or issue these records are designated “Spirits.”
Individuals could have numerous wallets (or Spirits) addressing various pieces of their lives. For instance, somebody could have a “Certifications Soul” for their work history and a “Clinical Soul” for their wellbeing records. Spirits and SBTs would permit individuals to construct an undeniable, computerized Web3 notoriety in view of their past activities and encounters.
Then again, Spirits can address a substance that allots SBTs. For instance, organizations can be Spirits, giving SBTs to every worker. A computerized country club could give SBTs to check participation status.
Now , You have found some idea about soulbound token now let’s understand
How to create Soulbound Token using solidity ?
In order to create soulbound token you need to have basic knowledge of solidity and need to know how to create smart contracts then only you can create soulbound token so before going through this practical implementation first go through the basics of solidity programming language which will help you to understand the topic and code easily
Below I have pasted the Smart contract for creation of soulbound Token
// SPDX-License-Identifier: MIT
pragma solidity ^ 0.8 .4;
import "@openzeppelin/[email protected]/token/ERC721/ERC721.sol";
import "@openzeppelin/[email protected]/access/Ownable.sol";
import "@openzeppelin/[email protected]/utils/cryptography/draft-EIP712.sol";
import "@openzeppelin/[email protected]/token/ERC721/extensions/draft-ERC721Votes.sol";
import "@openzeppelin/[email protected]/utils/Counters.sol";
contract MyToken is ERC721, Ownable, EIP712, ERC721Votes {
using Counters
for Counters.Counter;
Counters.Counter private _tokenIdCounter;
constructor() ERC721("MyToken", "MTK") EIP712("MyToken", "1") {}
function _baseURI() internal pure override returns(string memory) {
return "<https://www.myapp.com/>";
}
function safeMint(address to) public onlyOwner {
uint256 tokenId = _tokenIdCounter.current();
_tokenIdCounter.increment();
_safeMint(to, tokenId);
}
// The following functions are overrides required by Solidity.
function _afterTokenTransfer(address from, address to, uint256 tokenId)
internal
override(ERC721, ERC721Votes) {
super._afterTokenTransfer(from, to, tokenId);
}
function _beforeTokenTransfer(address from, address to, uint256 tokenId)
internal
override(ERC721) {
require(from == address(0), "Err: token is SOUL BOUND");
super._beforeTokenTransfer(from, to, tokenId);
}
}
Now you got to remix ide and paste this source code also choose the required testnet or mainnet to deploy it

All the steps has been completed now , you can create your frontend to display all NFTs and display all the operations
I have added a tutorial video where you can understand how to create frontend for your soulbound token hope this video will help you
If you want to download the source code of the frontend dapp then below is the Github Link
https://github.com/thirdweb-example/github-contributor-nft-rewards
Also, If you have liked this post do visit my recent posts link below :
how do I launch nft collection in solana using sugar cliBest Websites for custom made nft minting dapp and smart contract for freeHow to Create google ads for nft collection