Create SRR

To know the methods calling to Startrail API from Startrail-Sdk-Js

createSRR()

Issue a new SRR on Startrail. Sends a transaction to Startrail smart contract via Startrail-API.

Please call convertMetadata() in prior and replace with the converted metadata in order to keep the metadata always up to date convertMetadata()

Method parameters

VariableTypeDescription

startrailLUWContractAddress

string

The address of LicensedUserWallet(LUW) contract.

contractAddress

string

The address of collection contract. Sets it when you want to associate collection contract address with the SRR.

isPrimaryIssuer

boolean

If you are the primary issuer of this NFT, set this to true

artistAddress

string

The ethereum address of the artist of the artwork.

metadata

object

Refer to the Startrail Registry (SRR) data schema for all possible data

lockExternalTransfer

boolean

If you want to prevent your NFTs to be transferred on decentralized marketplaces, sets this to true

Parameters Example

await sdk.approveSRRByCommitment(
  {  
    startrailLUWContractAddress: '0x113c6880fc4a2664E125973BC0Dfd37d62Ec7c3f',
    isPrimaryIssuer: true,
    artistAddress: '0x4a2B3Ca3c9C96898d1000137521427e9f4fdD019',
    lockExternalTransfer: false,
    metadata: {
      $schema: "ipfs://bafkreif77ionobe56gawqnplet46x3sjfinx3krm4reldzn7v6c2nfrmy4",
      startbahnCertICTagUIDs: [
        "1234567890abcdef"
      ],
      chipUIDs: [
        "1234567890abcdef"
      ],
      title: {
        en: "A title",
        ja: "ใ‚ฟใ‚คใƒˆใƒซ",
        zh: "ไธ€ไธชๆ ‡้ข˜"
      },
      size: {
        width: 200.0,
        height: 400.0,
        depth: 12.4,
        unit: "pixel",
        flexibleDescription: {
          en: "flexibleDescription comes here",
          ja: "่ชฌๆ˜Žใ‚’ๅ…ฅๅŠ›"
        }
      },
      attributes: [
        {
          trait_type: "Mouth",
          value: "Surprised"
        }
      ],
      medium: {
        en: "Oil on canvas",
        ja: "ใ‚ญใƒฃใƒณใƒใ‚นใซๆฒนๅฝฉ",
        zh: "ๅธƒ้ขๆฒน็”ป"
      },
      edition: {
        uniqueness: "unique work",
        proofType: "ED",
        number: 1,
        totalNumber: 3,
        note: {
          en: "some extra notes in 1 or more languages"
        }
      },
      contractTerms: {
        royaltyRate: 15.7,
        fileURL: "ipfs://bafkreihmlsij6s5ri6e347h7yqjlsl4qa3iykub6qmumctb2mshc4u7vlm"
      },
      note: {
        en: "note",
        zh: "ๆณจๆ„"
      },
      thumbnailURL: "ipfs://bafkreiedkaf4w5ogbbnfgp4jyrlvdqmwh3edryszcciee3puyn7nltcomi",
      yearOfCreation: {
        en: "around 2010-2020",
        ja: "2010ๅนดใ‹ใ‚‰2020ๅนด้ ƒ"
      },
      isDigital: true,
      digitalDataHash: "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5",
      digitalComponents: [{
        hash: "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5",
        category: "artwork"
      }],
      attachmentFiles: [{
        hash: "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5",
        category: "artwork"
      }],
      name: "some nft name",
      description: "some nft description",
      image: "ipfs://bafkreiedkaf4w5ogbbnfgp4jyrlvdqmwh3edryszcciee3puyn7nltcomi",
      external_url: "https://openseacreatures.io/3"
    }
  },
)

Returns

Promise will be returned which resolves with a Response object upon a successful confirmation. false will be returned when user flow is cancelled in such a case that a user closes the popup modal.

If the confirmation fails, the Promise will resolve with an {error} object that describes the failure.

Promise<Response | false>

Note: txReceiptId returns currently 0 in order to avoid slow response due to the congestion for blockchin mining.

Response

VariableTypeDescription

txReceiptId

string

ID to identify transaction details in Startrail-API DB.

tx

TxDetails

Transaction details

TxDetails

VariableTypeDescription

metadataCID

string

A calculated metadataCID

tokenId

string

A calculated tokenId

Error

Custom Error objects. Refer to the Error Catalogue for possible data.

Response Example

{
  "txReceiptId": 0,
  "tx": {
      "tokenId": "209850285627",
      "metadataCID": "bafkreibjdtcklpe5wjgh6qp2dqygaydm3d4xttfhaphgian73bpprkr7xu"
  }
}

Last updated

ยฉ2023 Startbahn, Inc.