Skip to content

Latest commit

 

History

History
68 lines (51 loc) · 2.37 KB

README.md

File metadata and controls

68 lines (51 loc) · 2.37 KB

Primedice.NET AppVeyor CI NuGet

Wraps the functionality of the Primedice API in C#. The project is written in .NET 4.5 as a portable class library.

For versioning, Semantic Versioning 2.0.0's conventions are used.

Getting started

The following examples assume that the project has been referenced with the using directive: using KriPod.Primedice;

Please be advised that all the monetary amounts are in satoshi by default (1 satoshi = 0.00000001 bitcoin).

Registering a new user

var username = "<username>";

// Initialize a new unauthorized instance of PrimediceClient
var client = new PrimediceClient();

// Create a new user
var user = await client.Users.Create(username);

// The following is the most important property of the newly-created user
// Store the value of AuthToken in order to access the created account later
var authToken = user.AuthToken;

Making a bet with an existing user

var serverSeed = "<serverSeed>";
var authToken =  "<authToken>";
var amount = 1; // 0.00000001 BTC
var condition = BetCondition.LowerThan;
var target = 49.5F;

// Initialize a new authorized instance of PrimediceClient
// (Bet simulation is available by using an unauthorized instance)
var client = new PrimediceClient(authToken);

// Place a new bet with the parameters specified above
var bet = await client.Bets.Create(amount, condition, target);

// Verify the fairness of the bet whether it was lost
if (!bet.IsWon && !bet.Verify(serverSeed)) {
    // The roll was not calculated fairly. (This should never happen.)
}

Withdrawing and depositing funds

var authToken =  "<authToken>";
var withdrawalAddress = "<bitcoinAddress>";
var amount = 100000; // 0.001 BTC

// Initialize a new authorized instance of PrimediceClient
var client = new PrimediceClient(authToken);

// Withdraw some amount of money to the withdrawal address specified above
var withdrawal = await client.Wallet.Withdraw(amount, withdrawalAddress);

// Query the deposit address of self
var depositAddress = await client.Wallet.GetDepositAddress();