Skip to content
Open source blockchain library for fully decentralized games
Branch: master
Clone or download
longfin Merge pull request #149 from longfin/feature/adjust-block-validation
Adjust BlockChain<T>.Validate() to validate only last block
Latest commit 30183cb Mar 23, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea/.idea.Libplanet/.idea Add rider common files. Nov 18, 2018
.vscode Tasks for Visual Studio Code Feb 21, 2019
Docs Upgrade DocFX to v2.40.12 Mar 20, 2019
Libplanet.Explorer Turn singular Recipient to plural UpdatedAddresses Mar 14, 2019
Libplanet.Stun.Tests Add StunMessage.TransactionId Mar 19, 2019
Libplanet.Stun Add Swarm-TURN integration test and bugfix Mar 19, 2019
Libplanet.Tests
Libplanet Validate only last block when appending [changelog skip] Mar 23, 2019
hooks Validate if release is well prepared Feb 26, 2019
.editorconfig Pre-commit hook to check BOM Feb 19, 2019
.gitignore
.travis.dotCover.xml Codecov.io settings Feb 13, 2019
.travis.yml
CHANGES.md
CONTRIBUTING.md
LICENSE
Libplanet.ruleset
Libplanet.sln
Libplanet.sln.DotSettings
Menees.Analyzers.Settings.xml Menees.Analyzers.2017 Feb 8, 2019
README.md About Unity Feb 26, 2019
codecov.yml
publish.sh Upgrade NuGet to 5.0.0-preview4 Mar 22, 2019
stylecop.json Apply StyleCop.Analyzers.ruleset Nov 25, 2018

README.md

Libplanet

Discord Build Status Codecov NuGet NuGet (prerelease)

Libplanet is a .NET library for creating multiplayer online game in decentralized fashion, which means the whole gameplay occurs on a peer-to-peer network among equal nodes rather than an authorized central server. Under the hood, it incorporates many features (e.g., digital signature, BFT consensus, data replication) of a blockchain.

NuGet

For every stable release, we pack Libplanet into a .nupkg and upload it to NuGet and GitHub releases page. (You can find changelog for versions from releases page.) To use Libplanet in your game, your project needs to add a dependency to Libplanet package. On Visual Studio IDE, run the following command in Package Manager Console:

Install-Package Libplanet

If you prefer dotnet CLI run the following command instead:

dotnet add package Libplanet

See also Microsoft's docs on different ways to install NuGet package.

In addition to stable releases, we also provide pre-release packages. For everyday and every merge commit, it is packed into a .nupkg and uploaded to NuGet with a hyphen-suffixed version name.

For a merge commit build, a version name is like 0.1.0-dev.123+20181231 where 123 is a build number in our CI system and 20181231 is a date of the build. For a daily build, a version name is like 0.1.0-nightly.20181231.

Unfortuneatly, Unity currently does not support NuGet. There are some Unity plug-ins to deal with NuGet package system, and these seem immature at present. To use Libplanet on Unity, you need to manually extract Libplanet.dll from Libplanet.*.nupkg file and place it inside of your Unity project. We are acknowledging the fact Libplanet is currently not very usable together with Unity, and promise to make it better in next few minor releases. In the near future, we are going to submit it to Unity Asset Store too.

Build

You could build a Libplanet.dll assembly from the source code.

The following command installs dependencies (required library packages) and builds the whole Libplanet solution:

msbuild -r

Note that msbuild is distributed together with Mono framework or Visual Studio.

If you'd like to contribute code to the Libplanet project in earnest, please read our contributor guide.

You can’t perform that action at this time.