forked from cerc-io/cosmos-explorer
Merge branch 'master' of https://github.com/ping-pub/explorer
This commit is contained in:
commit
b5104bde4d
@ -13,7 +13,7 @@
|
|||||||
"base": "ppica",
|
"base": "ppica",
|
||||||
"symbol": "PICA",
|
"symbol": "PICA",
|
||||||
"exponent": "12",
|
"exponent": "12",
|
||||||
"coingecko_id": "",
|
"coingecko_id": "picasso",
|
||||||
"logo": "/logos/composable.jpg"
|
"logo": "/logos/composable.jpg"
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"chain_name": "haqq",
|
"chain_name": "haqq",
|
||||||
"coingecko": "",
|
"coingecko": "",
|
||||||
"api": ["https://rest.cosmos.haqq.network/", "https://m-s1-sdk.haqq.sh","https://api.haqq.nodestake.top"],
|
"api": ["https://rest.cosmos.haqq.network/", "https://m-s1-sdk.haqq.sh", "https://haqq-rest.publicnode.com"],
|
||||||
"rpc": ["https://rpc.tm.haqq.network/", "https://m-s1-tm.haqq.sh","https://rpc.haqq.nodestake.top"],
|
"rpc": ["https://rpc.tm.haqq.network/", "https://m-s1-tm.haqq.sh", "https://haqq-rpc.publicnode.com/"],
|
||||||
"snapshot_provider": "",
|
"snapshot_provider": "",
|
||||||
"sdk_version": "0.46.10",
|
"sdk_version": "0.46.10",
|
||||||
"coin_type": "60",
|
"coin_type": "60",
|
||||||
|
22
chains/mainnet/mun.json
Normal file
22
chains/mainnet/mun.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"chain_name": "mun",
|
||||||
|
"coingecko": "",
|
||||||
|
"api": ["https://mainnet1.mun.money"],
|
||||||
|
"rpc": ["https://mainnet1rpc.mun.money"],
|
||||||
|
"snapshot_provider": "",
|
||||||
|
"sdk_version": "0.45.16",
|
||||||
|
"coin_type": "118",
|
||||||
|
"min_tx_fee": "8000",
|
||||||
|
"addr_prefix": "mun",
|
||||||
|
"logo": "/logos/mun.png",
|
||||||
|
"assets": [
|
||||||
|
{
|
||||||
|
"base": "umun",
|
||||||
|
"symbol": "MUN",
|
||||||
|
"exponent": "6",
|
||||||
|
"coingecko_id": "",
|
||||||
|
"logo": "/logos/mun.png"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
82
installation.md
Normal file
82
installation.md
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
# Prerequisites
|
||||||
|
|
||||||
|
1. Node and Yarn - Acquired using Node Version Manager (https://github.com/nvm-sh/nvm)
|
||||||
|
|
||||||
|
# Quick Install for Prerequisites
|
||||||
|
|
||||||
|
1. Install Node Version Manager
|
||||||
|
```sh
|
||||||
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
|
||||||
|
```
|
||||||
|
2. Install the latest version of NodeJS
|
||||||
|
```sh
|
||||||
|
nvm install node # "node" is an alias for the latest version
|
||||||
|
```
|
||||||
|
3. Install the latest version of NPM for Node
|
||||||
|
```sh
|
||||||
|
nvm install-latest-npm # get the latest supported npm version on the current node version
|
||||||
|
```
|
||||||
|
4. Install Yarn
|
||||||
|
```sh
|
||||||
|
npm install --global yarn
|
||||||
|
```
|
||||||
|
|
||||||
|
# Installation:
|
||||||
|
|
||||||
|
1. Running with yarn
|
||||||
|
```sh
|
||||||
|
yarn --ignore-engines && yarn serve
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Building for web servers, like nginx, apache
|
||||||
|
```sh
|
||||||
|
yarn --ignore-engines && yarn build
|
||||||
|
cp -r ./dist/* <ROOT_OF_WEB_SERVER>
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Running with docker
|
||||||
|
```sh
|
||||||
|
./docker.sh
|
||||||
|
docker run -d -p 8088:80 ping.pub/dashboard
|
||||||
|
```
|
||||||
|
|
||||||
|
# Enable LCD for Ping.pub (do this on the config for your chain)
|
||||||
|
|
||||||
|
1. Set `enable = true` in `./config/app.toml`
|
||||||
|
```
|
||||||
|
###############################################################################
|
||||||
|
### API Configuration ###
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
[api]
|
||||||
|
|
||||||
|
# Enable defines if the API server should be enabled.
|
||||||
|
enable = true
|
||||||
|
|
||||||
|
# Swagger defines if swagger documentation should automatically be registered.
|
||||||
|
swagger = false
|
||||||
|
|
||||||
|
# Address defines the API server to listen on.
|
||||||
|
address = "tcp://0.0.0.0:1317"
|
||||||
|
|
||||||
|
# MaxOpenConnections defines the number of maximum open connections.
|
||||||
|
max-open-connections = 1000
|
||||||
|
```
|
||||||
|
|
||||||
|
2. add proxy server and enable CORS. NOTE: You must enable https as well.
|
||||||
|
|
||||||
|
```
|
||||||
|
server {
|
||||||
|
server_name juno.api.ping.pub;
|
||||||
|
listen 443;
|
||||||
|
location / {
|
||||||
|
add_header Access-Control-Allow-Origin *;
|
||||||
|
add_header Access-Control-Max-Age 3600;
|
||||||
|
add_header Access-Control-Expose-Headers Content-Length;
|
||||||
|
|
||||||
|
proxy_pass http://<HOST>:1317;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
3. config your blockchain in [./src/chains]()
|
BIN
public/logos/mun.png
Normal file
BIN
public/logos/mun.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 43 KiB |
@ -25,14 +25,14 @@ const bars = computed(() => {
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="flex items-center justify-evenly">
|
<div class="flex items-center justify-evenly gap-0.5">
|
||||||
<div class="cursor-default" v-for="(item, index) in bars" :key="index">
|
<div class="cursor-default" v-for="(item, index) in bars" :key="index">
|
||||||
<div class="tooltip" :data-tip="item.height">
|
<div class="tooltip"
|
||||||
<span
|
:data-tip="item.height"
|
||||||
:class="item.color"
|
:class="item.color"
|
||||||
style="width: 1.2%"
|
style="width: 4px;"
|
||||||
>
|
>
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -6,17 +6,20 @@ import { Icon } from '@iconify/vue';
|
|||||||
import { onMounted, ref } from 'vue';
|
import { onMounted, ref } from 'vue';
|
||||||
import { useWasmStore } from '../WasmStore';
|
import { useWasmStore } from '../WasmStore';
|
||||||
import DynamicComponent from '@/components/dynamic/DynamicComponent.vue';
|
import DynamicComponent from '@/components/dynamic/DynamicComponent.vue';
|
||||||
|
import { useRoute } from 'vue-router';
|
||||||
|
|
||||||
const chainStore = useBlockchain();
|
const chainStore = useBlockchain();
|
||||||
const format = useFormatter();
|
const format = useFormatter();
|
||||||
const wasmStore = useWasmStore();
|
const wasmStore = useWasmStore();
|
||||||
const address = "osmo1yg8930mj8pk288lmkjex0qz85mj8wgtns5uzwyn2hs25pwdnw42sf745wc"
|
|
||||||
|
const route = useRoute()
|
||||||
const page = ref(new PageRequest())
|
const page = ref(new PageRequest())
|
||||||
|
|
||||||
const txs = ref<PaginatedTxs>({ txs: [], tx_responses: [], pagination: { total: "0" } });
|
const txs = ref<PaginatedTxs>({ txs: [], tx_responses: [], pagination: { total: "0" } });
|
||||||
const info = ref<any>(null);
|
const info = ref<any>(null);
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
const address = String(route.query.contract)
|
||||||
wasmStore.wasmClient.getWasmContracts(address).then((x) => {
|
wasmStore.wasmClient.getWasmContracts(address).then((x) => {
|
||||||
info.value = x.contract_info;
|
info.value = x.contract_info;
|
||||||
});
|
});
|
||||||
@ -27,6 +30,7 @@ onMounted(() => {
|
|||||||
|
|
||||||
function pageload(pageNum: number) {
|
function pageload(pageNum: number) {
|
||||||
page.value.setPage(pageNum)
|
page.value.setPage(pageNum)
|
||||||
|
const address = String(route.query.contract)
|
||||||
chainStore.rpc.getTxs("?order_by=2&events=execute._contract_address='{address}'", { address }, page.value).then(res => {
|
chainStore.rpc.getTxs("?order_by=2&events=execute._contract_address='{address}'", { address }, page.value).then(res => {
|
||||||
txs.value = res
|
txs.value = res
|
||||||
})
|
})
|
||||||
|
@ -153,7 +153,7 @@ function changeTab(v: string) {
|
|||||||
:class="tab === '2' ? '' : 'hidden'"
|
:class="tab === '2' ? '' : 'hidden'"
|
||||||
>
|
>
|
||||||
<div v-for="({ v, signing, hex }, i) in list" :key="i">
|
<div v-for="({ v, signing, hex }, i) in list" :key="i">
|
||||||
<div class="flex items-center justify-between py-0 w-72">
|
<div class="flex items-center justify-between py-0 w-[298px]">
|
||||||
<label class="truncate text-sm">
|
<label class="truncate text-sm">
|
||||||
<span class="ml-1 text-black dark:text-white"
|
<span class="ml-1 text-black dark:text-white"
|
||||||
>{{ i + 1 }}.{{ v.description.moniker }}</span
|
>{{ i + 1 }}.{{ v.description.moniker }}</span
|
||||||
@ -161,13 +161,13 @@ function changeTab(v: string) {
|
|||||||
</label>
|
</label>
|
||||||
<div
|
<div
|
||||||
v-if="Number(signing?.missed_blocks_counter || 0) > 10"
|
v-if="Number(signing?.missed_blocks_counter || 0) > 10"
|
||||||
class="badge badge-sm bg-transparent border-0 text-red-500"
|
class="badge badge-sm bg-transparent border-0 text-red-500 font-bold"
|
||||||
>
|
>
|
||||||
{{ signing?.missed_blocks_counter }}
|
{{ signing?.missed_blocks_counter }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else
|
v-else
|
||||||
class="badge badge-sm bg-transparent text-green-600 border-0"
|
class="badge badge-sm bg-transparent text-green-600 border-0 font-bold"
|
||||||
>
|
>
|
||||||
{{ signing?.missed_blocks_counter }}
|
{{ signing?.missed_blocks_counter }}
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user