Giter VIP home page Giter VIP logo

starknet-meta's Introduction

starknet-meta

Starknet dApps metadata repository.

Goals

๐Ÿ” API-first metadata repository: Prioritize seamless integration of Starknet dApp metadata, assets, and textual data for developers.

๐ŸŒŸ Reliable dApp assets and metadata resource: Provide a reliable source for both dApp textual metadata and common visual assets, catering to developers' needs.

๐ŸŒ‰ Contract addresses repository: Offer a dependable resource for dApp contract addresses across Starknet networks.

๐Ÿ› ๏ธ Use Cases

๐Ÿ“ Contract address validation for protocols: Enable protocols to verify which contracts are associated with a dApp.

๐ŸŒŽ API-first dApp discovery: Enable dApp aggregators to efficiently find, list, and showcase new dApps in the Starknet ecosystem using an API-first approach.

How to submit a new project

To add a new dApp to starknet-meta, follow these steps:

  1. Fork the starknet-meta repository.
  2. Create a new folder under the /repository directory, using the desired id for the new project as the folder name.
  3. Add a metadata.json file to the new folder, following the JSON schema rules described below (you can easily validate your changes by executing validator.js).
  4. Add an icon image file to the new folder. The icon must be square and up to 1 MB in size. Supported formats are PNG, JPEG, SVG, and WebP.
  5. Add a cover image file to the new folder. The cover image must be up to 1500x500px in size and have a 0.33 aspect ratio. Supported formats are PNG, JPEG, SVG, and WebP.
  6. Create a pull request to the starknet-meta repository with your changes.

JSON schema rules

Property Description Example
id A unique string identifier for the project "my_project"
displayName A string containing the project's display name (up to 50 characters, ASCII only). "My Project"
description A string containing the project's description (up to 300 characters, ASCII only). "This is a description of my project."
host A string containing a valid URL host name (one URL for all supported networks),
or an object with network-name keys and an optional others key to non-specified network support.
"example.com" // will be used by all networks

- or -

{"mainnet-alpha": "example.com", "goerli-alpha": "testnet.example.com"}

- or - "others" covers for all non mainnet-alpha networks:

{"others": "test.example.com", "mainnet-alpha": "app.example.com"}
contracts An array of contract objects with tag, addresses, and optional implements properties.

Please make sure to include all known addresses, including historical/deprecated ones, since protocols may require this information to verify historical interactions with old/deprecated contracts. To differentiate between current and historical addresses, you can either use different objects with distinct tags (e.g., "router_old", "router_current") or list them all under a single object (e.g., "router") within an array of addresses sorted from old to new. i.e.: [{ "tag": "router", "addresses": ["0x123..." (old), "0x456..." (deprecated), "0x789" (current)] }]
[{ "tag": "myswap_liquidity_tokens", "implements": ["erc20"], "addresses": { "mainnet-alpha": ["0x123..."] } }]
categories An array of strings, each representing a category to which the project belongs. The categories should be the values from the enumeration defined in the JSON schema. ["nft", "defi"]

Please ensure that your submission adheres to the schema rules and asset requirements. Use the validator.js script to validate your changes before submitting a PR.

Updating an existing project

To update an existing dApp project, follow the same steps as submitting a new dApp, but modify the existing project folder in the /repository directory:

  1. Fork the starknet-meta repository.
  2. Locate the project folder under the /repository directory, using the id of the project you want to update.
  3. Update the metadata.json file in the project folder if necessary, following the JSON schema rules described below (you can easily validate your changes by executing validator.js).
  4. Update the icon image file in the project folder if necessary. The icon must be square and up to 1 MB in size. Supported formats are PNG, JPEG, SVG, and WebP.
  5. Update the cover image file in the project folder if necessary. The cover image must be up to 1500x500px in size and have a 0.33 aspect ratio. Supported formats are PNG, JPEG, SVG, and WebP.
  6. Create a pull request to the starknet-meta repository with your changes.

Authors

License

MIT

starknet-meta's People

Contributors

0xmentornotapseudo avatar 0xsidius avatar actions-user avatar avimak avatar cantlee avatar clementwalter avatar darrenbao1 avatar davevodrazka avatar dev-ninth avatar filenko45 avatar florian-bellotti avatar fricoben avatar pei-zklend avatar rmzlb avatar robwalsh21 avatar semantic-release-bot avatar tobbykitty avatar wraitii 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.