-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to setup my own server? #57
Comments
@bazooka70 you can't depends on a sql server for QBitNinja, it need Azure services. If you really want a block explorer not coupled with azure and don't mind it is not indexing everything (only specific HDPubKey), you can take a look at https://github.com/dgarage/NBXplorer Sadly I can't spend time explaining you how to setup. I regret it is not easier to install. I was looking to migrate QBitNinja to .NET Core so I can make a one click install easily, but some component were missing. I advise you to hire an .NET developer familiar with Azure for a day in order to setup this for you, it should be rather obvious for them. (I sadly don't have time on my side though :( ) |
@NicolasDorier , Believe me I trying very hard to learn your code, and learn about azure. I actually managed to go feather with QBitNinja. I opened azure storage, a bus, and run I configured All the other parameters are default. When I run it, I can see the tables created on my azure storage (i.e
So what am I doing wrong? |
OK, this seem to work now - i.e. something is happening ...
I missed the I'm not sure what to do next after it finishes indexing...
|
so you are good at this point. It just takes LOTS of time to index everything, and lot's of bandwidth, which is why I advice running the indexer in the same data center than the storage. If your VM is not in azure it will take forever. (Might take 5 days even inside azure) |
So QBitNinja is divided into two projects
The front end project (QBitNinja project in the solution) is a ASP.NET WEB API which you can easily host as an Azure Web App for example. You can also use your own server of course, this is less critical than the Listener. The front end settings are the same as the listener. The listener index all data by asking your full node. Yeah it is a mess to setup. However, once it is on it is rock solid :) |
Our basic strategy is to host everything on our servers which can control, this is why I think a local index database (not azure) such as sql-server, mysql, sqlite could be a good idea. But I might consider staying with azure if everything works fine and fast. in any case while indexing the QBitNinja.Listener.Console.exe it trowed an exception while processing these lines:
The exception:
I run QBitNinja.Listener.Console.exe gain, and after a few minutes the same exception happen. What could cause this and how to proceed? |
@bazooka70 QBitNinja is too heavily coupled to Azure (many optimization trick only possible on azure), it is impossible to change the backend. Concerning the exception, it is the first time I see this one. It might come from disconnection with Azure. You can run on your server, but really, the initial indexing is VERY long and this exception is probably caused by this. At least use a server in azure for the initial indexing, then once it is over migrate on premise. That said, you are trying NBXplorer, I think that for your case it might be enough and way easier. |
@NicolasDorier Now this exception is constant every time I run it:
Only god knows what "Lock renewed" means.
NBXplorer loos very promising to us, but I want a plan B. it has become a bit of a challenge for me to beat azure and install QbitNinja on my server! :) |
Lock renewed is normal. The idea is (only for initial indexing): A server split the blocks in several batch called work unit and push each work unit in a queue. However, it might happen that an indexer get disconnected (crashed), in which case the unit of work should go back in the queue after a timeout. The periodic lock renewal is a way for an indexer to prevent the unit of work to go back in the queue, by saying to azure "I am still processing this message". This stuff happen only during the initial indexing. Now the exception you get and that I never got is probably caused because the unit of work take very long time to process due to the huge bandwidth and latency to the Azure server. This is why I advise you to run this indexer only for initial indexing directly in an Azure VM located in the same datacenter as your storage. |
Just a guess, maybe the free trail account on Azure I have now, is limiting requests... dunno :/ |
I don't think this is rate limiting issue. But really you can easily take a look by running the indexer from a VM hosted in Azure. |
I have a machine attached to our network, that run a full node Bitcoin Core (both main and testnet3).
Is it possible to install the QBitNinja server on that machine without the need of an extra Azure VM?
Although there are some documentations regarding the issue, I feel lost at how to exactly configure my own server for both main and testnet.
The public QBitNinja server works great, but it is somewhat slow and is mentioned that it is not suitable for production. Can you please help me (and others) ?
I'm not familiar with Azure at all, but willing to learn. (BTW, too bad we can't use QBitNinja server with a local SQL-Server db and should depend on a service we can't control such Azure)
The text was updated successfully, but these errors were encountered: