Metadata

IMPORTANT!
If you haven't yet set up your TradableAsset Pravda program, please read The Tradable Asset Standard first.

The integration with Expload Auction also requires a meta server that provides Expload Auction with all the necessary asset data — names, descriptions, preview pictures, etc.

Metadata Structure

Metadata has the following format:

{
    "name": <itemName>,
    "description": <itemShortDescription>,
    "pictureUrl": <itemPictureURL>,
    "previewPictureUrl": <itemPreviewPictureURL>,
    "tags": <tagsData>
}

name — the asset name. For example, "Toy Sword".
description — a short asset description. For example, "Give it back to me, I'll call my mom!".
pictureUrl — a link to the asset picture. .png, transparent background, square orientation is preferred. Maximal size - 512px x 512 px.
previewPictureUrl — a link to a smaller (preview) asset picture. The requirements are the same as for pictureUrl.
tags — a dictionary with other asset data. For example:

{
    "name": "Toy Sword",
    "description": "Give it back to me, I'll call my mom!",
    "pictureUrl" : "some_url.com/toysword.png",
    "previewPictureUrl" : "some_url.com/toysword_small.png",
    "tags" :  {
        "rarity": ["legendary"],
        "class": ["warrior", "paladin", "berserk"]
    }
}

Data in tags can be used for searching and filtering assets on Expload Auction.

As previously described, each asset has two identifiers having an in-game meaning — classId and instanceId. The meta server should provide asset data using either identifier. classId metadata will be shown in the auction asset tabs, while instanceId metadata — when choosing specific auction lots and inventory items. In other words, classId is more general information than instanceId. Data shown in class meta shouldn't be duplicated in instance meta: empty instance data fields will be replaced by class data fields and non-empty instance data fields will override class data fields.

Meta Server

The game should have a meta server which has a public API for class- and instance-meta. There is an implementation example written in C#.

Program Setup

When your meta server is ready, it is necessary to add information about it to your TradableAsset Pravda program. Modify the methods GetClassIdMeta and GetInstanceIdMeta in such a way that once these methods are given a classId or an instanceId, they return a link to the required data on your meta server.

After modifying the code you have to either deploy your program or, in the event that you have done it before, use the following commands:

# ! IMPORTANT ! 
# For custom implementations this will
# only work for development using PravdaProgramTemplate:
# https://bit.ly/2ARW0uR

dotnet publish -c Update

Auction

Once you have completed all the steps as described above and your game has been assigned a GameId by an Expload team member, you are ready to work with the Auction!

Your game will be displayed in the Auction within the Expload app. You can create an additional interface for the auction inside your game, using the Auction source code.