diff --git a/chains/README.md b/chains/README.md new file mode 100644 index 00000000..fece76f4 --- /dev/null +++ b/chains/README.md @@ -0,0 +1,61 @@ +# Directory Layout + +**We accept all blockchains which have 10+ independent validators.** + +- Submit configs for mainnet, go to https://github.com/ping-pub/explorer/tree/master/chains/mainnet + +- Submit configs for testnet, go to https://github.com/ping-pub/explorer/tree/master/chains/testnet + +# Sample of Config + +```json +{ + "chain_name": "cosmos", + "api": [ + { + "address": "https://cosmos.api.ping.pub", + "provider": "Ping" + } + ], + "rpc": [ + { + "address": "https://cosmos.api.ping.pub", + "provider": "Ping" + } + ], + "sdk_version": "0.42.6", + "coin_type": "118", + "min_tx_fee": "800", + "assets": [{ + "base": "uatom", + "symbol": "ATOM", + "exponent": "6", + "coingecko_id": "cosmos", + "logo": "https://dl.airtable.com/.attachments/e54f814bba8c0f9af8a3056020210de0/2d1155fb/cosmos-hub.svg" + }], + "addr_prefix": "cosmos", + "theme_color": "#ce4747", + "logo": "https://dl.airtable.com/.attachments/e54f814bba8c0f9af8a3056020210de0/2d1155fb/cosmos-hub.svg" +} +``` +- **chain_name** the name to identify the chain on ping.pub, would be better to use the same one as regitstry +- **api** the rest api endpoint.(make sure that CORS is enabled: `Allow-Control-Allow-Origin: *`) +- **rpc** the rpc endpoint, make sure that the port is added. rpc endpoint is only used for state sync. it's optional. +- **assets** Native Assets on blockchain. + +Endpoint providers will be listed in the "Popular" tab of the staking. + +# Test + +please add these check points in comments with your PR, and adding your test result by clicking the checkbox of each line +``` +Test Result: +- [ ] Connect wallet, check if address is correct? +- [ ] Transfer +- [ ] Delegate +- [ ] Redelegate +- [ ] Unbond +- [ ] withdraw Validator's Commission +- [ ] withdraw Rewards +``` +Test is very important for us and our users. diff --git a/chains/mainnet/8ball.json b/chains/mainnet/8ball.json index a937ad93..c53d20bc 100644 --- a/chains/mainnet/8ball.json +++ b/chains/mainnet/8ball.json @@ -3,12 +3,13 @@ "coingecko": "", "api": [ "https://rest.8ball.info", - "https://api-8ball.nodeist.net" - + "https://api-8ball.nodeist.net", + "https://api.8ball.nodestake.top" ], "rpc": [ "https://rpc.8ball.info", - "https://rpc-8ball.nodeist.net" + "https://rpc-8ball.nodeist.net", + "https://rpc.8ball.nodestake.top" ], "snapshot_provider": "", "coin_type": "118", diff --git a/chains/mainnet/aura.json b/chains/mainnet/aura.json index 507a83d0..f2da38d1 100644 --- a/chains/mainnet/aura.json +++ b/chains/mainnet/aura.json @@ -1,11 +1,15 @@ { "chain_name": "aura", "coingecko": "aura-network", - "api": ["https://lcd.aura.network"], + "api": [ + "https://lcd.aura.network", + "https://api.aura.nodestake.top" + ], "rpc": [ "https://rpc.aura.network:443", "https://snapshot-1.aura.network:443", - "https://snapshot-2.aura.network:443" + "https://snapshot-2.aura.network:443", + "https://rpc.aura.nodestake.top" ], "snapshot_provider": "", "sdk_version": "0.45.11", diff --git a/chains/mainnet/chain4energy.json b/chains/mainnet/chain4energy.json index 2b5e72e9..9b23233e 100644 --- a/chains/mainnet/chain4energy.json +++ b/chains/mainnet/chain4energy.json @@ -1,7 +1,7 @@ { "chain_name": "chain4energy", - "api": ["https://lcd.c4e.io"], - "rpc": ["https://rpc.c4e.io:443", "https://rpc.c4e.io:443"], + "api": ["https://lcd.c4e.io","https://api.c4e.nodestake.top"], + "rpc": ["https://rpc.c4e.io:443", "https://rpc.c4e.io:443","https://rpc.c4e.nodestake.top"], "sdk_version": "0.45.5", "coin_type": "4444", "min_tx_fee": "3000", diff --git a/chains/mainnet/composable.json b/chains/mainnet/composable.json index ebcd419f..8a5013b2 100644 --- a/chains/mainnet/composable.json +++ b/chains/mainnet/composable.json @@ -1,7 +1,7 @@ { "chain_name": "Composable", - "api": ["https://composable-api.polkachu.com"], - "rpc": ["https://composable-rpc.polkachu.com"], + "api": ["https://composable-api.polkachu.com","https://api.composable.nodestake.top"], + "rpc": ["https://composable-rpc.polkachu.com","https://rpc.composable.nodestake.top"], "coingecko": "", "snapshot_provider": "", "sdk_version": "0.47.1", diff --git a/chains/mainnet/cosmos.json b/chains/mainnet/cosmos.json index 7376c77f..2bd61064 100644 --- a/chains/mainnet/cosmos.json +++ b/chains/mainnet/cosmos.json @@ -2,16 +2,20 @@ "chain_name": "cosmos", "registry_name": "cosmoshub", "api": [ - "https://api-cosmoshub-ia.cosmosia.notional.ventures", - "https://lcd-cosmoshub.blockapsis.com:443", - "https://lcd-cosmoshub.whispernode.com:443", - "https://api-cosmoshub.pupmos.network", - "https://cosmos-rest.publicnode.com", - "https://cosmos-rest.staketab.org", - "https://api.cosmos.nodestake.top", - "https://rest-cosmoshub.goldenratiostaking.net" + {"provider": "notional", "address": "https://api-cosmoshub-ia.cosmosia.notional.ventures"}, + {"provider": "blockapsis", "address": "https://lcd-cosmoshub.blockapsis.com:443"}, + {"provider": "WhisperNode🤐", "address": "https://lcd-cosmoshub.whispernode.com:443"}, + {"provider": "pupmos", "address": "https://api-cosmoshub.pupmos.network"}, + {"provider": "publicnode", "address": "https://cosmos-rest.publicnode.com"}, + {"provider": "staketab", "address": "https://cosmos-rest.staketab.org"}, + {"provider": "nodestake", "address": "https://api.cosmos.nodestake.top"}, + {"provider": "Golden Ratio Staking", "address": "https://rest-cosmoshub.goldenratiostaking.net"} + ], + "rpc": [ + {"provider": "icycro", "address": "https://cosmos-rpc.icycro.org"}, + {"provider": "dragonstake", "address": "https://rpc.cosmos.dragonstake.io"}, + {"provider": "Golden Ratio Staking", "address": "https://rpc-cosmoshub.goldenratiostaking.net"} ], - "rpc": ["https://rpc.cosmos.network:443", "https://cosmos-rpc.icycro.org", "https://rpc.cosmos.dragonstake.io", "https://rpc-cosmoshub.goldenratiostaking.net"], "sdk_version": "0.45.1", "coin_type": "118", "min_tx_fee": "800", diff --git a/chains/mainnet/fxcore.json b/chains/mainnet/fxcore.json new file mode 100644 index 00000000..4b8bec3f --- /dev/null +++ b/chains/mainnet/fxcore.json @@ -0,0 +1,35 @@ +{ + "chain_name": "fxcore", + "api": [ + "https://fx-rest.functionx.io" + ], + "rpc": [ + "https://fx-json.functionx.io:26657" + ], + "snapshot_provider": "", + "sdk_version": "v0.46.13", + "coin_type": "60", + "min_tx_fee": "500000000000000000", + "assets": [ + { + "base": "FX", + "symbol": "FX", + "exponent": "18", + "coingecko_id": "fx-coin", + "logo": "/logos/fxcore.svg" + } + ], + "addr_prefix": "fx", + "logo": "/logos/fxcore.svg", + "keplr_price_step": { + "low": 4000000000000, + "average": 4000000000000, + "high": 4100000000000 + }, + "keplr_features": [ + "ibc-transfer", + "ibc-go", + "eth-address-gen", + "eth-key-sign" + ] +} \ No newline at end of file diff --git a/chains/mainnet/gitopia.json b/chains/mainnet/gitopia.json index 83422049..8d0541fb 100644 --- a/chains/mainnet/gitopia.json +++ b/chains/mainnet/gitopia.json @@ -1,8 +1,8 @@ { "chain_name": "gitopia", "coingecko": "", - "api": ["https://gitopia-api.polkachu.com"], - "rpc": ["https://gitopia-rpc.polkachu.com"], + "api": ["https://gitopia-api.polkachu.com","https://api.gitopia.nodestake.top"], + "rpc": ["https://gitopia-rpc.polkachu.com","https://rpc.gitopia.nodestake.top"], "snapshot_provider": "", "sdk_version": "0.46.12", "coin_type": "118", @@ -16,4 +16,4 @@ "coingecko_id": "", "logo": "/logos/gitopia.png" }] -} \ No newline at end of file +} diff --git a/chains/mainnet/haqq.json b/chains/mainnet/haqq.json index 95f74724..6ecbbbb5 100644 --- a/chains/mainnet/haqq.json +++ b/chains/mainnet/haqq.json @@ -1,8 +1,8 @@ { "chain_name": "haqq", "coingecko": "", - "api": ["https://rest.cosmos.haqq.network/", "https://m-s1-sdk.haqq.sh"], - "rpc": ["https://rpc.tm.haqq.network/", "https://m-s1-tm.haqq.sh"], + "api": ["https://rest.cosmos.haqq.network/", "https://m-s1-sdk.haqq.sh","https://api.haqq.nodestake.top"], + "rpc": ["https://rpc.tm.haqq.network/", "https://m-s1-tm.haqq.sh","https://rpc.haqq.nodestake.top"], "snapshot_provider": "", "sdk_version": "0.46.10", "coin_type": "60", diff --git a/chains/mainnet/humans.json b/chains/mainnet/humans.json index 6f28cea0..1103f162 100644 --- a/chains/mainnet/humans.json +++ b/chains/mainnet/humans.json @@ -1,7 +1,7 @@ { "chain_name": "humans", - "api":["https://api.humans-mainnet.stake-take.com"], - "rpc":["https://rpc.humans-mainnet.stake-take.com"], + "api":["https://api.humans-mainnet.stake-take.com","https://api.humans.nodestake.top"], + "rpc":["https://rpc.humans-mainnet.stake-take.com","https://rpc.humans.nodestake.top"], "snapshot_provider": "", "sdk_version": "0.46.3", "coin_type": 60, diff --git a/chains/mainnet/kyve.json b/chains/mainnet/kyve.json index 2229f8f9..cdbb52af 100644 --- a/chains/mainnet/kyve.json +++ b/chains/mainnet/kyve.json @@ -1,7 +1,7 @@ { "chain_name": "kyve", - "api": ["https://api-explorer.kyve.network:443"], - "rpc": ["https://rpc-eu-1.kyve.network:443","https://rpc-us-1.kyve.network:443"], + "api": ["https://api-explorer.kyve.network:443","https://api.kyve.nodestake.top"], + "rpc": ["https://rpc-eu-1.kyve.network:443","https://rpc-us-1.kyve.network:443","https://rpc.kyve.nodestake.top"], "snapshot_provider": "", "sdk_version": "0.46.10", "coin_type": "118", @@ -15,4 +15,4 @@ }], "addr_prefix": "kyve", "logo": "/logos/kyve.svg" -} \ No newline at end of file +} diff --git a/chains/mainnet/migaloo.json b/chains/mainnet/migaloo.json index da84dc04..9153af72 100644 --- a/chains/mainnet/migaloo.json +++ b/chains/mainnet/migaloo.json @@ -3,11 +3,13 @@ "coingecko": "white-whale", "api": [ "https://migaloo-api.polkachu.com", - "https://api.migaloo.silknodes.io" + "https://api.migaloo.silknodes.io", + "https://api.whitewhale.nodestake.top" ], "rpc": [ "https://migaloo-rpc.polkachu.com/:443", - "https://rpc.migaloo.silknodes.io" + "https://rpc.migaloo.silknodes.io", + "https://rpc.whitewhale.nodestake.top" ], "snapshot_provider": "", "coin_type": 118, diff --git a/chains/mainnet/neutron.json b/chains/mainnet/neutron.json index 1d8707c8..64f6a502 100644 --- a/chains/mainnet/neutron.json +++ b/chains/mainnet/neutron.json @@ -1,7 +1,7 @@ { "chain_name": "neutron", - "api": ["https://neutron-api.polkachu.com/"], - "rpc": ["https://neutron-rpc.polkachu.com/"], + "api": ["https://neutron-api.polkachu.com/","https://api.neutron.nodestake.top"], + "rpc": ["https://neutron-rpc.polkachu.com/","https://rpc.neutron.nodestake.top"], "provider_chain": { "api": ["https://api-cosmoshub-ia.cosmosia.notional.ventures"] }, diff --git a/chains/mainnet/nois.json b/chains/mainnet/nois.json index 0751750b..4bcf596c 100644 --- a/chains/mainnet/nois.json +++ b/chains/mainnet/nois.json @@ -1,7 +1,7 @@ { "chain_name": "nois", - "api": ["https://nois-api.polkachu.com"], - "rpc": ["https://nois-rpc.polkachu.com"], + "api": ["https://nois-api.polkachu.com","https://api.nois.nodestake.top"], + "rpc": ["https://nois-rpc.polkachu.com","https://rpc.nois.nodestake.top"], "sdk_version": "0.45.14", "addr_prefix": "nois", "min_tx_fee": "5000", diff --git a/chains/mainnet/quasar.json b/chains/mainnet/quasar.json index 3b3b5d29..f5d0fc9e 100644 --- a/chains/mainnet/quasar.json +++ b/chains/mainnet/quasar.json @@ -1,8 +1,8 @@ { "chain_name": "Quasar", "coingecko": "", - "api": ["https://quasar-api.polkachu.com"], - "rpc": ["https://quasar-rpc.polkachu.com"], + "api": ["https://quasar-api.polkachu.com","https://api.quasar.nodestake.top"], + "rpc": ["https://quasar-rpc.polkachu.com","https://rpc.quasar.nodestake.top"], "sdk_version": "0.45.14", "coin_type": 118, "min_tx_fee": "8000", diff --git a/chains/mainnet/tenet.json b/chains/mainnet/tenet.json index c18c096f..5d03a58b 100644 --- a/chains/mainnet/tenet.json +++ b/chains/mainnet/tenet.json @@ -1,8 +1,8 @@ { "chain_name": "tenet", "coingecko": "tenet", - "api": ["https://app.rpc.tenet.org","https://tenet-api.lavenderfive.com"], - "rpc": ["https://tendermint-1.rpc.tenet.org:443","https://tendermint-2.rpc.tenet.org:443","https://tenet-rpc.lavenderfive.com"], + "api": ["https://app.rpc.tenet.org","https://tenet-api.lavenderfive.com","https://api.tenet.nodestake.top"], + "rpc": ["https://tendermint-1.rpc.tenet.org:443","https://tendermint-2.rpc.tenet.org:443","https://tenet-rpc.lavenderfive.com","https://rpc.tenet.nodestake.top"], "snapshot_provider": "", "sdk_version": "0.46.9-ledger", "coin_type": "60", diff --git a/chains/mainnet/terp.json b/chains/mainnet/terp.json index 71960b83..45d49eea 100644 --- a/chains/mainnet/terp.json +++ b/chains/mainnet/terp.json @@ -1,8 +1,8 @@ { "chain_name": "terp", "coingecko": "", - "api": ["https://lcd.terpnetwork.hexnodes.co"], - "rpc": ["https://rpc.terpnetwork.hexnodes.co"], + "api": ["https://lcd.terpnetwork.hexnodes.co","https://api.terp.nodestake.top"], + "rpc": ["https://rpc.terpnetwork.hexnodes.co","https://rpc.terp.nodestake.top"], "snapshot_provider": "", "sdk_version": "0.47.1", "coin_type": "118", diff --git a/chains/mainnet/uptick.json b/chains/mainnet/uptick.json index 3df2eee0..c21afb77 100644 --- a/chains/mainnet/uptick.json +++ b/chains/mainnet/uptick.json @@ -1,7 +1,8 @@ { "chain_id":"uptick_117-1", - "chain_name": "uptick-network-mainnet", - "api": "https://rest.uptick.network", + "chain_name": "uptick", + "api": ["https://rest.uptick.network", "https://api.uptick.nodestake.top" ], + "rpc": ["https://rpc.uptick.nodestake.top"], "sdk_version": "v0.46.0", "coin_type": "60", "min_tx_fee": "40000", @@ -16,4 +17,4 @@ "logo": "https://file.uptick.network/file/image/dNOLswid7dGe29CFhPp3Ow.png" } ] -} \ No newline at end of file +} diff --git a/chains/mainnet/whitewhale.json b/chains/mainnet/whitewhale.json index af5beab5..ce007a2b 100644 --- a/chains/mainnet/whitewhale.json +++ b/chains/mainnet/whitewhale.json @@ -1,7 +1,7 @@ { "chain_name": "whitewhale", - "api": ["https://whitewhale-api.polkachu.com:443"], - "rpc": ["https://whitewhale-rpc.polkachu.com:443"], + "api": ["https://whitewhale-api.polkachu.com:443","https://api.whitewhale.nodestake.top"], + "rpc": ["https://whitewhale-rpc.polkachu.com:443","https://rpc.whitewhale.nodestake.top"], "snapshot_provider": "", "sdk_version": "0.46.9", "coin_type": "118", diff --git a/chains/testnet/fxcore.json b/chains/testnet/fxcore.json new file mode 100644 index 00000000..f49458fe --- /dev/null +++ b/chains/testnet/fxcore.json @@ -0,0 +1,35 @@ +{ + "chain_name": "fxcore", + "api": [ + "https://testnet-fx-rest.functionx.io:1317" + ], + "rpc": [ + "https://testnet-fx-json.functionx.io:26657" + ], + "snapshot_provider": "", + "sdk_version": "v0.46.13", + "coin_type": "60", + "min_tx_fee": "500000000000000000", + "assets": [ + { + "base": "FX", + "symbol": "FX", + "exponent": "18", + "coingecko_id": "fx-coin", + "logo": "/logos/fxcore.svg" + } + ], + "addr_prefix": "fx", + "logo": "/logos/fxcore.svg", + "keplr_price_step": { + "low": 4000000000000, + "average": 4000000000000, + "high": 4100000000000 + }, + "keplr_features": [ + "ibc-transfer", + "ibc-go", + "eth-address-gen", + "eth-key-sign" + ] +} \ No newline at end of file diff --git a/public/logos/fxcore.svg b/public/logos/fxcore.svg new file mode 100644 index 00000000..f00ac8ab --- /dev/null +++ b/public/logos/fxcore.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/components/PaginationBar.vue b/src/components/PaginationBar.vue index 791574e5..11e714cb 100644 --- a/src/components/PaginationBar.vue +++ b/src/components/PaginationBar.vue @@ -37,7 +37,7 @@ function gotoPage(pageNum: number) {