![]() |
VOOZH | about |
dotnet add package AzeroIdResolver --version 1.0.2
NuGet\Install-Package AzeroIdResolver -Version 1.0.2
<PackageReference Include="AzeroIdResolver" Version="1.0.2" />
<PackageVersion Include="AzeroIdResolver" Version="1.0.2" />Directory.Packages.props
<PackageReference Include="AzeroIdResolver" />Project file
paket add AzeroIdResolver --version 1.0.2
#r "nuget: AzeroIdResolver, 1.0.2"
#:package AzeroIdResolver@1.0.2
#addin nuget:?package=AzeroIdResolver&version=1.0.2Install as a Cake Addin
#tool nuget:?package=AzeroIdResolver&version=1.0.2Install as a Cake Tool
Everything in this repo has been done until the 29.10.2023 23:59 (deadline) for the ink! hackathon.
A few parts of the project have been done before the start of the hackathon.
A resolver for AZERO.ID for C# language.
This is a programming tool meant for developers. It significantly simplifies the integration of AZERO.ID into a c# based projects.
Nuget package: https://www.nuget.org/packages/AzeroIdResolver/
dotnet add package AzeroIdResolver
All of these methods are also well in-line documented: <img width="974" alt="Screenshot 2023-09-26 at 16 44 47" src="https://github.com/RostislavLitovkin/azero-id.resolver.net/assets/77352013/83189d9e-989d-4b78-bf38-5ad0bfa30c66">
This tool simplifies the use of AZERO.ID in c# based applications. Without this tool, developers would have to learn how ink! smart contracts work and how to query the state within the contract, which is described here. It is very time consuming and it takes douzens of hours to fully implement.
Thanks to this Nuget package, it can be implemented and used in literally minutes.
To get the AZERO.ID Primary name, all you need to do is this:
using AzeroIdResolver;
Console.WriteLine(await AzeroId.GetPrimaryNameForAddress("5EU6EyEq6RhqYed1gCYyQRVttdy6FC9yAtUUGzPe3gfpFX8y"));
// returns: "rosta"
Other examples:
using Substrate.NetApi;
using Substrate.NetApi.Model.Extrinsics;
using AzeroIdResolver;
// Connect to the client
// - This is optional, but recommended for better performance
SubstrateClient client = new SubstrateClient(new Uri("wss://ws.test.azero.dev"), ChargeAssetTxPayment.Default());
await client.ConnectAsync();
Console.WriteLine(await TzeroId.GetPrimaryNameForAddress(client, "5EU6EyEq6RhqYed1gCYyQRVttdy6FC9yAtUUGzPe3gfpFX8y"));
// returns: "rosta"
Console.WriteLine(await TzeroId.GetTld(client));
// returns: "tzero"
Console.WriteLine(await TzeroId.GetNamesForAddress(client, "5EU6EyEq6RhqYed1gCYyQRVttdy6FC9yAtUUGzPe3gfpFX8y"));
// returns: ["rosta", "bitcoin", "bitcoinmaxik"]
Console.WriteLine(await TzeroId.GetAddressForName("rosta.tzero"));
// returns: "5EU6EyEq6RhqYed1gCYyQRVttdy6FC9yAtUUGzPe3gfpFX8y"
Console.WriteLine(await TzeroId.GetAddressAndRegisteredAtForName("bitcoin.tzero"));
// returns: ("5EU6EyEq6RhqYed1gCYyQRVttdy6FC9yAtUUGzPe3gfpFX8y", "2023-07-27T18:03:41.000000Z")
Console.WriteLine(await TzeroId.GetAddressForName("bullshithaha.tzero"));
// returns: null
Console.WriteLine(await TzeroId.GetRegistrationPeriodForName(client, "rosta"));
// returns: (9/26/2023 11:31:47 AM, 9/25/2026 11:31:47 AM)
Console.WriteLine(await TzeroId.GetRegistrationPeriodForName(client, "bitcoin.tzero"));
// returns: (7/27/2023 8:03:41 PM, 7/26/2025 8:03:41 PM)
Console.WriteLine(await AzeroId.GetAddressForName("bitcoin.azero"));
// returns: "5G6ieicxdNkEMq62NV5hnGRMvcWa5hnVotEahyq2ujAeJDZ5"
Console.ReadKey(); // This is so that the console stays open.
Polkadot C# community is growing thanks to Ajuna Network and their Substrate.NetApi. C# is mostly popular for it's games, thanks to the popular game engines like Unity, Godot and CryEngine.
<img width="401" alt="Screenshot 2023-10-29 at 23 57 15" src="https://github.com/RostislavLitovkin/azero-id.resolver.net/assets/77352013/375048ea-16b8-4b99-a859-36d046ca4a44">
<img width="401" alt="Screenshot 2023-10-29 at 23 57 35" src="https://github.com/RostislavLitovkin/azero-id.resolver.net/assets/77352013/932b4d73-ea70-4db4-a7bf-ec998333b2b5">
Thanks to my experience with other packages, like Uniquery.Net, I think I will be perfect fit for this project.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net7.0 net7.0 is compatible. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 1 NuGet packages that depend on AzeroIdResolver:
| Package | Downloads |
|---|---|
|
PlutoFramework
All in one framework for creating web3 mobile applications. |
This package is not used by any popular GitHub repositories.