EBBuildClient 1.0.25

There is a newer version of this package available.
See the version list below for details.
dotnet add package EBBuildClient --version 1.0.25
NuGet\Install-Package EBBuildClient -Version 1.0.25
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EBBuildClient" Version="1.0.25" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EBBuildClient --version 1.0.25
#r "nuget: EBBuildClient, 1.0.25"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install EBBuildClient as a Cake Addin
#addin nuget:?package=EBBuildClient&version=1.0.25

// Install EBBuildClient as a Cake Tool
#tool nuget:?package=EBBuildClient&version=1.0.25

N|Solid

EB Build API Client

The Official API Client for Blockchain-based Cloud Storage Services!

Build Status


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:

  1. Couchbase
  2. Redis
  3. DynamoDB
  4. 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 an API Key


The EB Build Client requires an API key before using. Obtaining an 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

Installation Steps


#1 Install this EBBuild Client nuget package to 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 Defiine a data type that you want to store and or retrieve from the EBBuild cloud storage services.
    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;}
    }
    
    NOTE: If you require raw data, then use our internal RawDataType class type.
    NOTE: The RawDataType class has a single property called "RawData" which will contain your unstructured json payload.
    
    RawDataType rawData = await EBBuildAPIService.GetLedgerRecord<RawDataType>(EBBuildAPIServices);
    
#3 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";
    
#4 Create an instance of the EBBuildClient instance.
     var EBBuildAPIServices = new EBBuildAPIService(
     configuration, 
     email, 
     tenantID, 
     ledgerPreface,  
     ledgerName);
   
#5 After creating an instance of the EBBuild Client in step #4 you MUST call either of the two methods:
     NOTE: Blockchain ledgers can contain multiples data types.  
     NOTE: By defailt all blocks for all datat types can be returned.  
     NOTE: To filter by a specific data type you can specify the name of the blocks data type you want returned.
     
     string blockTypeName = "SampleDataClass";
     
     NOTE: This method is static.
   - SampleDataClass record = await EBBuildAPIService.GetLedgerRecord<SampleDataClass>(
      EBBuildAPIServices, 
      blockTypeName); 
     
     NOTE: After calling this method, the internal context need to save updates is set and can be retrieved by calling:
   - EBBuildAPIService.GetLedgerListResponseRecord();
    
     NOTE: If you want to retrieve multiple ledger block records, you must (first) define filter conditions.
     NOTE: This method is static.
   - List<string> ledgerFilterConditions = new List<string>() 
     { {"FirstName:EQ:Tom:AND"},
       {"Address1.State:IN:[New York;Phoenix;London;Miami;Berlin "} 
     };
   
    NOTE: Blockchain ledgers can contain multiples data types.  
    NOTE: By defailt all blocks for all datat types can be returned.  
    NOTE: To filter by a specific data type you can specify the name of the blocks data type you want returned.
     
    string blockTypeName = "SampleDataClass";
   
   - List<SampleDataClass> records = await EBBuildAPIService.GetLedgerRecords<SampleDataClass>(
     ledgerFilterConditions, 
     EBBuildAPIServices, 
     blockTypeName); 
     
     NOTE: After calling this method, the internal context need to save updates is set and can be retrieved by calling:
   - EBBuildAPIService.GetLedgerListResponseRecords();
    
#6. Once the internal context has been set, you can save updated blocks to the ledger by calling the following method:
     SampleDataClass dataContext = new SampleDataClass();
     NOTE: To enforce multi-factor authentication (MFA) you can set the enableMFA parameter.
     NOTE: When suspicious access to the ledger is detected on the write an email will be issued is MFA is set to true.
     
     bool enableMFA = true;   
     string blockTypeName = "SampleDataClass";
     
     NOTE: This method is static.
     
   - 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”}
ILke, Nilike Case insensitive like and not like. {LastName:ILike:”Miller”}

Company Contact Information


Contact Email
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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.115 76 5/6/2024
1.0.114 89 4/16/2024
1.0.113 126 4/5/2024
1.0.112 350 2/21/2024
1.0.111 432 2/7/2024
1.0.110 459 2/4/2024
1.0.109 506 1/23/2024
1.0.108 743 12/20/2023
1.0.107 767 12/6/2023
1.0.106 790 12/5/2023
1.0.105 774 11/30/2023
1.0.104 755 11/30/2023
1.0.103 760 11/28/2023
1.0.102 777 11/28/2023
1.0.101 737 11/13/2023
1.0.100 754 11/13/2023
1.0.99 787 11/13/2023
1.0.98 742 11/10/2023
1.0.97 752 11/10/2023
1.0.96 751 11/9/2023
1.0.95 741 11/9/2023
1.0.94 765 11/9/2023
1.0.93 805 10/25/2023
1.0.92 771 10/23/2023
1.0.91 836 10/15/2023
1.0.90 780 10/11/2023
1.0.89 760 10/11/2023
1.0.88 784 10/10/2023
1.0.87 814 9/4/2023
1.0.86 918 8/15/2023
1.0.85 824 7/18/2023
1.0.84 838 7/6/2023
1.0.83 843 7/6/2023
1.0.82 853 7/1/2023
1.0.81 846 6/20/2023
1.0.80 821 5/12/2023
1.0.79 819 5/11/2023
1.0.78 852 5/4/2023
1.0.77 1,294 3/19/2023
1.0.76 941 3/15/2023
1.0.75 972 3/14/2023
1.0.74 982 3/14/2023
1.0.72 981 3/14/2023
1.0.71 989 3/10/2023
1.0.70 973 3/8/2023
1.0.69 994 3/3/2023
1.0.68 985 3/2/2023
1.0.67 968 3/2/2023
1.0.66 992 2/28/2023
1.0.65 1,017 2/21/2023
1.0.64 997 2/7/2023
1.0.63 986 2/7/2023
1.0.62 1,011 2/6/2023
1.0.61 995 2/3/2023
1.0.60 1,001 1/30/2023
1.0.59 1,035 1/29/2023
1.0.58 1,038 1/27/2023
1.0.57 1,011 1/27/2023
1.0.56 1,009 1/27/2023
1.0.55 1,051 1/27/2023
1.0.54 986 1/26/2023
1.0.53 1,013 1/26/2023
1.0.52 992 1/26/2023
1.0.51 1,027 1/26/2023
1.0.50 993 1/26/2023
1.0.49 991 1/26/2023
1.0.48 1,002 1/26/2023
1.0.47 1,039 1/25/2023
1.0.46 1,016 1/25/2023
1.0.45 1,046 1/25/2023
1.0.44 1,029 1/25/2023
1.0.43 1,027 1/24/2023
1.0.42 1,016 1/24/2023
1.0.41 1,032 1/24/2023
1.0.40 1,003 1/24/2023
1.0.39 1,018 1/24/2023
1.0.38 1,065 1/24/2023
1.0.37 1,045 1/23/2023
1.0.36 1,033 1/22/2023
1.0.35 1,046 1/22/2023
1.0.34 1,027 1/20/2023
1.0.33 1,054 1/20/2023
1.0.32 1,005 1/19/2023
1.0.31 1,131 1/19/2023
1.0.30 1,076 1/19/2023
1.0.29 989 1/19/2023
1.0.28 1,077 1/17/2023
1.0.27 1,085 1/17/2023
1.0.26 1,070 1/11/2023
1.0.25 1,109 12/9/2022
1.0.24 1,109 12/8/2022
1.0.23 1,041 12/8/2022
1.0.22 1,072 11/23/2022
1.0.21 1,077 11/23/2022
1.0.20 1,069 11/21/2022
1.0.18 1,033 11/21/2022
1.0.17 1,052 11/21/2022
1.0.16 1,045 11/18/2022
1.0.15 1,101 11/18/2022
1.0.14 1,114 11/18/2022
1.0.13 1,132 11/18/2022
1.0.9 2,733 11/18/2022
1.0.8 2,640 11/17/2022
1.0.7 2,621 11/17/2022
1.0.6 2,509 11/17/2022
1.0.5 2,596 11/17/2022
1.0.4 2,414 11/17/2022
1.0.3 2,568 11/17/2022
1.0.2 2,606 11/17/2022
1.0.1 2,493 11/17/2022
1.0.0 2,680 11/17/2022

EBBuild Client for .NetCore 6.0 and above