Giter Club home page Giter Club logo

keplr-chain-registry's Introduction

Warning

PLEASE RUN THE COMMANDS BELOW TO VERIFY CONFIGURATION IN YOUR LOCAL ENVIRONMENT BEFORE SUBMITTING PULL REQUESTS.

# install node modules
yarn install

# validate your json file (ex. yarn validate cosmos/osmosis.json)
yarn validate cosmos/{your file.json}

READ THE GUIDELINES BELLOW CAREFULLY, PAYING PARTICULAR ATTENTION TO THE "features" IN THE [REQUIREMENT DETAILS].

Guidelines for Community-Driven Non-Native Chain Integration

Keplr team has always been at the leading edge of building secure and interoperable wallet infrastructure for the blooming cross-chain networks, placing its core mainly at the Cosmos ecosystem.

To help the builders easily plug into Keplr’s wide userbase and the ever-growing Cosmos ecosystem, Keplr has been offering an option of permissionless integration, the so-called “Suggest Chain (Non-Native Chain) Integration”. The feature has enabled front-ends to request adding new Cosmos-SDK-based blockchains that aren’t natively integrated into the Keplr extension.

Keplr team is now introducing a Community-Driven Integration, which enables our users to easily make a request for adding new chains and updating their information. It's an expanded version of the previous suggest chain integration, providing a public API to our users for creating and updating a set integration standard for each chain.

To make a pull request, please carefully read and follow the guidelines below. Any contribution is more than welcome!

Requirements and Preparation

This section outlines the basic information that is required for registering a chain to Keplr wallet. Please note that your request does not always guarantee integrations and updates; upon your submission, Keplr team will go through a minimal verification process to see if there is any security issue or any missing information.

Once approved, the Keplr browser extension will show the tag “Community-Driven” on the chain connection page, to let the users be aware that the integration was requested and implemented by the community and the Keplr team has gone through the verification process.

Sample Image

Chain Registration Directory Structure

chainID is consisted of ({identifier}-{version}). chain-identifier therefore refers to a text identifier of a chain that comes before its version number. For example:

  The chain-identifier of `cosmoshub-4` is `cosmoshub`.
  The chain-identifier of `crypto-org-chain-mainnet-1` is `crypto-org-chain-mainnet`.
  The chain-identifier of `evmos_9001-2` is `evmos_9001`.
  The chain-identifier of 'shentu-2.2' is 'shentu-2.2'.

Here’s an overview of the structure of the directory. Please provide the information and files complying with the requirements.

.
├── cosmos                       # Mainnet
│     ├── cosmoshub.json         # Chains (Each file should be named `{chain-identifier}.json')
│     ├── osmosis.json
│     └── ...
└── images                       # Collection of image assets
      ├── cosmoshub              # Image assets of Comos Hub (Each directory should be named `{chain-identifier}`.)
      │     └── chain.png        # Cosmos Hub Logo(png, 256x256px)
      ├── osmosis                # Image assets of Osmosis
      └── ...

Chain Registration Form

{
  "chainId": "osmosis-1",
  "chainName": "Osmosis",
  "chainSymbolImageUrl": "https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/osmosis/chain.png",
  "rpc": "https://rpc-osmosis.blockapsis.com",
  "rest": "https://lcd-osmosis.blockapsis.com",
  "nodeProvider": {
    "name": "Blockapsis",
    "email": "[email protected]",
    "website":"https://blockapsis.com/"
  },
  "bip44": {
    "coinType": 118
  },
  "bech32Config": {
    "bech32PrefixAccAddr": "osmosis",
    "bech32PrefixAccPub": "osmosispub",
    "bech32PrefixValAddr": "osmosisvaloper",
    "bech32PrefixValPub": "osmosisvaloperpub",
    "bech32PrefixConsAddr": "osmosisvalcons",
    "bech32PrefixConsPub": "osmosisvalconspub"
  },
  "currencies": [
    {
      "coinDenom": "OSMO",
      "coinMinimalDenom": "uosmo",
      "coinDecimals": 6,
      "coinGeckoId": "osmosis"
    }
  ],
  "feeCurrencies": [
    {
      "coinDenom": "OSMO",
      "coinMinimalDenom": "uosmo",
      "coinDecimals": 6,
      "coinGeckoId": "osmosis",
      "gasPriceStep": {
        "low": 0.01,
        "average": 0.025,
        "high": 0.03
      }
    }
  ],
  "stakeCurrency": {
    "coinDenom": "OSMO",
    "coinMinimalDenom": "uosmo",
    "coinDecimals": 6,
    "coinGeckoId": "osmosis"
  },
  "features": [
    "cosmwasm",
    "osmosis-txfees"
  ]
}

Requirement Details

  • chainId: chainId in a form of {identifier}-{version} (ex. cosmoshub-4)
  • chainName: the name of the chain that will be displayed on the wallet
  • chainSymbolImageUrl: Image URL of the chain.
  • rpc: URL of RPC endpoint of the chain
  • rest: URL of REST/API endpoint of the chain
  • nodeProvider: provide the details of the RPC/REST node providers
    • name: name of the node provider
    • email: email address of the node provider (To help other users reach out when there is an issue with the nodes’ status)
    • website(optional): website address of the node provider
  • walletUrlForStaking(optional): the URL where the users are directed when they click on Staking button of the Keplr Wallet
  • bip44: BIP-44 coin type (118 highly recommended)
  • bech32Config: prefix used at the beginning of the address
  • currencies: the list of the supported currencies. If your chain uses replicated security, please place your main native token at the top of the currencies list.
  • feeCurrencies: the list of the tokens that are accepted by the validators for fees
  • stakeCurrency: the staking token of the chain. Remove this item if your chain does not support native staking (e.g. your chain uses replicated security) or does not have a staking token.
  • coinGeckoId(optional): the active API ID for Keplr to get the price from CoinGecko
  • features: any other features that are additionally supported by the chain
    • cosmwasm: supports CosmWasm smart contracts
    • secretwasm: supports WASM smart contracts of Secret Network
    • eth-address-gen: supports EVM account generation
    • eth-key-sign: supports EVM signatures
    • axelar-evm-bridge: supports EVM bridge provided by Axelar Network
    • osmosis-txfees: supports paying fees in other currencies on Osmosis

NOTE:

  • please check if the chain information file is in JSON format.
  • Chain logos should be in PNG format in 256x256px resolution. Please also note that the images will be automatically cropped into a circle to be displayed on the wallet (See the sample image above)
  • RPC
    • Please check if the RPC node is not currently experiencing any issues/errors.
    • Please double-check if your chainId matches the RPC node’s chainId.
    • Check if websocket connection is open.
  • REST
    • Please check if the REST node is not currently experiencing any issues/errors.
    • Please double-check if your chainId matches the REST node’s chainId.
  • Please provide the CoinGecko ID only if the price for the token is available on CoinGecko.

keplr-chain-registry's People

Contributors

0xbobloblaw avatar blacktoast avatar codebycarson avatar delivan avatar dheerajkd30 avatar dogemos avatar dpdanpittman avatar editaahn avatar emperorjm avatar hacheigriega avatar heesungb avatar jafaraz avatar jcstein avatar jo-chainmasters avatar johnletey avatar kaisbaccour avatar kamal-sutra avatar kynraze avatar medvedcrypto avatar nsonanh avatar omniwired avatar saurabhfegade avatar shellvish avatar srikanthsoparla avatar sybilsingleton avatar thunnini avatar tomas-dora avatar wgil avatar williamchong avatar zygimantass avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

keplr-chain-registry's Issues

Incorrect gas value for gasPriceStep low

Under current gasPriceStep config (please refer to this file), the low step is set to 0.
Screenshot 2023-01-10 at 12 44 08 PM

However, when I tried to perform an IBC deposit from Comdex into Carbon using Keplr, this error is shown: it seems that Comdex does not allow users to pay 0 CMDX as fees.
Screenshot 2023-01-10 at 12 44 08 PM

As such, it would be good to change the low gasPriceStep to a non-zero value (i.e. I tried 0.0125 and it works). Thank you!

Lambda stuck in Keplr wallet unable to send

Hello, currently I have Lambda in my Keplr wallet but am unable to do anything with it except delegate it on the Restake app. I cannot deposit it to Osmosis, nor send it to other wallets. Below is my public address. Please advise. Thank you.

lamb1q2r7ag47a89hj3n5xh3x5g6q3wnxzkxhr9u82e

Feature Enhancement: show chain details in chains.keplr.app even if it is already added to Keplr Extension

hi, would recommend showing the chain details in https://chains.keplr.app/ , even if that chain's details are added to Keplr extension. Currently it only shows the list of chains not added to your keplr extension. This is required because if an older chain configuration is added, or a non-community maintained config is currently added, one should have to option to replace it with community-based chain config, without the need to remove it from keplr extension first. easier UX.

After upgrade, a chain reverted to another cointype

On keplr 1.0, when I added Vidulum as a custom chain, it prompted me if I wanted the 118 or 370 coin type. I chose 118.
After upgrading to Keplr 2.0, my vdl address is the 370 type now. I can't interact on the type 118 anymore.

How can I go about changing it so the vdl address comes from type 118?

Adding a chain already in the registry with a different CoinType

I was wondering if it would be possible to add an alternative connection to a chain with a different CoinType knowing there are users with staked funds in the "alternative" one that are not able to access them (after the first upgrade to Keplr v2).

My concern is that it would not be possible to add a .json with the same identifier and having an identifier other than the actual one would result in an error. Am I right?

For instance:

kaiyo.json
kaiyoalt.json

I can't add any testnet to the keplr wallet

OS:Windows 11 Home Chinese Edition
Browser:Google Chrome 126.0.6478.115

I can't add any testnet to the keplr wallet

After I click "Add to Keplr", it's loading
image

after loading... it becomes "Add to Keplr" again, and there was no other reaction to the keplr wallet extension
image

Add prysm testnet

Please add prysm testnet to chains.kelpr.app
For ease of engagement for its community

ELYS: Cannot see USDC/Cosmos as Fee

After merging #480 and reinstalling Keplr, I cannot see USDC/COSMOS as fee currency. I can however if I add the chain as suggested by the site rather than community driven.

Is there anything we have to do/wait for this to happen?

Chain identifier conflict between Akash and Nyx

Since about a week Keplr is no longer working with the Akash sandbox (chain id: sandbox-01). We traced down the issue to PR #291 which add the Nyx chain with a chain id of sandbox. I'm guessing the issue is caused by both chains having the same network identifier (sandbox). This causes keplr to return a Nyx address instead of an Akash one even if Akash Sandbox was previously added to keplr with the Suggest feature.

PR #485 was created to add Akash Sandbox to the keplr registry, but it's unclear how this duplicate identifier will be handled by Keplr. This is affecting Akash users since they can no longer deploy and manage their deployment using the browser.

Cannot add XPLA to keplr

Added XPLA via https://chains.keplr.app, but after that, Search Chains in https://wallet.keplr.app doesn't show it.
Then, when adding a wallet and Cosmos chains, keplr says that EVM chains can be added at the next step, and in that step it only shows Evmos and Injective, not XPLA.
After that, going to https://wallet.keplr.app/chains/xpla, it says No token in this wallet. and Oops, We can't find this chain.
Is something wrong? XPLA is already added to this registry: https://github.com/chainapsis/keplr-chain-registry/blob/main/cosmos/dimension_37.json

Keplr Pop-Up Not Working

Keplr pop-up stopped working after upgrading to 2.0. When "Connect" is clicked on a dapp the Keplr pop-up to confirm / sign does not come.

I've tried enabling pop-ups, clearing cache, enabling cookies, disabling other wallet extensions, and even uninstalled / reinstalled Keplr + web browsers (Chrome + Brave).

Issue

Can't add nillion chain in Keplr wallet

Can't register different test chain.

{
chainID: 'chain-1',
name: 's-1',
prefix: 'test1',
rpcUrl: 'http://45.63.52.25:26657',
restUrl: 'http://45.63.52.25:1317',
denom: 'test',
},
{
chainID: 'chain-2',
name: 'sidechain-2',
prefix: 'test2',
rpcUrl: 'http://xx.xx.xx:26657',
restUrl: 'http://xx.xx.xx:1317',
denom: 'test2',
},

I want to add two chains. so-called this. it is possible only register any one chain

await keplr.experimentalSuggestChain(chainInfo);```
it doesn't trigger new chain register. 

There is a mnemonic and an address, but the wallet does not display

Who may have encountered this?
There is an address and a mnemonic from this address, but when imported into any wallet of the cosmos ecosystem (keplr, lip, fet. cosmostation), this address is not displayed. If anyone has encountered this, how did you solve it?
The mnemonic was imported into Kepler and only the old addresses of the SIFchain and TORI blockchain are displayed. all others are new. That is, all the old addresses are missing, eumos, juno, atom, osmosis, bitsong, bitkana.
Clarification: in 10.2020, a wallet was created on an Android smartphone. and everything is fine there now, the addresses are available for signing the transaction.
Clarification: I imported the seed into the ledger, only SifChain and Tory are displayed, but the rest are not! I connected the ledger to all wallets (Keplr, Leap, Cosmostation, FetChain, Forbole, Metamsk. Only SIFchain, TORI are displayed. The new address, empty, was not displayed on Metamask injective.

Register IBC coin

Over the last weeks, Neokingdom DAO (an EVMOS based project) passed a proposal to register its ERC20 token as an IBC coin in the cosmos ecosystem

https://app.evmos.org/governance?id=144

Now we would like to see this Coin properly displayed on the Keplr wallet. Currently the wallet displays the raw IBC metadata and the wrong decimal units. See the two screenshots of a IBC NEOK coin in the Crescent blockchain.

Screenshot 2023-05-26 at 15 39 42 Screenshot 2023-05-26 at 15 39 33

Reading through the doc of this repository, it seems that it's only possible to register a new chain. Question is: how could we make sure we can also properly display the information related to our IBC coin that is just an ERC20 token on EVMOS?

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.