Skip to content

Commit

Permalink
Separate Nuget targeting README (#77)
Browse files Browse the repository at this point in the history
  • Loading branch information
Smrecz authored Mar 9, 2023
1 parent 4031483 commit 3a36760
Show file tree
Hide file tree
Showing 8 changed files with 85 additions and 20 deletions.
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.0
1.3.1
13 changes: 11 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
## [1.3.0]
Initial release
## [1.3.1] - 2023.03.07

### Changed

- Separate Nuget targeting README

## [1.3.0] - 2023.03.07

### Added

- Initial release
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
# [Tatum C# SDK](http://tatum.com/)

[![Build](https://github.com/tatumio/tatum-csharp/actions/workflows/build.yml/badge.svg?branch=v3)](https://github.com/tatumio/tatum-csharp/actions/workflows/build.yml)
[![Build](https://github.com/tatumio/tatum-csharp/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/tatumio/tatum-csharp/actions/workflows/build.yml)

## Quick Start

1. Include tatum package in your project:


`dotnet add ${your_project} package Tatum`


2. Register Tatum Client in the DI container by calling `IServiceCollection` method `AddHttpClient`:
2. Register Tatum Client in the DI container by calling `IServiceCollection` method `AddTatumSdk`:

```cs
// In Program.cs or Startup.cs
builder.Services.AddTatumSdk(Network.Testnet, apiKey);
builder.Services.AddTatumSdk(Network.Testnet);
```

3. Inject Tatum Client to the class of your choice:

```cs
Expand All @@ -29,6 +28,7 @@ public SomeController(ITatumSdk tatumSdk)
```

4. You are ready to use Tatum API!

```cs
var allNotificationsResult = await _tatumSdk.Notifications.GetAll();
```
Expand All @@ -40,12 +40,14 @@ If there ever is a need to see what is going on under the hood you can use the D
**When contacting Tatum support providing those logs can help us identifying the issue faster.**

To use debug mode simply register Tatum SDK like this:

```cs
// In Program.cs or Startup.cs
builder.Services.AddTatumSdkWithDebug(Network.Testnet, apiKey);
builder.Services.AddTatumSdkWithDebug(Network.Testnet);
```

or if using simple init:

```cs
var tatumSdk = TatumSdk.Init(Network.Testnet, apiKey, config => config.EnableDebugMode = true);
```
Expand Down
51 changes: 51 additions & 0 deletions README_NUGET.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# [Tatum C# SDK](http://tatum.com/)

## Quick Start

1. Include tatum package in your project:

`dotnet add ${your_project} package Tatum`

2. Register Tatum Client in the DI container by calling `IServiceCollection` method `AddTatumSdk`:

```cs
// In Program.cs or Startup.cs
builder.Services.AddTatumSdk(Network.Testnet);
```

3. Inject Tatum Client to the class of your choice:

```cs
// EthereumController.cs
private readonly ITatumSdk _tatumSdk;

public SomeController(ITatumSdk tatumSdk)
{
_tatumSdk = tatumSdk;
}
```

4. You are ready to use Tatum API!

```cs
var allNotificationsResult = await _tatumSdk.Notifications.GetAll();
```

## Debug Mode

If there ever is a need to see what is going on under the hood you can use the Debug Mode to output underlying `request curl` and `response content` to the `Debug` console.

**When contacting Tatum support providing those logs can help us identifying the issue faster.**

To use debug mode simply register Tatum SDK like this:

```cs
// In Program.cs or Startup.cs
builder.Services.AddTatumSdkWithDebug(Network.Testnet);
```

or if using simple init:

```cs
var tatumSdk = TatumSdk.Init(Network.Testnet, apiKey, config => config.EnableDebugMode = true);
```
13 changes: 6 additions & 7 deletions Tatum.Core/Configuration/ConfigurationExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public static class ConfigurationExtensions
public static void ConfigureHttpClient(this ITatumSdkConfiguration configuration, HttpClient client)
{
client.BaseAddress = new Uri(configuration.BaseUrl);

if(!string.IsNullOrWhiteSpace(configuration.ApiKey))
{
client.DefaultRequestHeaders.Add("x-api-key", configuration.ApiKey);
Expand Down Expand Up @@ -46,14 +47,12 @@ public static async Task Validate(this ITatumSdkConfiguration configuration, Htt
throw new ValidateSdkException("Tatum API is not available, could not connect to check version.");
}

if(versionResponse.Testnet && configuration.Network == Network.Mainnet)
{
throw new ValidateSdkException("Tatum API key is not valid for Mainnet.");
}

if(!versionResponse.Testnet && configuration.Network == Network.Testnet)
switch (versionResponse.Testnet)
{
throw new ValidateSdkException("Tatum API key is not valid for Testnet.");
case true when configuration.Network == Network.Mainnet:
throw new ValidateSdkException("Tatum API key is not valid for Mainnet.");
case false when configuration.Network == Network.Testnet:
throw new ValidateSdkException("Tatum API key is not valid for Testnet.");
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion Tatum.Demo/Tatum.Demo.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<ItemGroup>
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
<PackageReference Include="Swashbuckle.AspNetCore.Newtonsoft" Version="6.5.0" />
<PackageReference Include="Tatum" Version="1.3.0-rc01" />
<PackageReference Include="Tatum" Version="1.3.0" />
</ItemGroup>

</Project>
6 changes: 3 additions & 3 deletions Tatum/.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Tatum</id>
<version>1.3.0</version>
<version>1.3.1</version>
<authors>Tatum</authors>
<owners>Tatum</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
Expand All @@ -12,7 +12,7 @@
<projectUrl>https://www.tatum.com</projectUrl>
<license type="expression">MIT</license>
<tags>Tatum; Blockchain; Ethereum; ETH;</tags>
<readme>docs/README.md</readme>
<readme>docs/README_NUGET.md</readme>
<icon>images/icon.png</icon>
<copyright>Copyright (c) 2023 Tatum</copyright>
<title>Tatum SDK</title>
Expand Down Expand Up @@ -40,7 +40,7 @@
<file src="../Tatum.Core/bin/Release/netstandard2.0/Tatum.Core.pdb" target="lib/netstandard2.0" />
<file src="../Tatum.Utils/bin/Release/netstandard2.0/Tatum.Utils.dll" target="lib/netstandard2.0" />
<file src="../Tatum.Utils/bin/Release/netstandard2.0/Tatum.Utils.pdb" target="lib/netstandard2.0" />
<file src="../Tatum/bin/Release/netstandard2.0/README.md" target="docs/" />
<file src="../Tatum/bin/Release/netstandard2.0/README_NUGET.md" target="docs/" />
<file src="../Tatum/bin/Release/netstandard2.0/icon.png" target="images/" />
</files>
</package>
4 changes: 4 additions & 0 deletions Tatum/Tatum.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@
<Link>README.md</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="..\README_NUGET.md">
<Link>README_NUGET.md</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>

</Project>

0 comments on commit 3a36760

Please sign in to comment.