{"id":13449145,"url":"https://github.com/planetarium/libplanet","last_synced_at":"2025-05-14T10:09:10.965Z","repository":{"id":37305230,"uuid":"158087990","full_name":"planetarium/libplanet","owner":"planetarium","description":"Blockchain in C#/.NET for on-chain, decentralized gaming","archived":false,"fork":false,"pushed_at":"2025-04-09T15:03:49.000Z","size":317943,"stargazers_count":524,"open_issues_count":114,"forks_count":152,"subscribers_count":29,"default_branch":"main","last_synced_at":"2025-04-09T16:23:16.143Z","etag":null,"topics":["blockchain","csharp","dotnet","game-development","hacktoberfest","hacktoberfest2024","libplanet","net","p2p","planetarium","unity","unity3d"],"latest_commit_sha":null,"homepage":"https://docs.libplanet.io/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/planetarium.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-18T13:43:19.000Z","updated_at":"2025-04-03T08:52:19.000Z","dependencies_parsed_at":"2024-01-07T16:34:17.327Z","dependency_job_id":"0af0cb50-3a61-40ba-be74-077c850a9f5a","html_url":"https://github.com/planetarium/libplanet","commit_stats":{"total_commits":7084,"total_committers":90,"mean_commits":78.71111111111111,"dds":0.7149915302089216,"last_synced_commit":"f6cd63d7fcb58870785ed5ce3829327b38ed30f1"},"previous_names":[],"tags_count":253,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetarium%2Flibplanet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetarium%2Flibplanet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetarium%2Flibplanet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetarium%2Flibplanet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/planetarium","download_url":"https://codeload.github.com/planetarium/libplanet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248338886,"owners_count":21087210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","csharp","dotnet","game-development","hacktoberfest","hacktoberfest2024","libplanet","net","p2p","planetarium","unity","unity3d"],"created_at":"2024-07-31T06:00:32.188Z","updated_at":"2025-04-11T03:39:26.026Z","avatar_url":"https://github.com/planetarium.png","language":"C#","funding_links":[],"categories":["Library","NetWork","C\\#","C#","Others"],"sub_categories":[],"readme":"Libplanet\n=========\n\n[![Discord](https://img.shields.io/discord/928926944937013338.svg?color=7289da\u0026logo=discord\u0026logoColor=white)][Discord]\n[![Build Status (CircleCI)](https://circleci.com/gh/planetarium/libplanet/tree/main.svg?style=shield)][CircleCI]\n[![Codecov](https://codecov.io/gh/planetarium/libplanet/branch/main/graph/badge.svg)][Codecov]\n[![NuGet](https://img.shields.io/nuget/v/Libplanet.svg?style=flat)][NuGet]\n[![NuGet (prerelease)](https://img.shields.io/nuget/vpre/Libplanet.svg?style=flat)][NuGet]\n\nLibplanet is a .NET library for creating multiplayer online game in\ndecentralized fashion, which means the whole gameplay occurs on a\npeer-to-peer network among equal nodes rather than an authorized central\nserver.  Under the hood, it incorporates many features (e.g.,\n[digital signature], [BFT] consensus, data replication) of a [blockchain].\n\nIt has competitive advantages over other solutions for decentralized gaming:\n\n -  *Embeddable*: A game app does not have to communicate with another running\n    process, hence it doesn't require extra marshaling or processes management.\n    To draw a parallel, Libplanet is closer to SQLite than MySQL or PostgreSQL.\n\n -  *Isomorphic*: Libplanet is a .NET library, so every game logic can be\n    written in the same language, C#, and run on the blockchain. No glue\n    code or \"smart contracts\" are needed.\n\n -  *Token-independent*: Unlike almost every blockchain system, it does not\n    force users to create and deal with yet-another-cryptocurrency. Your\n    game can be free to play, and enjoyed by regular gamers.\n\nTo learn more about why Planetarium is creating technology for fully\ndecentralized games, please refer to our [blog post].\n\n[Discord]: https://link.planetarium.dev/libplanet-readme--pl-dev-discord\n[CircleCI]: https://app.circleci.com/pipelines/github/planetarium/libplanet\n[Codecov]: https://codecov.io/gh/planetarium/libplanet\n[NuGet]: https://www.nuget.org/packages/Libplanet/\n[digital signature]: https://en.wikipedia.org/wiki/Digital_signature\n[BFT]: https://en.wikipedia.org/wiki/Byzantine_fault_tolerance\n[blockchain]: https://en.wikipedia.org/wiki/Blockchain\n[blog post]: https://medium.com/planetarium/introducing-planetarium-powering-games-with-freedom-22ab1ab70e0e\n\n\nNuGet\n-----\n\nFor every stable release, we pack Libplanet into a *.nupkg* and\nupload it to [NuGet] and GitHub [releases] page.\n(You can find the changelog for versions from [releases] page.)\nTo use Libplanet in your game, your project needs to add a dependency\nto *Libplanet* package.  On Visual Studio IDE, run the following command\nin Package Manager Console:\n\n    Install-Package Libplanet\n\nIf you prefer `dotnet` CLI run the following command instead:\n\n~~~~~~~~ bash\ndotnet add package Libplanet\n~~~~~~~~\n\nSee also Microsoft's docs on [different ways to install NuGet package][1].\n\nIn addition to stable releases, we also provide pre-release packages.\nFor every day and every merge commit, it is packed into a *.nupkg*\nand uploaded to [NuGet] with a hyphen-suffixed version name.\n\nFor a merge commit build, a version name looks like\n`0.1.0-dev.20181231235959+a0b1c2d` where `20181231235959` is a UTC timestamp of\nthe build and `a0b1c2d` is the first 7 hexadecimals of the Git commit hash.\nFor a daily build, a version name is like `0.1.0-nightly.20181231+a0b1c2d`.\n\nUnfortunately, Unity currently does not support NuGet.  There are some Unity\nplug-ins to deal with NuGet package system, and these seem immature at present.\nTo use Libplanet on Unity, you need to manually extract *Libplanet.dll*\nfrom *Libplanet.\\*.nupkg* file and place it inside of your Unity project.\nWe are acknowledging the fact Libplanet is currently not very usable together\nwith Unity, and promise to make it better in the next few minor releases.\nUntil then, you could try [MSBuildForUnity] which is experimental as of\nJanuary 2020.\n\n[releases]: https://github.com/planetarium/libplanet/releases\n[MSBuildForUnity]: https://github.com/microsoft/MSBuildForUnity\n[1]: https://docs.microsoft.com/nuget/consume-packages/ways-to-install-a-package\n\n\nBuild\n-----\n\nYou could build *Libplanet.dll* and *Libplanet.Stun.dll* assemblies\nfrom the source code.\n\nThe following command installs dependencies (required library packages) and\nbuilds the whole Libplanet solution:\n\n~~~~~~~~ bash\ndotnet build\n~~~~~~~~\n\nNote that `dotnet` command is distributed together with [.NET Core] SDK.\n\nIf you'd like to contribute code to the Libplanet project in earnest,\nplease read our [contributor guide](CONTRIBUTING.md).\n\n[.NET Core]: https://dot.net/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplanetarium%2Flibplanet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplanetarium%2Flibplanet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplanetarium%2Flibplanet/lists"}