Skip to content

Commit

Permalink
Merge branch 'master' into realtime-pubsub-by-postges-notify
Browse files Browse the repository at this point in the history
  • Loading branch information
vbaranov committed Oct 24, 2019
2 parents df2dda1 + 4f987c2 commit f50b73e
Show file tree
Hide file tree
Showing 151 changed files with 308 additions and 749 deletions.
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@

### Features
- [#2449](https://github.com/poanetwork/blockscout/pull/2449) - add ability to send notification events through postgres notify

### Fixes

### Chore


## 2.1.0-beta

### Features
- [#2776](https://github.com/poanetwork/blockscout/pull/2776) - fetch token counters async
- [#2772](https://github.com/poanetwork/blockscout/pull/2772) - add token instance images to the token inventory tab
- [#2733](https://github.com/poanetwork/blockscout/pull/2733) - Add cache for first page of uncles
- [#2735](https://github.com/poanetwork/blockscout/pull/2735) - Add pending transactions cache
Expand All @@ -19,7 +29,9 @@
- [#2470](https://github.com/poanetwork/blockscout/pull/2470) - Allow Realtime Fetcher to wait for small skips

### Fixes
- [#2793](https://github.com/poanetwork/blockscout/pull/2793) - Hide "We are indexing this chain right now. Some of the counts may be inaccurate" banner if no txs in blockchain
- [#2779](https://github.com/poanetwork/blockscout/pull/2779) - fix fetching `latin1` encoded data
- [#2799](https://github.com/poanetwork/blockscout/pull/2799) - fix catchup fetcher for empty node and db
- [#2783](https://github.com/poanetwork/blockscout/pull/2783) - Fix stuck value and ticker on the token page
- [#2781](https://github.com/poanetwork/blockscout/pull/2781) - optimize txlist json rpc
- [#2770](https://github.com/poanetwork/blockscout/pull/2770) - do not re-fetch token instances without uris
Expand Down Expand Up @@ -55,6 +67,8 @@ fixed menu hovers in dark mode desktop view
- [#2738](https://github.com/poanetwork/blockscout/pull/2738) - do not fail block `internal_transactions_indexed_at` field update

### Chore
- [#2796](https://github.com/poanetwork/blockscout/pull/2796) - Optimize all images with ImageOptim
- [#2794](https://github.com/poanetwork/blockscout/pull/2786) - update hosted versions in readme
- [#2789](https://github.com/poanetwork/blockscout/pull/2786) - remove projects table in readme, link to docs version
- [#2786](https://github.com/poanetwork/blockscout/pull/2786) - updated docs links, removed docs folder
- [#2752](https://github.com/poanetwork/blockscout/pull/2752) - allow enabling internal transactions for simple token transfers txs
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<p align="center">
<a href="https://blockscout.com">
<img width="200" src="https://blockscout.com/eth/mainnet/android-chrome-192x192.png" \>
<img width="200" src="https://blockscout.com/poa/core/android-chrome-192x192.png" \>
</a>
</p>

Expand All @@ -12,7 +12,7 @@

</div>

BlockScout provides a comprehensive, easy-to-use interface for users to view, confirm, and inspect transactions on **all EVM** (Ethereum Virtual Machine) blockchains. This includes the Ethereum main and test networks as well as **Ethereum forks and sidechains**.
BlockScout provides a comprehensive, easy-to-use interface for users to view, confirm, and inspect transactions on EVM (Ethereum Virtual Machine) blockchains. This includes the POA Network, xDai Chain, Ethereum Classic and other **Ethereum testnets, private networks and sidechains**.

See our [project documentation](https://docs.blockscout.com/) for detailed information and setup instructions.

Expand All @@ -22,16 +22,16 @@ You can also access the dev chatroom on our [Gitter Channel](https://gitter.im/p

## About BlockScout

BlockScout is an Elixir application that allows users to search transactions, view accounts and balances, and verify smart contracts on the entire Ethereum network including all forks and sidechains.
BlockScout is an Elixir application that allows users to search transactions, view accounts and balances, and verify smart contracts on the Ethereum network including all forks and sidechains.

Currently available full-featured block explorers (Etherscan, Etherchain, Blockchair) are closed systems which are not independently verifiable. As Ethereum sidechains continue to proliferate in both private and public settings, transparent, open-source tools are needed to analyze and validate transactions.

## Supported Projects

BlockScout supports a growing number of projects. Hosted instances include POA Network, xDai Chain, Ethereum Classic, Ethereum Mainnet and most Testnets.
BlockScout supports a number of projects. Hosted instances include POA Network, xDai Chain, Ethereum Classic, Sokol & Kovan testnets, and other EVM chains.

- [List of hosted mainnets, testnets, and additional chains using BlockScout](https://docs.blockscout.com/for-projects/supported-projects)
- [Hosted instance versions](https://docs.blockscout.com/for-projects/supported-projects/hosted-instance-versions)
- [Hosted instance versions](https://docs.blockscout.com/about/use-cases/hosted-blockscout)


## Getting Started
Expand Down
1 change: 1 addition & 0 deletions apps/block_scout_web/assets/js/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import './pages/favorites'
import './pages/network-search'
import './pages/layout'
import './pages/verification_form'
import './pages/token_counters'
import './pages/dark-mode-switcher'

import './pages/admin/tasks.js'
Expand Down
87 changes: 87 additions & 0 deletions apps/block_scout_web/assets/js/pages/token_counters.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
import $ from 'jquery'
import omit from 'lodash/omit'
import humps from 'humps'
import { createStore, connectElements } from '../lib/redux_helpers.js'

export const initialState = {
channelDisconnected: false,
transferCount: null,
tokenHolderCount: null
}

export function reducer (state = initialState, action) {
switch (action.type) {
case 'PAGE_LOAD':
case 'ELEMENTS_LOAD': {
return Object.assign({}, state, omit(action, 'type'))
}
case 'CHANNEL_DISCONNECTED': {
if (state.beyondPageOne) return state

return Object.assign({}, state, {
channelDisconnected: true
})
}
case 'COUNTERS_FETCHED': {
return Object.assign({}, state, {
transferCount: action.transferCount,
tokenHolderCount: action.tokenHolderCount
})
}
default:
return state
}
}

const elements = {
'[data-page="counters"]': {
render ($el, state) {
if (state.counters) {
return $el
}
return $el
}
},
'[token-transfer-count]': {
render ($el, state) {
if (state.transferCount) {
$el.text(state.transferCount + ' Transfers')
return $el.show()
} else {
return $el.hide()
}
}
},
'[token-holder-count]': {
render ($el, state) {
if (state.tokenHolderCount) {
$el.text(state.tokenHolderCount + ' Addresses')
return $el.show()
} else {
return $el.hide()
}
}
}
}

function loadCounters (store) {
const $element = $('[data-async-counters]')
const path = $element.data().asyncCounters
function fetchCounters () {
store.dispatch({type: 'START_REQUEST'})
$.getJSON(path)
.done(response => store.dispatch(Object.assign({type: 'COUNTERS_FETCHED'}, humps.camelizeKeys(response))))
.fail(() => store.dispatch({type: 'REQUEST_ERROR'}))
.always(() => store.dispatch({type: 'FINISH_REQUEST'}))
}

fetchCounters()
}

const $tokenPage = $('[token-page]')

if ($tokenPage.length) {
const store = createStore(reducer)
connectElements({ store, elements })
loadCounters(store)
}
21 changes: 1 addition & 20 deletions apps/block_scout_web/assets/static/images/average_time.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 1 addition & 3 deletions apps/block_scout_web/assets/static/images/block.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit f50b73e

Please sign in to comment.