Deploy NFT
Construct a transfer to Layer 2 broker and trigger deployment of tokenAddress in Layer 1
Step 1: Get Account
Prepare Loopring Layer 2 account. Retrieve account information.
const {accInfo} = await LoopringAPI.exchangeAPI.getAccount({
owner: LOOPRING_EXPORTED_ACCOUNT.address,
});
console.log("accInfo:", accInfo);Step 2: Get eddsaKey
Generate EdDSA key.
const eddsaKey = await signatureKeyPairMock(accInfo);
console.log("eddsaKey:", eddsaKey.sk);Step 3: Get apiKey
Retrieve the account's API key.
const {apiKey} = await LoopringAPI.userAPI.getUserApiKey(
{
accountId: accInfo.accountId,
},
eddsaKey.sk
);
console.log("apiKey:", apiKey);Step 4: Get fee
Get deploy tokenAddress fee and set the transfer token amount.
const fee = await LoopringAPI.userAPI.getNFTOffchainFeeAmt(
{
accountId: accInfo.accountId,
requestType: sdk.OffchainNFTFeeReqType.NFT_DEPLOY,
amount: "0",
},
apiKey
);
console.log(fee);Step 5: Get storageId
Get transfer token tokenId's storageId. Using "LRC" as an example:
const storageId = await LoopringAPI.userAPI.getNextStorageId(
{
accountId: accInfo.accountId,
sellTokenId: TOKEN_INFO.tokenMap["LRC"].tokenId, // same as Step 7. transfer->token->tokenId
},
apiKey
);Step 6: Get broker
Get Loopring Layer 2 broker and set to payeeAddr of transfer
const {broker} = await LoopringAPI.exchangeAPI.getAvailableBroker();Congratulations! You have successfully deployed your Counterfactual NFT!
Last updated