Существуют ли какие-либо оболочки C# для биткойнского REST API?

Существуют ли какие-либо вапперы C#, которые используют подход ООО к биткойнскому REST API и инкапсулируют его в удобном для использования формате?

Ответы (6)

Взгляните на эту оболочку api c# bitcoin rpc: https://github.com/GeorgeKimionis/BitcoinLib , которая, в отличие от bitnet, актуальна.

На данный момент это лучшая библиотека на этой странице!

Новейшей современной библиотекой C# для .net является .Net-Bitcoin-RPC с полной документацией по каждому вызову. Очень прост в использовании.

Я автор WalletClient.net , и он достаточно актуален, охватывая большинство команд json-rpc. Он имеет асинхронную модель и строго типизированные возвращаемые объекты. Также существует особая поддержка Blockchain.info по сравнению с родным Bitcoind.

Дайте мне знать, что вы думаете.

Мне нравится интеграция Blockchain, решение Джорджа кажется лучше на стороне QT.

Я написал свою собственную обертку, это было не сложно, это основная суть ниже. Адаптируйте для своих конкретных нужд.

Пример получения необработанной транзакции

internal static string GetRawTransaction(string txid)
{
    var CredentialCache = new CredentialCache();
    CredentialCache.Add(new Uri("http://127.0.0.1:8332"), "Basic", new NetworkCredential("[your rpc username]", "your rpc password"));

    var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://127.0.0.1:8332");
    httpWebRequest.ContentType = "text/json";
    httpWebRequest.Method = "POST";
    httpWebRequest.Credentials = CredentialCache;

    using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
    {
        string json;
        json = "{ \"jsonrpc\": \"2.0\", \"id\":\"" + Guid.NewGuid().ToString() + "\", \"method\": \"getrawtransaction\",\"params\":[\"" + txid + "\",1]}";

        streamWriter.Write(json);
    }
    var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
    {
        var responseText = streamReader.ReadToEnd();
        return responseText;
    }
}

https://github.com/Glasswalker/Wallet.Net/tree/master/Bitnet.Client Я использую битнет-клиент, могу сказать только хорошее, если в нем отсутствует что-то, что вам нужно, довольно легко добавить/изменить все, что вам нужно.

Если вы откроете биткойн -qt, затем перейдите в консоль и введите help, вы увидите список всех методов. (поскольку не каждый реализован в битнете)

Вот моя работа, в основном для транзакций, но, возможно, я обновлю ее в свободное время.

https://github.com/kamilk91/BitcoinManagerCsharp