EBBuildClient 1.0.29
See the version list below for details.
dotnet add package EBBuildClient --version 1.0.29
NuGet\Install-Package EBBuildClient -Version 1.0.29
<PackageReference Include="EBBuildClient" Version="1.0.29" />
paket add EBBuildClient --version 1.0.29
#r "nuget: EBBuildClient, 1.0.29"
// Install EBBuildClient as a Cake Addin #addin nuget:?package=EBBuildClient&version=1.0.29 // Install EBBuildClient as a Cake Tool #tool nuget:?package=EBBuildClient&version=1.0.29
EB Build API Client
The Official API Client for Blockchain-based Cloud Storage Services!
Features
If your application requires cloud storage of unstructured JSON or key/value paired data, the EB Build client is an affordable and extremely fast alternative to any of the following solutions:
- Couchbase
- Redis
- DynamoDB
- MongoDB
Benefits
- ✨Extremely affordable fixed fee pricing!
- ✨Extremely secure blockchain encryption!
- ✨Extremely fast event messaging!
- ✨Extremely scalable with built-in cluster-wide auto-scaling!
- ✨Extremely simple integration with dynamic environments!
Obtaining a Sandbox API Key
EBBuild cloud services can be accessed via our sandbox for a limited time. The EBBuild Client requires an API key before using the sandbox. Obtaining a sandbox API key is extremely easy! Follow the next steps to obtain an API key.
- ** Send an email with your company name to: keyrequest@everythingblockchain.io**
Pre-Installation Steps:
#1. Click Here to Create a Private Cluster
#2. Click Here to Download the EBBuild Client via nuget
Post-Installation Steps:
#1 After creating a private cluster you will receive an automated email with the following:
#1.1 A link to your private cluster in the cloud.
#1.2 A security token required to store and retrieve data.
#2 Install the EBBuild Client nuget package into your Microsoft Visual Studio project.
#2 Add an appsettings.json file to project, if you don't already have an appsettings.json file added.
#3 Add the following values to the root of your appsettings.json file added to your project:
- {
"EbbuildApiBaseUri": "https://api.ebiblockchain.io/",
- "QueryChainToken": [enter the API key obtained supplied to you.],
- "QueryChainRoles": [enter user groups here. For example you could enter: "Testers"],
}
How To's
#1 After installing the EBBuildClient nuget package, add the following to your code:
using EBBuildClient.Core;
#2 EBBuild allows you to store json data without any class/object or a concrete class/object. For example, if you have the following defined data type and if you wanted to store its data onto the EBBuild cloud storage services, you would following for following example.
public class SampleDataClass
{
public string ID {get;set;}
public string Name {get; set;}
public AddressClass Address1 {get; set;}
}
public class AddressClass
{
public string City {get; set;}
public string State {get; set;}
public string Zip {get; set;}
}
#3 The EBBuild cloud services support both REST and Websocket endpoints. Addtionally, the EBBuild client allows you to connect eith using REST or a Websocket.
#4 Initialize the core EBBuild services in the following manner:
#4.1 EBBuildApiFactory : This class is the core object used to manage connection objects.
EBBuildApiFactory _ebBuildDBApiServiceFactory = new EBBuildApiFactory(_maxConnections, Program._configuation, _ebbuildDBUserEmail, _ebbuildDBTenantId, _ebbuildDBLedgerPreface, _ebbuildDBLedgerName, _ebbuildDBApiBaseUri, _maxRecordsReturned, _ebbuildDBUseWebSockets);
#4.2 IEBBuildAPIService : This interface is used for all connection object created by the EBBuildApiFactory.
IEBBuildAPIService _client1 = _ebBuildDBApiServiceFactory.GetApiClient();
#4.3 EBBuildAPIService : This is a static class used to calling all CRUD methods.
List<string> recordList = EBBuildAPIService.GetLedgerRecords<string>(_filters, _client1).Result;
List<string> recordList = EBBuildAPIService.GetLedgerRecords<string>(_filters, _ebBuildDBApiServiceFactory.GetApiClient()).Result;
List<SampleDataClass> recordList = EBBuildAPIService.GetLedgerRecords<SampleDataClass>(_filters, _ebBuildDBApiServiceFactory.GetApiClient()).Result;
#5 The EBBuild cloud servics support query filters used to filter data objects.
#6 To simplify creating filter conditions, the EBBuild client provides a filter builder.
#6.1 List<string> _filters = EBIBuildAPIHelper.BuildFilter(_filters, "email", FilterOperation.EQ, "dummyuser15@gmail.com");
#6.2 List<string> _filters = EBIBuildAPIHelper.BuildFilter(_filters, "email", FilterOperation.EQ, "dummyuser15@gmail.com", BooleanOperation.AND);
NOTE: If you require raw data, then use our internal RawDataType class type.
NOTE: The RawDataType class has a single property called "RawData" or simply use the "String" data type which will contain your unstructured json payload.
RawDataType rawData = await EBBuildAPIService.GetLedgerRecord<RawDataType>(EBBuildAPIServices);
string rawData = await EBBuildAPIService.GetLedgerRecord<string>(EBBuildAPIServices);
Set the following required parameters.
Microsoft.Extensions.Configuration.IConfiguration configuration;
string email = "a valid email address";
string tenantID = "any unique string to identify your organization";
string ledgerPreface = "any string to identify your ledger. i.e.: prod, qa, dev, crypto, etc.";
string ledgerName = "any name of your ledger where your data class will be stored. i.e. payments";
NOTE: If you do not specify a ledgername then the email address will automatically be used as the ledger name.
If you specify a ledgerPreface then the ledgerPreface will be prepended to the ledger name.
#7. To enforce multi-factor authentication (MFA) you can set the enableMFA parameter.
NOTE: When saving data to the ledger, if you set the MFA parameter to "true" and if suspicious read access to the ledger is detected that read access will be block temporarily until an email challenge is sent to you (the owner of the ledger to allow you an opportunity to block or allow access).
bool enableMFA = true;
string blockTypeName = "SampleDataClass";
- EBBuildAPIService.SaveDataToLedger(
dataContext,
EBBuildAPIServices,
enableMFS,
blockTypeName);
Adding Filter Conditions
Operation | Description | Example | Notes |
---|---|---|---|
Regexp | Regular expressions | {LastName:REGEX:\b[L]\w+} | |
Or | Logical OR | {FirstName:EQ:Joe:OR},{LastName:EQ:Biden} | Filter conditions combine multiple filter conditions by adding an optional "AND" "OR" boolean operator to the end of each filter. |
Gt, Gte | Greater than or equal. | {Age:Gte:25} | |
Le, Lte | Less than or less than or equal. | {Age:Lte:25} | |
Between | Between two values. | {Age:BETWEEN:[10;41]} | |
Inq, Nin | In or not inv an array of values. | {City:Inq:[New York; Phoenix; London; Miami; Berlin]} | |
Neq | Not equal. | {LastName:Neq:”Miller”} | |
Like, NLike | Like or not like a value. | {LastName:Like:”Miller”} | |
ILike, NiLike | Case insensitive like and not like. | {LastName:ILike:”Miller”} |
Company Contact Information
Contact | |
---|---|
Technical Support | support@everythingblockchain.io |
Sales | sales@everythingblockchain.io |
Partners | partners@everythingblockchain.io |
Marketing | marketing@everythingblockchain.io |
Investors | invest@everythingblockchain.io |
Press | press@everythingblockchain.io |
License
MIT- The API is and will always remain free! The data storage is based on a fixed fee. Contact EverythingBlockchain, Inc for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Microsoft.AspNetCore (>= 2.2.0)
- Newtonsoft.Json (>= 13.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
1.0.117 | 123 | 6/22/2024 | |
1.0.116 | 115 | 5/29/2024 | |
1.0.115 | 164 | 5/6/2024 | |
1.0.114 | 152 | 4/16/2024 | |
1.0.113 | 179 | 4/5/2024 | |
1.0.112 | 382 | 2/21/2024 | |
1.0.111 | 470 | 2/7/2024 | |
1.0.110 | 512 | 2/4/2024 | |
1.0.109 | 544 | 1/23/2024 | |
1.0.108 | 777 | 12/20/2023 | |
1.0.107 | 810 | 12/6/2023 | |
1.0.106 | 816 | 12/5/2023 | |
1.0.105 | 808 | 11/30/2023 | |
1.0.104 | 787 | 11/30/2023 | |
1.0.103 | 787 | 11/28/2023 | |
1.0.102 | 805 | 11/28/2023 | |
1.0.101 | 772 | 11/13/2023 | |
1.0.100 | 783 | 11/13/2023 | |
1.0.99 | 833 | 11/13/2023 | |
1.0.98 | 774 | 11/10/2023 | |
1.0.97 | 780 | 11/10/2023 | |
1.0.96 | 780 | 11/9/2023 | |
1.0.95 | 773 | 11/9/2023 | |
1.0.94 | 795 | 11/9/2023 | |
1.0.93 | 837 | 10/25/2023 | |
1.0.92 | 806 | 10/23/2023 | |
1.0.91 | 869 | 10/15/2023 | |
1.0.90 | 809 | 10/11/2023 | |
1.0.89 | 790 | 10/11/2023 | |
1.0.88 | 819 | 10/10/2023 | |
1.0.87 | 844 | 9/4/2023 | |
1.0.86 | 948 | 8/15/2023 | |
1.0.85 | 852 | 7/18/2023 | |
1.0.84 | 868 | 7/6/2023 | |
1.0.83 | 870 | 7/6/2023 | |
1.0.82 | 881 | 7/1/2023 | |
1.0.81 | 875 | 6/20/2023 | |
1.0.80 | 852 | 5/12/2023 | |
1.0.79 | 848 | 5/11/2023 | |
1.0.78 | 882 | 5/4/2023 | |
1.0.77 | 1,351 | 3/19/2023 | |
1.0.76 | 967 | 3/15/2023 | |
1.0.75 | 1,002 | 3/14/2023 | |
1.0.74 | 1,015 | 3/14/2023 | |
1.0.72 | 1,010 | 3/14/2023 | |
1.0.71 | 1,022 | 3/10/2023 | |
1.0.70 | 1,004 | 3/8/2023 | |
1.0.69 | 1,021 | 3/3/2023 | |
1.0.68 | 1,014 | 3/2/2023 | |
1.0.67 | 997 | 3/2/2023 | |
1.0.66 | 1,024 | 2/28/2023 | |
1.0.65 | 1,045 | 2/21/2023 | |
1.0.64 | 1,044 | 2/7/2023 | |
1.0.63 | 1,015 | 2/7/2023 | |
1.0.62 | 1,041 | 2/6/2023 | |
1.0.61 | 1,048 | 2/3/2023 | |
1.0.60 | 1,037 | 1/30/2023 | |
1.0.59 | 1,084 | 1/29/2023 | |
1.0.58 | 1,070 | 1/27/2023 | |
1.0.57 | 1,041 | 1/27/2023 | |
1.0.56 | 1,038 | 1/27/2023 | |
1.0.55 | 1,089 | 1/27/2023 | |
1.0.54 | 1,020 | 1/26/2023 | |
1.0.53 | 1,046 | 1/26/2023 | |
1.0.52 | 1,025 | 1/26/2023 | |
1.0.51 | 1,059 | 1/26/2023 | |
1.0.50 | 1,026 | 1/26/2023 | |
1.0.49 | 1,025 | 1/26/2023 | |
1.0.48 | 1,032 | 1/26/2023 | |
1.0.47 | 1,072 | 1/25/2023 | |
1.0.46 | 1,046 | 1/25/2023 | |
1.0.45 | 1,075 | 1/25/2023 | |
1.0.44 | 1,055 | 1/25/2023 | |
1.0.43 | 1,057 | 1/24/2023 | |
1.0.42 | 1,047 | 1/24/2023 | |
1.0.41 | 1,062 | 1/24/2023 | |
1.0.40 | 1,034 | 1/24/2023 | |
1.0.39 | 1,065 | 1/24/2023 | |
1.0.38 | 1,095 | 1/24/2023 | |
1.0.37 | 1,093 | 1/23/2023 | |
1.0.36 | 1,064 | 1/22/2023 | |
1.0.35 | 1,077 | 1/22/2023 | |
1.0.34 | 1,055 | 1/20/2023 | |
1.0.33 | 1,085 | 1/20/2023 | |
1.0.32 | 1,031 | 1/19/2023 | |
1.0.31 | 1,165 | 1/19/2023 | |
1.0.30 | 1,108 | 1/19/2023 | |
1.0.29 | 1,036 | 1/19/2023 | |
1.0.28 | 1,109 | 1/17/2023 | |
1.0.27 | 1,112 | 1/17/2023 | |
1.0.26 | 1,102 | 1/11/2023 | |
1.0.25 | 1,141 | 12/9/2022 | |
1.0.24 | 1,142 | 12/8/2022 | |
1.0.23 | 1,077 | 12/8/2022 | |
1.0.22 | 1,111 | 11/23/2022 | |
1.0.21 | 1,112 | 11/23/2022 | |
1.0.20 | 1,101 | 11/21/2022 | |
1.0.18 | 1,062 | 11/21/2022 | |
1.0.17 | 1,085 | 11/21/2022 | |
1.0.16 | 1,076 | 11/18/2022 | |
1.0.15 | 1,134 | 11/18/2022 | |
1.0.14 | 1,151 | 11/18/2022 | |
1.0.13 | 1,170 | 11/18/2022 | |
1.0.9 | 2,771 | 11/18/2022 | |
1.0.8 | 2,675 | 11/17/2022 | |
1.0.7 | 2,658 | 11/17/2022 | |
1.0.6 | 2,543 | 11/17/2022 | |
1.0.5 | 2,634 | 11/17/2022 | |
1.0.4 | 2,443 | 11/17/2022 | |
1.0.3 | 2,596 | 11/17/2022 | |
1.0.2 | 2,641 | 11/17/2022 | |
1.0.1 | 2,523 | 11/17/2022 | |
1.0.0 | 2,713 | 11/17/2022 |
EBBuild Client for .NetCore 6.0 and above