Giter VIP home page Giter VIP logo

subwallet-chainlist's Introduction

SubWallet-Chain

This is the repository to integrate, contain all information about projects/chains/assets available on SubWallet's products.

Scope of this project

  • Provide a coherent schema and interfaces for projects/chains/assets across blockchains
  • Showing relationships between projects/chains/assets
  • Track development status
  • Provide metadata/on-chain information about chains and assets
  • Provide general, non-tech information (website, description, social media,...) about chains and assets
  • Allowing partners/teams to easily integrate with SubWallet products

Schema

erDiagram
    CHAIN {
        string slug  "contains basic, general, non-tech information about a blockchain"
        string name
        string logo
        string description
        enum status "ACTIVE | INACTIVE | STOPPED: to show the current state of a chain"
    }

    EVM_CHAIN {
        int chainId
        string hexChainId
        string blockExplorer
    }

    SUBSTRATE_CHAIN {
        int paraId
        string genesisHash
        int addressPrefix
        string category "RELAYCHAIN | PARACHAIN"
    }

    CHAIN_PROVIDER {
        string endpoint
        string providerMode
    }

    CHAIN_ASSET {
        string originChain FK "The chain which token originated from"
        int multiChainAssetId FK "points to a multi-chain asset"
        string symbol
        int decimals
        string priceId "higher priority than multi-chain asset's priceId - using CoinGecko"
        string minAmount

        enum assetType "NATIVE | ERC20 | ERC721 | PSP34 | PSP22 | LOCAL"
    }

    MULTI_CHAIN_ASSET {
        string originChainAssetId FK "point to the origin asset"
        string slug
        string name
        string symbol
        string origin
        string priceId
    }

    ASSET_REF {
        int id_ PK "showing how a token can be converted to another"
        string srcTokenId FK
        string destTokenId FK
        string path "XCM | SWAP : path which asset can be converted"
    }

    PROJECT_CATEGORY {
        string category
    }

    PROJECT {
        string name
        string description
        string appUrl
        string discord
        string twitter
        string github
        string telegram
        string website
        enum status
    }

    CHAIN ||--o| EVM_CHAIN : is
    CHAIN ||--o| SUBSTRATE_CHAIN : is
    CHAIN_ASSET }|--|| MULTI_CHAIN_ASSET: "can be"
    CHAIN_ASSET ||--|| MULTI_CHAIN_ASSET: "originate from"
    ASSET_REF }o--o{ CHAIN_ASSET : has
    CHAIN ||--|{ CHAIN_ASSET : has
    CHAIN }o--o{ PROJECT : has
    PROJECT }|--|{ PROJECT_CATEGORY : belongs
    CHAIN_PROVIDER }|--|| CHAIN : has
    PROJECT }o--o{ CHAIN_ASSET: has
Loading

Note: The current interfaces and json files do not necessarily follow this exact schema. The schema demonstrates the abstraction and relationships of the data

Explanation

  • Chain: A blockchain, can be Polkadot, Kusama, Ethereum,...
  • EVM_Chain, SUBSTRATE_CHAIN: blockchain type, contains technical information about a blockchain, a blockchain can be a mix between many types
  • Chain asset: a token, NFT collection,... that originates from a blockchain
  • Multichain asset: a high-level abstraction representation of an asset across many blockchains, it might have an on-chain origin or not
  • Asset reference: showing path in which an asset can be converted to another
  • Project: products for end-user building upon a blockchain, can be a dApp, a media team,...

Please refer to this guide to start contributing to the project

subwallet-chainlist's People

Contributors

s2kael avatar saltict avatar nampc1 avatar bluezdot avatar hieudd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.