MythicalGames / dgoods

A token standard for digital goods
https://dgoods.org
GNU Lesser General Public License v3.0
112 stars 41 forks source link

dGoods

dGoods is an open source and free standard for handling the virtual representation of items, both digital and physical, on the EOS blockchain led by Mythical Games. Fungible and non-fungible tokens are represented in this standard, as well as what we term semi-fungible tokens. These are nft's that share many properties but have at minimum a unique serial number. Things like tickets, luxury goods, or even fractionalized ownership are well suited to this classification and therefore, a major focus of this standard.


Three most important properties of dGoods which differentiate from other token standards

1) hierarchical naming structure of category:name for each token or set of tokens, enabling filtering and organization of tokens

2) focus on semi-fungible tokens -- that is, tokens that are 1 of n with a serial number or slightly different metadata

3) opensource metadata types and standardization for each type with localization, eg 3dGameAsset, Ticket, etc


View the Latest Spec

Basic Usage Tutorial

Changes

v1.1.5 - List For Sale Configurable Time

Instead of a sale lasting a default of one week, it is now configurable and exposed as a parameter in listsalenft.

Note that a sale will still need to be closed after expiration has passed. This can be done by anyone if the sale is expired by calling closesalenft.

v1.1 - Time Based Minting

The main feature added in v1.1 is the ability to mint tokens in a time limited fashion instead of supply limited. To do this, one sets the available window time in days and sets max_supply to 0. This enables tokens to be minted until the window has elapsed. Once the window has elapsed, or if the contract owner wants to end it early the freezemaxsup() action may be called. This will set the window time to 0 and the current supply will become the max supply, ensuring no more tokens may be minted. To mint as before, just set max_issue_days to 0 in the create call. Alternatively, one may set both a max issue time and max supply.

v1.0

Many changes have occured since v0.4 that made it into the 1.0 release. Some of these changes are not backwards compatible since changes were made to multiple tables' structure. It is recommended to start from a fresh contract rather than try and migrate data to the new version.

We have a basic usage tutorial

General

Added Features

v0.4

v0.3beta

DEX in a token (simple marketplace functionality)

Metadata URI changes

Table Changes

Misc

v0.2

Token config

Asset / Quantities

Issuance

Transfer

Token Stats Table

Metadata Templates