Comments (3)
There are actually multiple things going on here, each one of them can/should be separated into a Github issue:
-
The Onename bitcoind server is running behind a load-balancer which makes it more reliable but also slower than if we expose the bitcoind without the load-balancer. Amazon's load-balancer needs to be "warmed up" by hitting it with traffic before it really starts to give better performance. There must be a workaround to this (can always have a custom load-balancer that will not have this issue) and need to figure out a solution to this initial slow-start time.
-
We're fetching blocks from the load-balancer sequentially right now. It's a no-brainer to either make this async or use threads. @jcnelson had some good ideas about this.
-
We're making calls to bitcoind for fetching each transactions meaning you first get the block (1 rpc call), and then if there are n transactions in the block, you make another n calls. There has to be a better way for doing this. @bmuller had some good ideas about this.
-
Even with all the above things are fixed, the reality is still that you need to get the blocks and then process them for name operations. At this stage, a lot of people just want to quickly start playing around with blockstore and see how it works. A docker that has pre-processed the blockchain upto a recent-enough block can be interesting. You'll have to trust the docker image and the maintainer, but that's fine if you treat it as just a way to quickly get up and running (you can also force the docker to re-analyze the blockchain and construct the namespace again before pushing it to production).
from stacks-blockchain.
Hi @satorsq,
I just pushed branch 'parallel-startup' that should make the initial indexing considerably faster.
If you're not running bitcoind locally, feel free to point blockstored to our new load-balanced bitcoind fleet at 54.237.72.244 (which should be somewhat less variadic than btcd.onename.com). I regularly see one block per 1.5 seconds (on average) with this branch, as well as between 10Mbps to 20Mbps downstream RPC bandwidth.
-Jude
from stacks-blockchain.
Since there has been no activity on this for some time, and since this has been long since fixed by having multiple processes index the blockchain in parallel and by installing a much more performant load-balancer, I'm going to close this issue. Please re-open if there are any further questions.
from stacks-blockchain.
Related Issues (20)
- [Networking] `relay_message` needs to be a `vec![]` HOT 1
- Log analysis tool HOT 3
- Requesting map/data-var/estimate-fee timeout HOT 6
- Intermittent slow RPC performance HOT 2
- [Nakamoto] getsortition.rs try_handle_request does not actually attempt to return the last winning sortition correctly HOT 4
- Add new `RejectCode`s for new failure points in block proposal validation
- [Networking] bump PEER_VERSION prior to release 3.0
- Node always logs "Proceeding to mine blocks" regardless of miner status
- [nakamoto] signers should process their pending blocks before ending their tenure
- [Nakamoto]No PoX anchor block known yet for cycle 8 HOT 8
- [Network] Don't request data from nodes who report a data URL with a private IP
- Node Commission Rate HOT 6
- [Mutations Testing] for PR: MARF'ed Nakamoto chainstate #4930 HOT 4
- Signer binary SignerDB should have versioning logic
- [Primary TESTNET] PeerNotConnected HOT 1
- [testing] Testing scenarios for miner/signer behaviour
- [Testing] multiple signers and miners each with their own stacks node HOT 2
- [testing] Force a stacks fork with two competing miners.
- [testing] signer set handoff test
- [testing] Test a bitcoin fork and ensure that the miner/signer flow recovers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stacks-blockchain.