Skip to content

emin-karadag/SnowTraceApi.Net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SnowTraceApi.Net

SnowTraceApi.Net

SnowTraceApi.NET, yazılım geliştiricilerin "Avalance C-Chain" gezginine API üzerinden erişim sağlayıp blokzincir verilerine ulaşmasını sağlayan bir .NET kütüphanesidir.

SnowTrace'in herkese açık API dokümanı referans alınarak C# programlama dili ile geliştirilmiştir.

Lisans:

MIT License

Özellikleri

  • NuGet aracılığıyla yükleyebilme. (SnowTraceApi.Net)
  • .NET 7 desteği. (Linux/MacOS uyumluluğu)
  • RestAPI, SnowTrace resmi dokümanının büyük çoğunluğunu destekler.
    • Aktif olarak yeni özellikler eklenmeye devam edilecek.

Başlangıç

API uç noktalarını kullanabilmek için SnowTrace hesabı oluşturmanız gerekmektedir.

Eğer hesabınız yok ise buraya tıklayarak SnowTrace'e kaydolabilirsiniz.

Kurulum

Bu kütüphane NuGet'te mevcuttur, indirmek için çekinmeyin. (https://www.nuget.org/packages/SnowTraceApi.Net)

NuGet PM

Install-Package SnowTraceApi.Net -Version 1.0.0

dotnet cli

dotnet add package SnowTraceApi.Net --version 1.0.0

Örnek Kullanım

Bağımlılık Enjeksiyonu (Dependency Injection):

using SnowTraceApi.Net.Business.Abstract;
using SnowTraceApi.Net.Business.Concrete;

services.AddSingleton<ISnowTraceService, SnowTraceManager>();

Constructor'da tanımalama:

using SnowTraceApi.Net.Business.Abstract;

private readonly ISnowTraceService _snowTraceService;
public Test(ISnowTraceService snowTraceService)
{
   _snowTraceService = snowTraceService;
}

1. Web3 cüzdanındaki AVAX bakiyesini okuma:

var apiKey = "xx_snowtrace_api_key_xx";
var address = "0x4aeFa39caEAdD662aE31ab0CE7c8C2c9c0a013E8";
var result = await _snowTraceService.AccountsApi.GetAvaxBalanceForSingleAddressAsync(apiKey, address, ct: stoppingToken);
if (result.Success)
{
    // ...
}

2. Birden fazla Web3 cüzdanındaki AVAX bakiyelerini okuma:

var apiKey = "xx_snowtrace_api_key_xx";
var addresses = new List<string> { "0x4aeFa39caEAdD662aE31ab0CE7c8C2c9c0a013E8", "0xefdc8FC1145ea88e3f5698eE7b7b432F083B4246" };
var result = await _snowTraceService.AccountsApi.GetAvaxBalanceForMultipleAddressesAsync(apiKey, addresses, ct: stoppingToken);
if (result.Success)
{
    // ...
}

3. Bir cüzdana ait 'Normal' işlem geçmişini okuma:

var apiKey = "xx_snowtrace_api_key_xx";
var address = "0x4aeFa39caEAdD662aE31ab0CE7c8C2c9c0a013E8";
var result = await _snowTraceService.AccountsApi.GetNormalTransactionsByAddressAsync(apiKey, address, ct: stoppingToken);
if (result.Success)
{
    // ...
}

4. Bir cüzdana ait 'Dahili' işlem geçmişini okuma::

var apiKey = "xx_snowtrace_api_key_xx";
var address = "0x4aeFa39caEAdD662aE31ab0CE7c8C2c9c0a013E8";
var result = await _snowTraceService.AccountsApi.GetInternalTransactionsByAddressAsync(apiKey, address, ct: stoppingToken);
if (result.Success)
{
    // ...
}

5. 'Hash' bilgisine göre dahili bir transfer bilgisi okuma:

var apiKey = "xx_snowtrace_api_key_xx";
var hash = "0x8ee0cb790486eac134f55c736e7d6ac7dada705035ddab3fae67aee5ce1ec6bf";
var result = await _snowTraceService.AccountsApi.GetInternalTransactionsByHashAsync(apiKey, hash, ct: stoppingToken);
if (result.Success)
{
    // ...
}

6. Bir blok aralığında gerçekleştirilen işlemleri okuma:

var apiKey = "xx_snowtrace_api_key_xx";
var result = await _snowTraceService.AccountsApi.GetInternalTransactionsByBlockRangeAsync(apiKey, startBlock: 10, endBlock: 100, sort: "desc", ct: stoppingToken);
if (result.Success)
{
    // ...
}

7. Sözleşme adresine göre belirli bir ERC-20 token transfer işlemlerini görüntüleme:

var apiKey = "xx_snowtrace_api_key_xx";
var address = "0xdc54a239B3be06E63b0DecA16c373d4480820498";
var contractAddress = "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7";
var result = await _snowTraceService.AccountsApi.GetTokenTransferEventsByAddressAsync(apiKey, address, contractAddress, ct: stoppingToken);
if (result.Success)
{
    // ...
}

8. Sözleşme adresine göre belirli birERC-721 (NFT) transfer işlemlerini görüntüleme:

var apiKey = "xx_snowtrace_api_key_xx";
var address = "0xdc54a239B3be06E63b0DecA16c373d4480820498";
var contractAddress = "0xA9D5c7d0173f09FB4ed36ab8dD0BaFc9110733B5";
var result = await _snowTraceService.AccountsApi.GetNftTransferEventsByAddressAsync(apiKey, address, contractAddress, ct: stoppingToken);
if (result.Success)
{
    // ...
}

9. Bir adres tarafından çıkartılan blokların listesini görüntüleme:

var apiKey = "xx_snowtrace_api_key_xx";
var address = "0xdc54a239B3be06E63b0DecA16c373d4480820498";
var result = await _snowTraceService.AccountsApi.GetBlockMinedByAddressAsync(apiKey, address, ct: stoppingToken);
if (result.Success)
{
    // ...
}

Bağış Yap

Kütüphaneyi kullanıp beğendiyseniz destek olmak amaçlı bağışta bulunabilirsiniz. Aşağıda Bitcoin ve Ethereum için cüzdan adreslerim yer almaktadır.

Tether (USDT) - TRC20: TC3ruh9qWbwAnCHGEkschnmcYUNxGumHJS

Bitcoin (BTC) - ERC20: 0x4a656a72fada0ccdef737ad8cc2e39686af5efbe

Ethereum - ETH: 0x4a656a72fada0ccdef737ad8cc2e39686af5efbe

About

"Avalance C-Chain" gezginine API üzerinden erişim sağlayıp blokzincir verilerine ulaşmasını sağlayan bir .NET kütüphanesidir.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages