Enjin Coin: Development Update — October 30, 2017

Here’s our latest development update on Enjin Coin! We’ll be focusing primarily on the custom token smart contracts.

Listening to your feedback over the last few weeks, we’ve developed a fair and balanced token system for game developers and players. Please tell us your thoughts — whether you’re a developer, community owner, or user.

Creating Custom Tokens & Virtual Goods

The Custom Tokens smart contract is the center of the Enjin Coin project. Convert your ENJ into game items or any type of virtual good that can be traded and used inside games or anywhere.

Each custom token type needs a minimum ENJ reserve value. For a description of the minimum reserve price formula, check out our previous article:

More options for Game Developers and Creators

Based on community feedback over the last few months, we’ve realized that for adoption by game developers at large, the perfect game item platform:

  • Should give game developers new opportunities for profit
  • Should let game developers create non-transferable (bound) items
  • Should allow game logic to be enforced in certain setups
  • Should give players a clear picture of an item’s rules and behaviors

The system we have designed lets the Game Developer decide how they want their items platform to behave, based on their own game requirements.

Transferable vs Bound Items

In certain games, some items can be locked to the player account and can’t be traded— this is sometimes called Bind-On-Pickup or No-Drop.

When you create a brand new game item on the Enjin Coin platform, you can now decide if the item is Transferable or Bound.

Bound items let the creator toggle their transferable property at any time. But if an item begins its life as a Transferable Item, trading will then never be restricted.

Bound items will display a lock icon in the player’s wallet. These items can still be melted by the holder at any time, to extract their reserve value.

White-Lists and gameplay mechanics

A white-list allows specific wallets to transfer or receive Bound items.

Game developers can white-list accounts that transfer bound items to players. Interesting game logic can also be also created with white-lists, by allowing players to transfer their bound items to specific accounts, like smart contracts that provide gameplay mechanisms or puzzles.

Trading fees and approved exchanges

Using white-lists along with bound items, specific exchange accounts could be permitted to send and receive items.

This is an exciting option for game developers who want to run a marketplace and benefit from trading fees, or allow trading through partnered exchanges!

Melting Item Fees

We’re giving game developers or item creators the option of setting a fee for when their Custom Token is melted. When a user melts an item, the developer will get back the % of ENJ that was originally used to mint the item.

Developers can set the Maximum Fee, which can never be more than 50% of reserve price, and it can be permanently reduced by the developer, but never increased.

Melting Fees can be adjusted from 0% to the maximum % set by the developer.

Using the Melting Fee, developers can gain back some of the tokens they committed to minting if players leave the game and melt their items.

Saving Gas Costs —A Novel Monolithic Design

Game developers and communities will be minting thousands of new tokens for their games. This hasn’t been attempted at this scale before on Ethereum!

We noticed a problem early on: Smart contracts take up a lot of space on the blockchain, which costs enormous amounts of gas!

We have a cool solution to the problem — A new kind of token contract. The Enjin Custom Tokens contract is built with a monolithic design, which means that it stores ALL of the custom tokens in one smart contract.

Custom tokens only need to store their minimal token parameters:

The savings? Creating a new custom token uses only 10% of the gas cost of an equivalent token contract, making it practical for developers who might be creating hundreds of tokens!

This design also gives us the ability to transfer multiple token types cheaply in a single multi-token transaction, even without using any off-chain technology like Raiden. We plan to use this feature inside the Escrow system and elsewhere to optimize large transactions.

ERC20 Adapter

But wait! If you want your super-cool game items to be supported by regular Ethereum wallets and exchanges, will they still be compatible?

Yes!

We’ve created an ERC20 Adapter which gives custom tokens their own Ethereum address and makes them 100% ERC20-compatible! This allows all custom tokens to use the Bancor protocol, because they’re Smart Tokens too.

With a simple transaction, your Custom Token can spawn its own ERC20 Adapter with its own unique Ethereum Address.

The token adapter will manage the monolithic contract, but present itself as a regular ERC20 token, usable in all exchanges, smart contracts, and wallets!

You can view our development progress on Enjin’s GitHub. The Enjin Coin smart contracts will continue to see code changes and improvements over the coming weeks before we have them audited.

Custom Data as Event Logs

While item data should typically be kept in the game engine itself, sometimes a case can be made for storing certain item attributes on the blockchain.

If you need to store metadata for your game items, new blocks of data can now be appended to the item at the cheapest gas cost: 8 gas per byte. This is achieved by emitting Event Logs in the Ethereum Virtual Machine.

Everyone can attach custom data to an item!

Here’s an experimental, but very useful feature!

We’re playing with the concept that anyone may attach data to Custom Tokens. Think of a wizard enchanting a pair of boots, or a warrior marking their kill-count on the handle of his battle-axe.

Since the Enjin Coin SDK can filter and parse all of this information precisely, these non-fungible tokens could retain their unique history as they pass through the hands of each player.

Last few days of the crowdsale!

Home stretch! You can contribute to the Enjin Coin crowdsale before October 31st at 8:00 PM Eastern Time, by visiting our official website:

Thanks for reading our update! We’d love to hear your feedback on our Telegram Channel or our Official Subreddit :)

Witek Radomski
CTO, Enjin Coin