Skip to content

Get Namespace info

Tan Xiu Haw edited this page Sep 21, 2023 · 8 revisions

Get Namespace info for a given Account ID

  • Following parameters required:
    • Address - public address to get info from
  • Return - Array of Namespace info
#include <xpxchaincpp/sdk.h>
#include <iostream>
#include <vector>

using namespace xpx_chain_sdk;

int main() 
{
  xpx_chain_sdk::Config config = xpx_chain_sdk::GetConfig();
  config.nodeAddress = "127.0.0.1";
  config.port = "3000";
  
  std::string accountAddress = "SDHDCKRVH4NXSKIRX3M7PLPMP6F4O3Z3JUWKJHLB";

  auto client = xpx_chain_sdk::getClient(config);
  auto namespaceInfos = client->namespaces()->getNamespaceInfoByAccount(accountAddress).namespaceInfos;

  for (auto& namespaceInfo : namespaceInfos) {
    std::cout << namespaceInfo.data.owner << std::endl;
  }
  return 0;
}

Get an array of Namespace info of multiple accounts NOT WORKING

  • Following parameters required:
    • vector<string>Addresses - public addresses to get info from
  • Return - Array of Namespace info
#include <xpxchaincpp/sdk.h>
#include <iostream>
#include <vector>

using namespace xpx_chain_sdk;

int main() 
{
  xpx_chain_sdk::Config config = xpx_chain_sdk::GetConfig();
  config.nodeAddress = "127.0.0.1";
  config.port = "3000";
  
  std::string accountAddress1 = "SDHDCKRVH4NXSKIRX3M7PLPMP6F4O3Z3JUWKJHLB";
  std::string accountAddress2 = "0455F5326D5C380115E4BAE4B6EB2CEF4F83C3E5C4517494BFE11F5554135CF7";

  auto client = xpx_chain_sdk::getClient(config);
  std::vector<std::string> accountAddresses{accountAddress1, accountAddress2};
  auto namespaceInfos = client->namespaces()->getNamespaceInfoByAccounts(accountAddresses).namespaceInfos;

  for (auto& namespaceInfo : namespaceInfos) {
    std::cout << namespaceInfo.data.owner << std::endl;
  }
  return 0;
}

Get Namespace info for a given Namespace ID

  • Following parameters required:
    • NamespaceID - namespace identifier to get info from
  • Return - namespace info class
    • namespace data
      • Owner
      • Owner address
      • Starting height
      • Ending height
      • Depth
      • Level 0, Level 1, Level 2
      • Type
      • Alias
      • Parent ID
    • mosaic meta data
      • IsActive?
      • Index
      • ID
#include <xpxchaincpp/sdk.h>
#include <iostream>

using namespace xpx_chain_sdk;

int main() 
{
  xpx_chain_sdk::Config config = xpx_chain_sdk::GetConfig();
  config.nodeAddress = "127.0.0.1";
  config.port = "3000";
  
  xpx_chain_sdk::NamespaceId namespaceID = -4613020131619586570;

  auto client = xpx_chain_sdk::getClient(config);
  auto namespaceInfo = client->namespaces()->getNamespaceInfoById(namespaceID);
  
  std::cout << namespaceInfo.data.owner << std::endl;
  std::cout << namespaceInfo.data.ownerAddress << std::endl;
  std::cout << namespaceInfo.data.startHeight << std::endl;
  std::cout << namespaceInfo.data.endHeight << std::endl;
  std::cout << namespaceInfo.data.depth << std::endl;
  std::cout << namespaceInfo.data.level0 << std::endl;
  std::cout << namespaceInfo.data.level1 << std::endl;
  std::cout << namespaceInfo.data.level2 << std::endl;
  std::cout << namespaceInfo.data.type << std::endl;
  std::cout << namespaceInfo.data.alias.type << std::endl;
  std::cout << namespaceInfo.data.alias.mosaicId << std::endl;  
  std::cout << namespaceInfo.data.alias.address << std::endl;
  std::cout << namespaceInfo.data.parentId << std::endl;

  std::cout << namespaceInfo.meta.active << std::endl;
  std::cout << namespaceInfo.meta.index << std::endl;
  std::cout << namespaceInfo.meta.id << std::endl;
  return 0;
}

Get Namespace info for a given Hex ID

  • Following parameters required:
    • HexID - hex identifier to get info from
  • Return - namespace info class
    • namespace data
      • Owner
      • Owner address
      • Starting height
      • Ending height
      • Depth
      • Level 0, Level 1, Level 2
      • Type
      • Alias
      • Parent ID
    • mosaic meta data
      • IsActive?
      • Index
      • ID
#include <xpxchaincpp/sdk.h>
#include <iostream>

using namespace xpx_chain_sdk;

int main() 
{
  xpx_chain_sdk::Config config = xpx_chain_sdk::GetConfig();
  config.nodeAddress = "127.0.0.1";
  config.port = "3000";
  
  std::string hexID = "BFFB42A19116BDF6";

  auto client = xpx_chain_sdk::getClient(config);
  auto namespaceInfo = client->namespaces()->getNamespaceInfoByHexId(hexID);
  
  std::cout << namespaceInfo.data.owner << std::endl;
  std::cout << namespaceInfo.data.ownerAddress << std::endl;
  std::cout << namespaceInfo.data.startHeight << std::endl;
  std::cout << namespaceInfo.data.endHeight << std::endl;
  std::cout << namespaceInfo.data.depth << std::endl;
  std::cout << namespaceInfo.data.level0 << std::endl;
  std::cout << namespaceInfo.data.level1 << std::endl;
  std::cout << namespaceInfo.data.level2 << std::endl;
  std::cout << namespaceInfo.data.type << std::endl;
  std::cout << namespaceInfo.data.alias.type << std::endl;
  std::cout << namespaceInfo.data.alias.mosaicId << std::endl;  
  std::cout << namespaceInfo.data.alias.address << std::endl;
  std::cout << namespaceInfo.data.parentId << std::endl;

  std::cout << namespaceInfo.meta.active << std::endl;
  std::cout << namespaceInfo.meta.index << std::endl;
  std::cout << namespaceInfo.meta.id << std::endl;
  return 0;
}

Get an array of Namespace name of multiple namespaces

  • Following parameters required:
    • vector<string>NamespaceIDs - namespace identifiers to get info from
  • Return - array of namespace name class
#include <xpxchaincpp/sdk.h>
#include <iostream>
#include <vector>

using namespace xpx_chain_sdk;

int main() 
{
  xpx_chain_sdk::Config config = xpx_chain_sdk::GetConfig();
  config.nodeAddress = "127.0.0.1";
  config.port = "3000";
  
  std::string namespaceID1 = "BFFB42A19116BDF6";
  std::string namespaceID2 = "BFFB42A19116BDF6";

  auto client = xpx_chain_sdk::getClient(config);
  std::vector<std::string> namespaceIDs{namespaceID1, namespaceID2};

  auto namespaceNames = client->namespaces()->getNamespaceNames(namespaceIDs).names;
  for (auto& namespaceName : namespaceNames) {
    std::cout << namespaceName.name << std::endl;
  }
  return 0;
}
Clone this wiki locally