# Using VDXF Keys

In 

VDXF Keys are an unique iaddress that when found by applications tell the software what to do with the data. e.g. if you have a JSON object like this

{
    "iK7a5JNJnbeuYWVHCDRpJosj3irGJ5Qa8c":"I'm a string"
}

Then you might guess that iK7a5JNJnbeuYWVHCDRpJosj3irGJ5Qa8c is a datatype string to be expected.

This is because the qulaified name of the above key is

./verus getvdxfid "vrsc::data.type.string"  
{
  "vdxfid": "iK7a5JNJnbeuYWVHCDRpJosj3irGJ5Qa8c",
  "indexid": "xPwgY6oPdusaAgNK3u5yHCQG5NsHEcBpi5",
  "hash160result": "e5c061641228a399169211e666de18448b7b8bab",
  "qualifiedname": {
    "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
    "name": "vrsc::data.type.string"
  }
}

# More advanced keys

An object that expects many inputs can also be represented with a vdxfid e.g.

From: verus-typescript-primitives


export function MMRDescriptorKey(): VDXFKeyInterface {
    return {
      "vdxfid": "i9dVDb4LgfMYrZD1JBNP2uaso4bNAkT4Jr",
      "indexid": "xETbgPVRXyaDUj639s2Y1J7QpicP4DvZMt",
      "hash160result": "97273a4c02d6be002f8d69c3979616732ba68243",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.mmrdescriptor"
      }
    }
  }

A Datadescriptor is like this:

class DataDescriptor {
  version: BigNumber; // Version Default 1
  flags: BigNumber;   // Flags indicating what items are present in the object
  objectdata: Buffer; // either hex string, direct data or serialized UTXORef +offset, length, and/or other type of info for different links
  label: string;      // label associated with this data
  mimeType: string;   // optional mime type
  salt: Buffer;       // encryption public key, data only present if encrypted or data referenced by unencrypted link is encrypted
  epk: Buffer;        // encryption public key, data only present if encrypted or data referenced by unencrypted link is encrypted
  ivk: Buffer;        // incoming viewing key, optional and contains data only if full viewing key is published at this encryption level
  ssk: Buffer;        // specific symmetric key, optional and only to decrypt this linked sub-object
}

So you can populate this item as follows

{
"i4GC1YGEVD21afWudGoFJVdnfjJ5XWnCQv": {
    "version": 1,
    "objectdata": "Polar Bears",
    "mimetype": "text/plain",
    "label": "myzoo.vrsc::enclosure.name",            
    "salt": "a8edd6a19b359365c797bc27164aeb7f12a2d1cfc4f2786871564926dbb5b96f"
    }
}

# Code example JS


const { DataDescriptor } = require("verus-typescript-primitives/dist/vdxf/classes/DataDescriptor.js");

const dataDescriptorObject = new DataDescriptor();

dataDescriptorObject.fromJson({
    "version": 1,
    "objectdata": "Polar Bears",
    "mimetype": "text/plain",
    "label": "myzoo.vrsc::enclosure.name",            
    "salt": "a8edd6a19b359365c797bc27164aeb7f12a2d1cfc4f2786871564926dbb5b96f"
});

# The popular main keys used by the Daemon are:

{
      "vdxfid": "iBXUHbh4iacbeZnzDRxishvBSrYk2S2k7t",
      "indexid": "xGMakQ89ZtqGGjg257csr6SiUWZksGmjWp",
      "hash160result": "2e97a8bba443773812341e1d761530d3bba04f58",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.byte"
      }
}
{
      "vdxfid": "iDtTv3wf1Vk3M2Y46RjLPKtttx5hydwtY1",
      "indexid": "xJiaNrNjroxhyCR5x7PVMiRRvc6ipg6N9g",
      "hash160result": "ee334ebd432db0b24cc2702eda61c28ff44d3872",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.int16"
      }
    }
{
      "vdxfid": "iHn7urT2yVfS7pQn6WGAmCVWh4HBLV24n3",
      "indexid": "xNcENet7pot6jzHoxBvKjb23iiJCGpekDk",
      "hash160result": "5cfc322d2a216145f7b82714115e7953269de59c",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.uint16"
      }
    }
{
      "vdxfid": "iHpLPprRDv3H5H3ZMaJ9nyHFzkG9xJWZDb",
      "indexid": "xNeSrdHW5EFwhSvbDFxJmMoo2QHAtoEaEM",
      "hash160result": "3e9ba478b23b13232f28d21051d907ce8fdd509d",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.int32"
      }
    }
{
      "vdxfid": "iKSj5zhd6cSsLudaGhtfmisRNgEM7SPFWY",
      "indexid": "xQGqYo8hwvfXy5Wc8PYpk7PxQLFMwfP7Fp",
      "hash160result": "f279818aeb4fe768956b350d1fc7216ca0e82aaf",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.uint32"
      }
    }
{
      "vdxfid": "iKB3TGi9Dg5HZ4nQAgLQAgp3tuXBaRKHpC",
      "indexid": "xQ19v59E4zHxBEfS2MzZ95LavZYCTTeuyg",
      "hash160result": "ab3705f8a7fae59786ef897b014df85fcd9533ac",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.int64"
      }
    }
{
      "vdxfid": "iPamkQf38AeGQ8z4zSsZL7t9kXMeUkYLJL",
      "indexid": "xUQtDD67yUrw2Js6r8XiJWQgnBNfNeeoUq",
      "hash160result": "bb2ae9ed3e9f400def0724937fbf65f23ef690dc",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.uint64"
      }
    }
{
      "vdxfid": "iAAwdbLyKYL39nJ1eQHaHtb75krg4mV1Lq",
      "indexid": "xF146Pn4ArYhmxB3W5wjGH7e7Qsgx9bkpj",
      "hash160result": "d97d2295d4c73f6f6f0697c8086bd822d6977549",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.uint160"
      }
    }
{
      "vdxfid": "i8k7g7z6grtGYrNZmZr5TQ872aHssXuuua",
      "indexid": "xDaE8vRBYB6wB2FbdFWERnee4EJtjbCtMM",
      "hash160result": "939b27bea698d180237c40b2194025acc673cb39",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.uint256"
      }
    }
{
      "vdxfid": "iK7a5JNJnbeuYWVHCDRpJosj3irGJ5Qa8c",
      "indexid": "xPwgY6oPdusaAgNK3u5yHCQG5NsHEcBpi5",
      "hash160result": "e5c061641228a399169211e666de18448b7b8bab",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.string"
      }
    }
 {
      "vdxfid": "iAEShwk1xjdGhaUSz3Maa2XR32o3vRuHq7",
      "indexid": "xF4ZAkB6p3qwKkMUqj1jYR3x4gp4mGz657",
      "hash160result": "503875b0dc301189a98927d3ece56c5f921c1f4a",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.vector"
      }
    }
 {
      "vdxfid": "iKMhRLX1JHQihVZx2t2pAWW2uzmK6AzwW3",
      "indexid": "xQBot8x69bdPKfSytZgy8u2ZwenKzVjR4X",
      "hash160result": "cc3ae6466006629f5105f71325bb2a19107037ae",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.bytevector"
      }
    }
{
      "vdxfid": "iJZt2fcUv1iivbfC3tuPuefabcTppQEoVq",
      "indexid": "xPPzVU3ZmKwPYmYDuaZYt3C7dGUqk939N7",
      "hash160result": "c0847f3025c408059b5a8f6a9e414a8ed8288da5",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.int32vector"
      }
    }
{
      "vdxfid": "i4qtYkFS9iNyu2AkqwoSn1xyCdfH9PUvak",
      "indexid": "x9g11YgX12beXC3nhdTbkQVWEHgJ2jqfz1",
      "hash160result": "c6219ea13884987453692cb14c72d5f6a47c020f",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.int64vector"
      }
    }
{
      "vdxfid": "iMrGhzkZq5fpWWSa1RambRySFPb7CuvKuX",
      "indexid": "xSgPAoBegPtV8gKbs7EvZpVyH3c858ZUvL",
      "hash160result": "25db70c2fcae2571f89201181bec04587e1f8fc9",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.object.currencymap"
      }
    }
 {
      "vdxfid": "iHJComZUXXGniLkDhjYprWYEN8qvQGDoam",
      "indexid": "xN8KGZzZNqVTLWdFZRCypu4mPnrwHFKbCK",
      "hash160result": "32cad57ff1dc5db4b5ba573ce01bc9c89b0d9e97",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.object.ratings"
      }
    }
{
      "vdxfid": "iJ7xdhJTJAvJubNnSJFXyA3jujzqGxjLuZ",
      "indexid": "xNx56VjY9V8yXmFpHyugwYaGwQ1rCt6J9W",
      "hash160result": "7748bfaf53dd2ff63ed5f73a41174c360f30a6a0",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.object.url"
      }
    }
{
      "vdxfid": "i91L6zwZQrkbNVMB1AZ1Z671qybexRmeVK",
      "indexid": "xDqSZoNeGAyFzfECrrDAXUdYsdcfs3Zuku",
      "hash160result": "92f38773849383146037b16a48ea350c1c11ac3c",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.object.transferdestination"
      }
    }
{
      "vdxfid": "iNcKvh7mazaXptzHf85q6EtpFYFE7asKC1",
      "indexid": "xTSSPVYrSJoCT4sKWojz4dRMHCGF3h9tM4",
      "hash160result": "013e760f7451c289672993ea391ae643c21ce4d1",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.object.utxoref"
      }
    }
{
      "vdxfid": "iP3euVSzNcXUrLNHnQnR9G6q8jeYuGSxgw",
      "indexid": "xTsmNHt5Dvk9UWFKe6Sa7edNAPfZmJVgLc",
      "hash160result": "4d33e0aee0f648c7871b2661d1221b57c05aaed6",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.object.crosschaindataref"
      }
    }
 {
      "vdxfid": "iHEEK8ipj58BeKZNWuaaR2tDR5RK2kmf9A",
      "indexid": "xN4Lmw9uaPLrGVSQNbEjPRQkSjSKxsHUQu",
      "hash160result": "8d021acc1b68335bd7d37b28ff773c138ea5dd96",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.encryptiondescriptor"
      }
    }
 {
      "vdxfid": "i92U1nLuLJkC44FZZ4Lq9zk4qW3HrWAWNo",
      "indexid": "xDraUamzBcxrgE8bQjzz8PGbsA4JiFskTD",
      "hash160result": "9e13510e01d0d03a7bc90d7a2ef32824f515e33c",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.salteddata"
      }
    }
{
      "vdxfid": "i4GC1YGEVD21afWudGoFJVdnfjJ5XWnCQv",
      "indexid": "x96JULhKLXEgCqPwUxTQGtAKhPK6Qh1iaW",
      "hash160result": "4d4f12424ded2033a526a4e2a8835fc5b2eba208",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.object.datadescriptor"
      }
    }
 {
      "vdxfid": "i7PcVF9wwPtQ6p6jDtCVpohX65pTZuP2ah",
      "indexid": "xCDix3b2ni74iyym5ZreoCE47jqUTBFRAb",
      "hash160result": "b48b359e9a00042cec64f7f66ac717d388a4f22a",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.signaturedata"
      }
    }
{
      "vdxfid": "i9UgJ2WxGw95PKdoCXjpfnBShtP5gi9fxS",
      "indexid": "xEJnkpx38FMk1VWq4DPyeAhyjYQ6X5Gsti",
      "hash160result": "8c1afd59e904f6d2702699963abccbc6d326d841",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.mmrhashes"
      }
    }
 {
      "vdxfid": "iPQsnA1R8UjHNddZKZ3FxsuKQ5WzKqSC7w",
      "indexid": "xUEzExSVynwwzoWbBEhQwGRrRjY1Bc2MYc",
      "hash160result": "f535a4e9ac0f94eda01695d16489a4a102d6b1da",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.mmrlinks"
      }
    }
 {
      "vdxfid": "i9dVDb4LgfMYrZD1JBNP2uaso4bNAkT4Jr",
      "indexid": "xETbgPVRXyaDUj639s2Y1J7QpicP4DvZMt",
      "hash160result": "97273a4c02d6be002f8d69c3979616732ba68243",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.mmrdescriptor"
      }
    }
 {
      "vdxfid": "iL5MPPHWXQEY3p2Q1UsmGDvXsgPiqd1W1S",
      "indexid": "xQuTrBibNiTCfyuRsAXvEcT4uLQjhxrpyL",
      "hash160result": "ae8d805d9650c0512a6b6ec33e963386542f18b6",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::data.type.typedefinition"
      }
    }
{
      "vdxfid": "i3mbggp3NBR77C5JeFQJTpAxmgMidayLLE",
      "indexid": "x8bi9VF8DVdmjMxLVw4TSChVoLNjUyapgs",
      "hash160result": "6920bb81b420bc95e29a10ed677379b1e39e3a03",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::identity.multimapkey"
      }
    }
 {
      "vdxfid": "i5Zkx5Z7tEfh42xtKfwbJ5LgEWE9rEgpFY",
      "indexid": "xAPsQszCjYtMgCqvBMbkGTsDGAFAmrN33A",
      "hash160result": "d393b986e4f82db7bec82d97b186882d739ded16",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::identity.multimapremove"
      }
    }
{
      "vdxfid": "iEYsp2njSt1M4EVYi9uuAPBU2wpKmThkkr",
      "indexid": "xKNzGqDpJCE1gQNaZqa48mi14bqLaG669g",
      "hash160result": "e95b2ee1abb130a93900ddaef2d8e528010f7c79",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::identity.profile.media"
      }
    }
 {
      "vdxfid": "iNHg1n828PUxktkYeNxC6sdVmuKTipn3L3",
      "indexid": "xT7nUaZ6yhhdP4daW4cM5GA2oZLUaNVaBD",
      "hash160result": "4a8f418203621f10d1a61701be8dbbbb38fa5cce",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::system.zmemo.message"
      }
    }
{
      "vdxfid": "i7mrLLjUfGYuHJwnsxFvd282hsdn4staJG",
      "indexid": "xCbxo9AZWamZuUppjdv5bQeZjXeo1vbaCc",
      "hash160result": "7b47c8cd90c4c3ddc542f37ca77473b7325a272f",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::system.zmemo.signature"
      }
    }
{
      "vdxfid": "iRvxVcGLaCXcDiAfnQ5FfeBCo2AiBibAft",
      "indexid": "xWm4xQhRRWkGqt3he5jQe2hjpgBj5C7Tj3",
      "hash160result": "b537201ca6465976bea7bdb03119644a858052f6",
      "qualifiedname": {
        "namespace": "i5w5MuNik5NtLcYmNzcvaoixooEebB6MGV",
        "name": "vrsc::system.currency.startnotarization"
      }

}