-
Notifications
You must be signed in to change notification settings - Fork 1
Get Storage info
Tan Xiu Haw edited this page Sep 20, 2023
·
1 revision
- Following parameters required:
- DriveID - drive identifier to get info from
- Return - drive class
- drive data
- Multi-signatures data
- Multi-signatures address
- Owner
- Root hash
- Size
- Used size bytes
- Meta file size bytes
- Replicator count
- Array of active data modifications
- Array of completed data modifications
- Array of confirmed used sizes
- Array of replicators
- Array of offboarding replicators
- Verification
- Array of download shards
- Array of data modification shards
- drive data
#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 driveID = "";
auto client = xpx_chain_sdk::getClient(config);
auto drive = client->storage()->getDriveById(driveID).data;
std::cout << drive.multisig << std::endl;
std::cout << drive.multisigAddress << std::endl;
std::cout << drive.owner << std::endl;
std::cout << drive.rootHash << std::endl;
std::cout << drive.size << std::endl;
std::cout << drive.usedSizeBytes << std::endl;
std::cout << drive.metaFilesSizeBytes << std::endl;
std::cout << drive.replicatorCount << std::endl;
std::cout << drive.verification.verificationTrigger << std::endl;
std::cout << drive.verification.expiration << std::endl;
std::cout << drive.verification.duration << std::endl;
auto dataModifications = drive.activeDataModifications.dataModification;
for (auto& dataModification : dataModifications) {
std::cout << dataModification.id << std::endl;
}
auto completedDataModifications = drive.completedDataModifications;
for (auto& completedDataModification : completedDataModifications) {
std::cout << completedDataModification.state << std::endl;
}
auto confirmedUsedSizes = drive.confirmedUsedSizes;
for (auto& confirmedUsedSize : confirmedUsedSizes) {
std::cout << confirmedUsedSize.replicator << std::endl;
}
auto replicators = drive.replicators;
for (auto& replicator : replicators) {
std::cout << replicator << std::endl;
}
auto offboardingReplicators = drive.offboardingReplicators;
for (auto& offboardingReplicator : offboardingReplicators) {
std::cout << offboardingReplicator << std::endl;
}
auto downloadShards = drive.downloadShards;
for (auto& downloadShard : downloadShards) {
std::cout << downloadShard.downloadChannelId << std::endl;
}
auto dataModificationShards = drive.dataModificationShards;
for (auto& dataModificationShard : dataModificationShards) {
std::cout << dataModificationShard.replicator << std::endl;
}
return 0;
}
- Following parameters optional:
-
Options - drives pagination options
- Size
- From size
- To size
- Used size
- From used size
- To used size
- Meta files size
- From meta files size
- To meta files size
- Replicator count
- From replicator count
- To replicator count
- Owner
- Pagination ordering options
-
Options - drives pagination options
- Return - drives page class
- multiple drives data
- Array of drives
- pagination
- Total entries
- Page number
- Page size
- Total pages
- multiple drives data
#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";
auto client = xpx_chain_sdk::getClient(config);
auto drives = client->storage()->getDrives();
std::cout << drives.pagination.totalEntries << std::endl;
std::cout << drives.pagination.pageNumber << std::endl;
std::cout << drives.pagination.pageSize << std::endl;
std::cout << drives.pagination.totalPages << std::endl;
return 0;
}