SecureDeck 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package SecureDeck --version 1.0.0                
NuGet\Install-Package SecureDeck -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SecureDeck" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SecureDeck --version 1.0.0                
#r "nuget: SecureDeck, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SecureDeck as a Cake Addin
#addin nuget:?package=SecureDeck&version=1.0.0

// Install SecureDeck as a Cake Tool
#tool nuget:?package=SecureDeck&version=1.0.0                

SecureDeck

SecureDeck is a .NET library designed for secure and transparent deck shuffling in poker applications. It leverages cryptographic techniques to ensure fairness, allowing for verifiable deck states and integrity throughout the game.

Features

  • Cryptographic Shuffling: Combines player-provided seeds to create a verifiably fair deck shuffle.
  • Bitcoin Integration: Represents the shuffled deck state as a Bitcoin address, adding a layer of transparency and security.
  • Flexible and Extensible: Can be easily integrated into various poker applications and extended to support additional features.

Installation

To install the SecureDeck package, run the following command in the Package Manager Console:

Install-Package SecureDeck

Or via the .NET CLI:

dotnet add package SecureDeck

Usage

Here’s a quick example of how to use the SecureDeck library in your project:

using SecureDeck;
using SecureDeck.Models;

var deckService = new DeckService();

var participants = new List<ShuffleParticipant>
{
    new ShuffleParticipant { Name = "Operator", Seed = "operator-seed" },
    new ShuffleParticipant { Name = "Player1", Seed = "player1-seed" },
    new ShuffleParticipant { Name = "Player2", Seed = "player2-seed" }
};

deckService.ShuffleDeck(participants);
var shuffledDeck = deckService.GetFinalPostShuffleDeckState();
Console.WriteLine($"Bitcoin Address: {shuffledDeck.BitcoinAddress}");

Key Classes

  • DeckService: Core service responsible for shuffling the deck and managing the deck state.
  • ShuffleParticipant: Represents a participant in the shuffle process, including the operator and players.
  • ShuffledDeck: Represents the final state of the deck after shuffling, including the deck string and the corresponding Bitcoin address.

API Overview

  1. ShuffleDeck: Shuffles the deck based on the provided participant seeds.
  2. GetFinalPostShuffleDeckState: Retrieves the final shuffled deck state.

Contributing

Contributions are welcome! Please read the contributing guidelines for details on how to get started.

Roadmap

Planned features for future releases:

  • Enhanced hand evaluation algorithms.
  • Support for additional poker variants.
  • Blockchain integration to further enhance transparency and security.

License

SecureDeck is licensed under the MIT License. See the LICENSE file for more details.

Donations

If you find this library useful and would like to support its development, consider making a donation:

  • Bitcoin Address: 1CWorthYvuYoq3teEBbkviKxP2ZcoYeee

Contact

For questions or feedback, feel free to reach out via email at cworth33@gmail.com.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.1 144 8/20/2024
1.0.0 137 8/20/2024