Skip to content
This repository has been archived by the owner on Nov 2, 2018. It is now read-only.

Explorer refactor - Enable a new generation of Sia applications #2458

Closed

Conversation

hashbender
Copy link

@hashbender hashbender commented Nov 3, 2017

1.) Block query ranges. You can provide a to and from query parameter with a maximum of 10 blocks to retrieve
2.) Websockets for consensus and pending transaction updates. This will be the most interesting change, since it will enable real-time sites. Websockets enable server push mechanisms, so data will be available to clients in real time.
3.) HashType bucket. To keep from having to lookup into every hash bucket, we keep track of the hash type as it's inserted. This acts as an index and gives us a constant-time lookup of hashes without having to scan every hash bucket
4.) Consistency fixes. I've removed some logic which causes the explorer to fail. This makes the explorer more resilient and reduces the instance of "block not found" errors in the explorer.
5.) In memory pending block. We keep a copy of the current, pending block in memory. This allows us to add/remove transactions and update block facts without having to commit to any DB when pending txs are received

@hashbender hashbender changed the title 1.) Block query ranges. You can provide a to and from query paramete… Explorer refactor - Enable a new generation of Sia applications Nov 3, 2017
@lukechampine
Copy link
Member

I like a lot of these changes but we need to split this into multiple PRs -- approximately one PR for each of your bullet points. I'm thinking:

  1. Consistency fixes. This is the most important to merge in the short term.
  2. HashType bucket. Also, move all of the explorer code currently living in the api package into explorer.
  3. Add a tpool to the explorer -- maybe. I don't totally understand why this is necessary; couldn't we just add more /transactionpool routes?
  4. Block query ranges.
  5. Websocket support.

David Vorick and others added 28 commits November 28, 2017 15:47
…spending

fix TestAllowanceSpending failing on AppVeyor
…y-search

Modify the wallets Transactions function to use binary search
lukechampine and others added 27 commits January 10, 2018 17:59
Multi-block acceptance inconsistency fix
…-height

Add wallet consensus height to /wallet endpoint
add logging to narrow in on bittrex timeout bug
# Conflicts:
#	cmd/siad/daemon.go
#	modules/explorer/explorer.go
#	node/api/routes.go
#	node/api/server_helpers_test.go
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.