multiversx / mx-assets

This repository holds a list of branded assets in the MultiversX web tools. Branded assets (can be a token, an account or a staking identity) can have website and socials URLS, a logo or a description, that will be displayed on MultiversX products, such as the MultiversX Explorer, Web Wallet and xPortal App.
57 stars 780 forks source link

Introduction

This repository holds a list of branded assets in the MultiversX web tools. Branded assets (can be a token, an account, or a staking identity) can have website and socials URLS, a logo or a description, that will be displayed on MultiversX products, such as the MultiversX Explorer, Web Wallet, and xPortal App.

Tokens branding

Amplify your token brand via the MultiversX Network web tools & the Mobile Wallet.

Add a logo, description & socials for your ESDT token.

Project owners can create a PR against this repo. Create a folder named exactly as your ESDT ID or NFT Collection ID, i.e. TOKEN-abcc123. Add 2 files for the logo: logo.png and logo.svg. Also, add an info.json file containing all the relevant information.

Alternatively, a token owner can use our dApp that facilitates the token branding: https://assets.multiversx.com

:exclamation: Be aware of the repository's environments and ownership checks.

info.json

Here’s a prefilled template for the .json file to get you started:

{
    "website": "https://www.multiversxtoken.com",
    "description": "The EGLD token is the utility token of MultiversX Token",
    "ledgerSignature": "1234",
    "social": {
        "email": "egld-token@multiversx.com",
        "blog": "https://www.multiversxtoken.com/EGLD-token-blog",
        "twitter": "https://twitter.com/EGLD-token-twitter",
        "whitepaper": "https://www.multiversxtoken.com/EGLD-token-whitepaper.pdf",
        "coinmarketcap": "https://coinmarketcap.com/currencies/EGLD-token",
        "coingecko": "https://www.coingecko.com/en/coins/EGLD-token"
    },
    "lockedAccounts": {
        "egld1alice": "Team vesting",
        "egld1bob": "Locked private sale"
    },
    "extraTokens": [
        "LPTOKEN-1234",
        "STAKED-1234"
    ],
    "status": "active"
}

Guidelines:

Logos general requirements

logo.png

RIDE png
Example

logo.svg

RIDE svg
Example

Identities branding

Amplify your staking brand via the MultiversX Network web tools & the Mobile Wallet.

Add a logo, description & socials for your staking identity.

Project owners can create a PR to this repo. Create a folder named as your identity (lowercase, dash-separated. Example: my-staking-identity). Add a logo.png file, sized 200x200. Also, add an info.json file containing all the relevant information.

:exclamation: Be aware of the repository's environments and ownership checks.

info.json

{
  "description": "Description of the Staking provider.",
  "name": "My Staking Provider",
  "website": "https://www.mywebsite.com/",
  "twitter": "MyStakingProvider",
  "owners": [
    "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th",
    "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpq8llllskj52rl"
  ]
}

Inside the owners array, depending on your needs, you should include:

logo.png

Accounts branding

Amplify your project via the MultiversX Network web tools & the Mobile Wallet.

Add a description, an icon & socials for your Smart Contract or address.

Addresses owners can create a PR to this repo. Create a file named as your address with a json extension (Example: erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th.json).

:exclamation: Be aware of the repository's environments and ownership checks.

address.json

Example:

erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th.json

{
  "name": "My branded address or SC",
  "description": "",
  "social": {
    "website": "https://dapp.com",
    "twitter": "https://twitter.com/intent/user?screen_name=dapp",
    "telegram": "https://t.me/Dapp",
    "youtube": "https://youtube.com/@Dapp",
    "github": "https://github.com/Dapp"
  },
  "tags": [
    "dapp",
    "smartcontract"
  ],
  "icon": "mydapp"
}

icon

If you also want to include an icon that will be displayed near your address, you must add a PNG and an SVG icon in the nearby icons directory that will be named exactly as the icon field value inside the JSON file + the png and svg extensions.

Example: If one wants to brand a devnet account, then an <address>.json file needs to be added inside devnet/accounts directory. For example, if the icon value is myaddress then myaddress.png + myaddress.svg files must be added inside devnet/accounts/icons directory.

The same logo guidelines used for tokens/identities apply here as well.

Environments

This repository enables users to brand their assets on any of our environments (Mainnet, Testnet, and Devnet).

Therefore, here are the directories that one needs to use depending on the environment:

Ownership checks

To make sure that assets can only be branded by real owners, we introduced a GitHub action that requires that an ownership check is successful before allowing the PR to be merged.

This is done via a message signature verification, where the message is the latest commit sha of the PR (to avoid multiple signs in case of intermediary merges, if one of the signatures is verified, it is enough).

To do so, on the PR page, go to the Commits tab of the Pull Request and copy the latest commit hash (should look similar to 9c6164f1b195ce96bc5b65d6878ebe813e852550). Then sign that string by using the owner of the asset you are branding. The easiest way is to use our Utils Dapp where you should log in with the owner wallet and then go to the 'Sign Message' tab and sign the commit hash previously copied. After that, leave a comment inside the Pull Request with the obtained signature.