Giter Club home page Giter Club logo

app-registry's Introduction

Logo

Lisk Application Registry

Welcome to the Lisk Application Registry. The repository contains off-chain metadata for applications developed based on the Lisk SDK and any other applications that are compatible with the Lisk Protocol. Each application will include the app.json containing the blockchain application-specific metadata and nativetokens.json containing metadata about the application's native tokens.

Repository Structure

The blockchain application metadata is arranged in the following structure:
{network}/{application}, such as mainnet/Lisk.

The repository currently supports adding off-chain application metadata for the following networks:

  • mainnet
  • testnet
  • devnet

App JSON

app.json contains high-level metadata about a specific blockchain application, such as the chainName corresponding to an existing chainID. It also supplies information regarding the application's genesis block (genesisURL), seed nodes (appNodes), corresponding Lisk Service deployments (serviceURLs), explorers and more. This information makes it easy to bootstrap a new node in the network or interact with an existing node.

All the app.json files within the repository must adhere to the schema specified here.

Example: mainnet/Lisk/app.json

Important information:

  • All the specified URLs in app.json (i.e. genesisURL, appNodes, and serviceURLs, etc.) are validated in real-time. Hence, please ensure that they are valid and reachable at the time of submission.
  • Prior to the metadata submission, please ensure that the Lisk applications are registered on the Lisk mainchain and vice-versa.
  • For logos pointing to app-registry GitHub URL, use the main branch in the URL to ensure working functionality after PR merge. All logos submitted need to adhere to 64px x 64px resolution.
  • For mainnet and testnet submissions, it is necessary that all the API deployments are secured with SSL/TLS.
  • For every SSL/TLS secured API deployment (i.e. for appNodes, and serviceURLs), it is mandatory to specify the apiCertificatePublicKey.
    1. In case you need support in extracting the public key from your SSL/TLS certificate, you can use one of the following methods:
      1. Using OpenSSL
      2. Using the NodeJS script
    2. In case you need support in extracting the public key from a URL, you can use the following method:
      1. Using the NodeJS script

Native Tokens JSON

nativetokens.json contains metadata about the blockchain application's native tokens, which enables token discoverability across the Lisk ecosystem and for community tools.

All the nativetokens.json files within the repository must adhere to the schema specified here.

Example: mainnet/Lisk/nativetokens.json

Important information:

  • Prior to the metadata submission, please ensure that the Lisk applications are registered on the Lisk mainchain and vice-versa.
  • For logos pointing to app-registry GitHub URL, use the main branch in the URL to ensure working functionality after PR merge. All logos submitted need to adhere to 64px x 64px resolution.

Logo Images

We recommend that all the svg and png format logo images added to the repository adhere to the following resolution: 64px x 64px.

We also recommend that all the images are stored directly under the application's directory in the images subdirectory.

Example: mainnet/Lisk/images/application/lisk.svg

Contributing

To contribute to the application registry with the metadata for your blockchain application, please fork this repository and submit a Pull Request with the necessary changes. Before submitting a PR, please read through the Repository Structure section.

This app-registry was inspired by Cosmos Chain Registry.

Contributors

https://github.com/LiskHQ/app-registry/graphs/contributors

License

Copyright 2016-2024 Lisk Foundation

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

app-registry's People

Contributors

vardan10 avatar sameersubudhi avatar nagdahimanshu avatar manugowda avatar daniel-lightcurve avatar

Stargazers

 avatar

Watchers

Juan Gonzalez avatar  avatar shuse2 avatar Franco NG avatar Abhishek Jalan avatar Muhammad Talha avatar Tony Morinello avatar Alessandro Ricottone avatar Eniola Olatunji avatar  avatar  avatar

app-registry's Issues

Update images for Lisk

Description

Update the application/token logos for Lisk.

Acceptance Criteria

  • Images/Logos are updated for Lisk for all the networks

Add contributions information to the README

Description

Currently, the README doesn't provide instructions for the users to submit a PR with the off-chain information for the sidechain applications.

Acceptance Criteria

  • The contributions section in the README is updated with proper instructions for users to submit a PR

Additional Information

Ref: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork

Add Lisk Core betanet metadata specs

Description

Add Lisk Core metadata specifications for the Betanet in accordance with schema/app.json and schema/nativetokens.json.

Acceptance Criteria

  • The following config files are created in accordance to the schemas mentioned above:
    • betanet/lisk-core/app.json
    • betanet/lisk-core/nativetokens.json
  • The image assets are added to betanet/lisk-core/images/{logo, tokens} in PNG/SVG format and their path is updated in the above config files

Additional Information

Update service endpoints in app metadata

Description

Replace the IPs for the Lisk Service deployments for all the (mainchain/sidechain) applications

Acceptance Criteria

  • The IPs in application metadata are up-to-date

Update README

Description

The README file should contain all the relevant information about the repository.

Acceptance Criteria

  • The repo banner is added to the README
  • The README describes the purpose of the repository
  • It explains the structure of the repository
  • It explains the expected files each application should contain
  • It explicitly states the of the image asset specifications (size/resolution)
    • Recommendation: 64px x 64px
  • It references and explains the schemas to be adhered to for adding the config files for the blockchain applications
  • It explains the approach to be followed by the users to add new/update existing configurations for the blockchain applications

Update images

Description

The images served by the app-registry must adhere to 64px x 64px resolution.

Acceptance Criteria

  • Update all the image assets for Lisk application in the following networks to serve the images in correct resolution:
    • devnet
    • alphanet
    • betanet

Fix tokens metadata config for Lisk

Description

nativetokens.json for Lisk for all the currently available networks (devnet/alphanet/betanet) is erroneous.

Acceptance Criteria

  • Ensure displayDenom value is always available as an exact match in [denomUnits].denom

Expose devnet/alphanet application metadata

Description

Lisk Wallet (Desktop/Mobile) requires application metadata during development(dev/alpha) stage.

Acceptance Criteria

  • Lisk Mainchain: Expose app.json and nativetokens.json for devnet and alphanet

Rename name to tokenName

Description

Rename name to tokenName in schema/nativetokens.json to keep it consistent with other properties such as chainID, chainName and tokenID.

Acceptance Criteria

  • name is renamed to tokenName in the following files
    • schema/nativetokens.json
    • betanet/Lisk/nativetokens.json
  • tokenID for LSK is updated to 0000000000000000 in betanet/Lisk/nativetokens.json
  • Banner is added to the README file

Add metadata for sidechains

Description

Lisk Wallet (Desktop/Mobile) requires application metadata during development(dev/alpha) stage.

Acceptance Criteria

  • Enevti: Expose app.json and nativetokens.json for devnet and alphanet

Fix CI logo URL validation logic

Expected behavior

The CI when validating the logo URLs must consider the following:

  • If the specified logo URL is external to GitHub, perform normal validation
  • If the specified logo URL is pointing to GitHub repo
    • It must be in the app-registry repo only
    • If the URL points to the main branch, first check if the images are available on the current PR
    • If not, check on the main branch
    • If it doesn't exist anywhere, throw a validation error
    • If it exists on the PR, if possible, validate the image resolution to match the recommended resolution of 64px x 64px

Actual behavior

It blindly validates for the specified URL and fails the CI for first time metadata submissions with URLs pointing to the app-registry GH repo on the main branch

Steps to reproduce

Which version(s) does this affect? (Environment, OS, etc...)

NA

Additional Information

  • Update documentation to highlight the following as important information:
    • All the specified deployments must the available: appNodes, Lisk Service URLs
    • The sidechains must be registered on the mainchain before the metadata submission
    • If the logos are pointing to GitHub it must be in the app-registry repo

Add metadata for sidechain

Description
Lisk Wallet requires additional sidechain application metadata for testing.

Acceptance Criteria
bloc Lite: Expose app.json and nativetokens.json for testnet

Add mainnet metadata for Lisk Core

Description

Add Lisk Core metadata specifications for the Mainnet in accordance with schema/app.json and schema/nativetokens.json.

Acceptance Criteria

  • The following config files are created in accordance to the schemas mentioned above:
    • mainnet/lisk-core/app.json
    • mainnet/lisk-core/nativetokens.json
  • The image assets are added to mainnet/lisk-core/images/{logo, tokens} in PNG/SVG format and their path is updated in the above config files

Add testnet metadata for Lisk Core

Description

Add Lisk Core metadata specifications for the Testnet in accordance with schema/app.json and schema/nativetokens.json.

Acceptance Criteria

  • The following config files are created in accordance to the schemas mentioned above:
    • testnet/lisk-core/app.json
    • testnet/lisk-core/nativetokens.json
  • The image assets are added to testnet/lisk-core/images/{logo, tokens} in PNG/SVG format and their path is updated in the above config files

Validate secured service URLs based on their certificate

Description

Add a validation to check if service urls provided have a valid certificate.

Motivation

Enforce the users to submit secured deployments.

Acceptance Criteria

  • Validate certificate of service URLs
  • Update schema to specify displayName

Improve GitHub Actions workflow

Description

Currently, the GitHub actions fail if a PR modifies any file apart from the config files. It shouldn't fail if a PR contains other necessary changes submitted by a team member.

Acceptance Criteria

  • The modified file whitelist validation must be bypassed if the PR author belongs to the development team
  • All the validation checks are performed regardless of their success status
  • All the errors must be collected and presented at the end of all the validation checks

Add metadata for sidechain

Description

Lisk Wallet requires additional sidechain application metadata for testing.

Acceptance Criteria

  • Colecti: Expose app.json and nativetokens.json for devnet and alphanet

Add metadata for sidechain - DEX

Description

Lisk Wallet requires additional Dex sidechain application metadata for testing.

Acceptance Criteria

Dex: Expose app.json and nativetokens.json for testnet

PR validation does not execute as intended

Expected behavior

When an external user forks the repository and submits a PR, the CI should execute completely.

Actual behavior

The CI does not fully execute when submitting a PR from a forked repository against the main branch.

Run tspascoal/get-user-teams-membership@v2
Error: Input required and not supplied: GITHUB_TOKEN
    at getInput (/home/runner/work/_actions/tspascoal/get-user-teams-membership/v2/dist/index.js:1:3790)
    at run (/home/runner/work/_actions/tspascoal/get-user-teams-membership/v2/dist/index.js:7:331829)
    at /home/runner/work/_actions/tspascoal/get-user-teams-membership/v2/dist/index.js:7:331759
    at /home/runner/work/_actions/tspascoal/get-user-teams-membership/v2/dist/index.js:7:332996
    at Object.<anonymous> (/home/runner/work/_actions/tspascoal/get-user-teams-membership/v2/dist/index.js:7:333035)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
Error: Input required and not supplied: GITHUB_TOKEN

Ref: https://github.com/LiskHQ/app-registry/actions/runs/5635883389/job/15273194711?pr=33

Steps to reproduce

  • Fork the repository and submit a PR against app-registry's main branch

Which version(s) does this affect? (Environment, OS, etc...)

main branch

Add GitHub Actions workflow

Description

Add a GitHub Actions workflow to perform automated validations for new PRs.

Acceptance Criteria

  • The newly added GitHub Actions workflow is triggered with every new PR
  • The following validations are carried out:
    • Validate if the necessary config files are present in the root directory (app.json and native token.json)
    • Validate to ensure that no additional JS files are present in the submission unless whitelisted
    • Validate the submission against the established schema
    • Validate the chain information against on-chain? E.g Check the chainID of the serviceURL against the on-chain data by querying the on-chain endpoint

Additional Information

Add additional betanet metadata specs

Description

Add metadata specifications for other applications for the Betanet in accordance with schema/app.json and schema/nativetokens.json.

Acceptance Criteria

  • Create the config files for the following applications:
    • dpos-chain
    • TODO
  • The following config files are created in accordance with the schemas mentioned above:
    • betanet/<app-name>/app.json
    • betanet/<app-name>/nativetokens.json
  • The image assets are added to betanet/<app-name>/images/{logo, tokens} in PNG/SVG format and their path is updated in the above config files

Additional Information

Update copyright

Description

Update copyright

Acceptance Criteria

Copyright 2016-2024 Lisk Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Create scripts for GitHub Actions

Description

Create scripts necessary to for verifications. These scripts need to be executed when running the GitHub Actions.

Acceptance Criteria

  • The script(s) for the following are created
    • Validate if the necessary config files are present in the root directory (app.json and native token.json)
    • Validate to ensure that no additional JS files are present in the submission unless whitelisted
    • Validate the submission against the established schema
    • Validate the chain information against on-chain? E.g Check the chainID of the serviceURL against the on-chain data by querying the on-chain endpoint

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.