Software Development Kits, Demos & APIs

Unity SDK MVP + Demo

We have completed the MVP of the Unity SDK.

What this means is that we have a complete, end to end, from blockchain to Unity Editor, working solution for getting a Unity game onto the Enjin ecosystem.

Take a look at EnjinQuest, demoing our Unity SDK.

The Unity Editor implementation talks to the trusted platform, and the in-editor tools are functionally complete. You can create and manage identities, design, mint, and melt tokens, and send tokens and ENJ to and from identities.

We’ve partnered with Unity Technologies to bring the Enjin SDK to the Unity Asset Store!

EnjinQuest was a small runtime example, created with the same in-editor tools to demonstrate how the wallet, trusted platform, and game work together.

Players collect ENJ backed tokens in the game: the trusted platform sends the items to the player and requests tokens from the player via transactions on the blockchain.

The wallet is used to sign all player transactions.

Minecraft SDK MVP + Demo

Currently, the Enjin Coin plugin for Spigot is capable of:

Creating identities for players that no existing identity can be associated.

that no existing identity can be associated. Displaying the generated wallet linking code for new and existing identities, assuming an identity code exists.

for new and existing identities, assuming an identity code exists. Cashing the data in the server memory, if a wallet linking code is absent for the associated player.

The plugin subscribes to platform and blockchain events and listens for changes to token balances, and updates the cached identities token balances accordingly.

Players can view their token balances (currently limited to 64 tokens) by using the command “/enj wallet”, which will open a 6x9 chest inventory with the tokens represented as an single item stack; the balance can be located in the item’s lore description.

The item stack representation can be manually defined within the plugin config, by adding a token id with an item stack configuration value to the tokens (object) json field. The display name, material, and lore are the current options available for configuration.

Transaction requests can also be initiated by the game server by calling the relevant API calls.

Java SDK

The Java SDK was used to build the Enjin Coin Minecraft Plugin, and provides an interface between the game and the PHP Platform API. Java Developers can easily create identities, transactions, and get token balances with the Java library.

PHP Platform API

Our Platform API allows any game developer to fully self-host their blockchain solution.

We have created an open-source REST application that provides both the game server and player wallets with notifications and data about all game items.

The first version of the Platform API runs on PHP7 and MySQL, and requires at least one Parity or Geth full node on the network. We have also used Pusher for notifications. Future versions of the API will support more databases and push servers.

As well as offering the self-hosted solution, Enjin will be hosting the same Platform API as a cloud platform for new and indie game developers who don’t need their own server infrastructure. This will be the simplest option to use during game development as well.

Internal Simulation Tools

All REST requests for the Platform API have been added in our Postman team project for continuous testing.

We also created a panel to generate all required events internally while developing our SDKs. Now that the platform is working on the Ropsten testnet, we can use the blockchain directly and these tools will be retired.

Finally, we have created a full suite of unit tests for every piece of functionality in the Smart Contracts, PHP Platform API, Java SDK, and Unity SDK + Editor. We run these tests constantly and our team is alerted of any bugs or regressions during development.