Starknetid.js SDK
This SDK will enable every developer to redeem any data that is written on a Starknet Identity. Moreover, it'll permit you to access utils for an easy manipulation of domains.
# using npm
npm install starknetid.js [email protected]
# using yarn
yarn install starknetid.js [email protected]
Basic usage
Import
StarknetIdNavigator
from starknetid.js
package to access functions. StarknetIdNavigator
needs to be initialize with a provider.import { StarknetIdNavigator } from 'starknetid.js'
import { Provider } from 'starknet'
const provider = new Provider();
const starknetIdNavigator = new StarknetIdNavigator(provider);
const addr = await starknetIdNavigator.getAddressFromStarkName('test.stark');
Using custom contracts
It's possible to use starknetid.js with custom naming and identity contracts.
import { StarknetIdNavigator } from 'starknetid.js'
const starknetIdNavigator = new StarknetIdNavigator(provider, {
naming: customNamingContract,
identity: customIdentityContract
})
Using utils functions
You can access utils function outside of the
StarknetIdNavigator
object through the utils
namespaceimport { utils } from 'starknetid.js'
const encodedDomain = utils.encodeDomain('test.stark');
getAddressFromStarkName()
StarknetIdNavigator.getAddressFromStarkName(domain: string) => string
Get address from Starkname.
getStarkName()
StarknetIdNavigator.getStarkName(address: string) => string
Get Starkname from address.
getStarknetId()
StarknetIdNavigator.getStarknetId(domain: string) => number
Get Starknet id from domain.
getUserData()
StarknetIdNavigator.getUserData(dOrDomain: number | string, field: string) => BN
Get user data from starknet id or domain.
getExtentedUserData()
StarknetIdNavigator.getExtentedUserData(dOrDomain: number | string, field: string, length: number) => BN[]
Get user data from starknet id or domain. Use this function to retrieve an array knowing its size. It will return zeros if not written.
getUnboundedUserData()
StarknetIdNavigator.getUnboundedUserData(dOrDomain: number | string, field: string) => BN[]
Get User unbounded data from starknet id or domain. Use this function to retrieve an array up to zero (not included).
getVerifierData()
StarknetIdNavigator.getVerifierData(dOrDomain: number | string, field: string, verifier?: string) => BN
Get verifier data from starknet id or domain. If no verifier contract is provided, it will return the starknet.id verifier contract address deployed on the StarknetIdNavigator provider chain id.
getExtendedVerifierData()
StarknetIdNavigator.getExtendedVerifierData(dOrDomain: number | string, field: string, length: number, verifier?: string) => BN[]
Get extended verifier data from starknet id or domain. Use this function to retrieve an array knowing its size. It will return zeros if not written. If no verifier contract is provided, it will return the starknet.id verifier contract address deployed on the StarknetIdNavigator provider chain id.
getUnboundedVerifierData()
StarknetIdNavigator.getUnboundedVerifierData(dOrDomain: number | string, field: string, verifier?: string) => BN[]
Get User unbounded data from starknet id or domain. Use this function to retrieve an array up to zero (not included). If no verifier contract is provided, it will return the starknet.id verifier contract address deployed on the StarknetIdNavigator provider chain id.
isStarkDomain()
utils.isStarkDomain(domain: string) => boolean
Check if domain is starknet.id domain
decodeDomain()
utils.decodeDomain(encoded: bigint[]) => string
Decode starknetid domain '454245...' -> 'test.stark'
decode()
utils.decode(felt: bigint) => string
Encode bigint into string
encodeDomain()
utils.encodeDomain(domain: string) => bigint
Encode starknetid domain 'test.stark'.. -> '454245..'
encode()
utils.encode(decoded: string) => bigint
Encode string into bigint
getNamingContract()
utils.getNamingContract(chainId: StarknetChainId) => string
Get starknet.id naming contract address from chainId. If contract is not deployed will throw an error.
getIdentityContract()
utils.getIdentityContract(chainId: StarknetChainId) => string
Get starknet.id identity contract address from chainId. If contract is not deployed will throw an error.
getVerifierContract()
utils.getVerifierContract(chainId: StarknetChainId) => string
Get starknet.id verifier contract address from chainId. If contract is not deployed will throw an error. At the moment, starknet.id verifier contract only support
Discord
, Twitter
and Github
fields.