Giter Club home page Giter Club logo

explorer's Issues

explorer under heavy load

we are using a fork of this explorer at explorer.xaya.io
(with a namecoin fork chain)

If someone tries to check a mining address or similar (that has thousands of txs) it causes this, and i suspect someone can do it intentionally.

This website is under heavy load (queue full)
We're sorry, too many people are accessing this website at the same time. We're working on this problem. Please try again later.

any ideas? we are willing to donate

i see our daemon (xayad) using a lot of CPU when it happens and also Ruby.

Prevent invalid transactions from being re-scanned every minute

Invalid transactions are checked before new blocks are scanned. Previously, invalid transactions were never rescanned (which is terrible), and now invalid transactions are scanned too often, delaying new blocks from coming in. Invalid transactions should be scanned with a more reasonable frequency (once daily?).

SegWit Support

This is currently needed for Litecoin support beyond a certain block number, as well as Bitcoin

Re-check invalid transactions

Right now, if a transaction isn't understood by the current parser, it gets thrown into the InvalidTransactions table and ignored. There are many reasons why transactions can be thrown into that table, and not all of them are "the transaction is actually invalid". For example, if the indexer was able to retrieve a list of transactions from a block, but then bitcoind crashed, it will put every transaction into the InvalidTransactions table, because attempting to parse it will result in an error (that bitcoind is down). Likewise, when Litecoin added SegWit support, the explorer no longer understood the transaction format for new transactions, and subsequently placed them all in the InvalidTransactions table so that it could continue indexing what it understood.

This bug isn't about the fact that things are thrown into the InvalidTransactions table - it's about not re-checking those transactions in the future, in case a future explorer version has added support for something that was previously invalid. Future indexers should attempt to re-validate those transactions every so often, so that anything placed there by accident goes back into the main pile.

Fails to look up genesis block

Steps to reproduce

  1. Visit https://namecoin.cyphrs.com/block/0

Expected behavior

The block metadata should be displayed, regardless of whether the coinbase transaction is displayed.

Observed behavior

error code: -5 error message: The genesis block coinbase is not considered an ordinary transaction and cannot be retrieved

License is missing

I don't see any visible license file in this repo, which means that the code defaults to an "all rights reserved" non-free license. Can a license be added?

Decrease indexing lock time

Right now, with a cron job set to run every minute, it may be upwards of several minutes before a new block gets indexed. The current lockfile-based system prevents anything else from indexing within two minutes of a block being indexed, so it can be upwards of three minutes from when a block comes in to when the indexer starts.

The indexer's parent process should clear the lockfile when it finishes, or otherwise indicate that new processes can execute instantly.

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.