Sugarchain project website: https://sugarchain.org/
Sugarchain API: https://api.sugarchain.org/
Install-Package SugarchainApiClient
dotnet add package SugarchainApiClient
SugarchainApiClient
ISugarchainClient client = new SugarchainClient();
/* Operation is Abstract */
var operation = client.UseOperation<Operation>();
var @params = GetParams();
/* MethodAsync & Method is nonexistent (example) */
var resultAsync = await operation.MethodAsync(@params);
/* OR */
var result = operation.Method(@params);
SugarchainClient client = new SugarchainClient();
var @params = GetParams();
/* MethodAsync & Method is nonexistent (example) */
var resultAsync = await client.Api.MethodAsync(@params);
/* OR */
var result = client.Api.Method(@params);
✅/info
- ...<InfoOperation>().Get(); /* or GetAsync */
❌/height/{height}
❌/block/{hash}
❌/header/{hash}
❌/range/{height}
✅/balance/{address}
- ...<BalanceOperation>().Get(address); /* or GetAsync */
❌/mempool/{address}
✅/unspent/{address}
- ...<UnspentOperation>().Get(address, amount); /* or GetAsync */
❌/history/{address}
❌/transaction/{hash}
❌/mempool
✅/supply
- ...<SupplyOperation>().Get(); /* or GetAsync */
✅/fee
- ...<FeeOperation>().Get(); /* or GetAsync */
❌/decode/{raw}
✅/broadcast
- ...<BroadcastOperation>().Send(raw); /* or SendAsync */
SugarchainClient client = new SugarchainClient();
This method return current info about Sugarchain network.
- Info UseOperation
Response<InfoResult> result = client.UseOperation<InfoOperation>().Get();
- Info UseOperation Async
Response<InfoResult> result = await client.UseOperation<InfoOperation>().GetAsync();
- Info Api
Response<InfoResult> result = client.Api.Info();
- Info Api Async
Response<InfoResult> result = await client.Api.InfoAsync();
This method return address balance.
- Data
string address = "sugar1qmqvkrn5zw2v60tl0syfmxwrkre4kagpak0t9s5";
- Balance UseOperation
Response<BalanceResult> result = client.UseOperation<BalanceOperation>().Get(address);
- Balance UseOperation Async
Response<BalanceResult> result = await client.UseOperation<BalanceOperation>().GetAsync(address);
- Balance Api
Response<BalanceResult> result = client.Api.Balance(address);
- Balance Api Async
Response<BalanceResult> result = await client.Api.BalanceAsync(address);
This method return address unspent outputs.
- Data
string address = "sugar1qmqvkrn5zw2v60tl0syfmxwrkre4kagpak0t9s5";
int amount = 0;
- Unspent UseOperation
Response<UnspentResult> result = client.UseOperation<UnspentOperation>().Get(address, amount);
- Unspent UseOperation Async
Response<UnspentResult> result = await client.UseOperation<UnspentOperation>().GetAsync(address, amount);
- Unspent Api
Response<UnspentResult> result = client.Api.Unspent(address, amount);
- Unspent Api Async
Response<UnspentResult> result = await client.Api.UnspentAsync(address, amount);
This method return info about current coins supply.
- Supply UseOperation
Response<SupplyResult> result = client.UseOperation<SupplyOperation>().Get();
- Supply UseOperation Async
Response<SupplyResult> result = await client.UseOperation<SupplyOperation>().GetAsync();
- Supply Api
Response<SupplyResult> result = client.Api.Supply();
- Supply Api Async
Response<SupplyResult> result = await client.Api.SupplyAsync();
This method return recommended transaction fee.
- Fee UseOperation
Response<FeeResult> result = client.UseOperation<FeeOperation>().Get();
- Fee UseOperation Async
Response<FeeResult> result = await client.UseOperation<FeeOperation>().GetAsync();
- Fee Api
Response<FeeResult> result = client.Api.Fee();
- Fee Api Async
Response<FeeResult> result = await client.Api.FeeAsync();
This method broadcast raw signed transaction to Sugarchain network.
- Data
string raw = "020000000001021786bf75007d1d94b4ce3b94e885690c1dfb9299bcd97e92f7f1b0a80526f6000100000000ffffffff5adfd951b1c065a46dddb0bd0df8b652165e492cb6e5857048ddea365261d0840100000000ffffffff0200e1f50500000000160014d81961ce827299a7afef8113b338761e6b6ea03d605af405000000001600145af91e8c58fccd17682b1bc41a5df595181dc4b402483045022100bcc87972c6389c6b610bb5089a549bea2f92c67f01a3c7516223e3731f155c8b022038fa950f872310b2a576206cd0ce2980592a714ca571a4427774af7f2b68035e012102f415fdf94b01db2fa79792c849d862d4b708ca1770ebdeba004ad4f218c8565b0247304402204e9eee008c4fdd9205a3af9eb47c3c393d0ed35f29be8d670ac48edd468647890220583053b7e77e22e631a29360bca44339c5dc6f1aefd0069008097e9a564b8a0f012102f415fdf94b01db2fa79792c849d862d4b708ca1770ebdeba004ad4f218c8565b00000000";
- Broadcast UseOperation
Response<string> result = client.UseOperation<BroadcastOperation>().Send(raw);
- Broadcast UseOperation Async
Response<string> result = await client.UseOperation<BroadcastOperation>().SendAsync(raw);
- Broadcast Api
Response<string> result = client.Api.Broadcast(raw);
- Broadcast Api Async
Response<string> result = await client.Api.BroadcastAsync(raw);
The Apache 2.0 License (Apache-2.0). Please see License File for more information.