SecureDeck 1.0.0
See the version list below for details.
dotnet add package SecureDeck --version 1.0.0
NuGet\Install-Package SecureDeck -Version 1.0.0
<PackageReference Include="SecureDeck" Version="1.0.0" />
paket add SecureDeck --version 1.0.0
#r "nuget: SecureDeck, 1.0.0"
// 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
- ShuffleDeck: Shuffles the deck based on the provided participant seeds.
- 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 | Versions 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. |
-
net8.0
- Microsoft.AspNetCore.Cryptography.KeyDerivation (>= 8.0.8)
- NBitcoin (>= 7.0.37)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.