Introduction
The "@talentLayer/client" is a framework agnostic sdk to interact with the talent layer protocol
Getting Started
Browser:
To get started with the TalentLayer SDK in a browser environment, you'll first need to initialize the TalentLayerClient. This client requires several configuration parameters to connect with the TalentLayer protocol and associated services.
Prerequisites
- Ensure you have the necessary environment variables set up. These include:
IPFS_SECRET IPFS_WRITE_URL TALENT_LAYER_PLATFORM_ID PUBLIC_SIGNATURE_API_URL
npm install @talentlayer/client --save
Initialisation
import { TalentLayerClient } from '@talentLayer/client';
const client = new TalentLayerClient({
chainId: YOUR_CHAIN_ID,
ipfsConfig: {
clientSecret: process.env.IPFS_SECRET,
baseUrl: process.env.IPFS_WRITE_URL,
},
platformId: parseInt(process.env.TALENT_LAYER_PLATFORM_ID),
signatureApiUrl: process.env.PUBLIC_SIGNATURE_API_URL,
});
You can get a new TALENT_LAYER_PLATFORM_ID by following this tutorial: https://docs.talentlayer.org/get-a-platform-id
PUBLIC_SIGNATURE_API_URL is an optional property. It can be omitted. For understanding how it works, refer to its usage in the starter-kit: https://github.com/TalentLayer-Labs/starter-kit
For ipfs, you can get your ecret and base url from quicknode's official website by setting up a new project
NodeJs (backend)
For backend applications, the TalentLayer SDK can be initialized similarly to the browser setup, but with an additional optional walletConfig parameter. This parameter allows for backend-specific configurations, especially when dealing with private keys or mnemonics for wallet interactions.
Prerequisites
As with the browser setup, ensure you have the necessary environment variables:
IPFS_SECRET IPFS_WRITE_URL TALENT_LAYER_PLATFORM_ID PUBLIC_SIGNATURE_API_URL
Initialisation
Here's how to initialize the SDK on the backend:
import { TalentLayerClient } from '@talentLayer/client';
const client = new TalentLayerClient({
chainId: YOUR_CHAIN_ID,
ipfsConfig: {
clientSecret: process.env.IPFS_SECRET,
baseUrl: process.env.IPFS_WRITE_URL,
},
platformId: parseInt(process.env.TALENT_LAYER_PLATFORM_ID),
signatureApiUrl: process.env.PUBLIC_SIGNATURE_API_URL,
walletConfig: {
rpcUrl: YOUR_RPC_URL,
privateKey: '0xYOUR_PRIVATE_KEY',
mnemonic: 'YOUR_MNEMONIC',
chainId: YOUR_CHAIN_ID,
},
});
Note: The parameters in walletConfig are all optional. However, the backend environment will not have a window.ethereum object. Hence, you are required to provide atleast the rpcUrl, and one of privateKey or menmonic