bisq-network / projects

@bisq-network project management
https://bisq.wiki/Project_management
9 stars 2 forks source link

Add support for BSQ into the mempool.space explorer, replace our current BSQ Explorers with self-hosted Mempool Explorers #37

Closed wiz closed 4 years ago

wiz commented 4 years ago

_This is a Bisq Network project. Please familiarize yourself with the project management process._

Description

Replace the very old BSQ Explorer codebase by adding support for BSQ into Mempool.Space, and replace our current BSQ Explorers with Mempool Nodes so Bisq gains an integrated BTC and BSQ Explorer with Mempool Fee Estimation API support.

Rationale

Criteria for delivery

When the BSQ Explorer Operators reach Rough Consensus that Mempool has implemented all the tasks below and can replace the BSQ Explorers entirely, we can consider the project to be delivered.

Measures of success

When all BSQ Explorer Operators migrate to using Mempool, the Bisq users are happy with the change, and the role of the BSQ Explorer Operator is eliminated saving us money each month, we can consider the project to be a success.

Risks

Not much risk, since Mempool explorer is quite stable, and we can always go back to the current BSQ Explorer code if a major issue arises that can't be immediately fixed for some reason. The only risk I can see is that some transactions are incorrectly displayed until all the bugs are worked out, which can be mitigated with lots of testing before migrating.

Tasks

Estimates

Dev: $3000 Ops: $1000

Notes

Mempool: https://mempool.space/ Mempool on GitHub: https://github.com/mempool/mempool

Emzy commented 4 years ago

Concept ACK

To replace the Bitcoin Explorer part it needs a Bitcoind + https://github.com/Blockstream/electrs running in the back-end. This needs a beefy server with > 1TB SSD. Would that also be needed for the BSQ Explorer part?

wiz commented 4 years ago

Yes, but by combining Bitcoin Node ($50) + BSQ Explorer ($100) + Mempool Node ($50) you get a total budget of $200 per month to run this beefy server which does everything all in one. It makes sense.

m52go commented 4 years ago

Scope of BSQ support in Mempool can be expanded in the future to add new features such as displaying DAO vote results, DAO financials, etc.

I assume this isn't a near-term / high-priority thing, but it sounds great.

softsimon commented 4 years ago

@wiz sent me a Bisq dao JSON dump and I have made some quick mockups to give an idea of how I would implement this.

Basically Bisq will be another optional module visible in the in mempool selection just like Liquid or Testnet currently. So heading to mempool.space/bisq will default to the familiar Latest bisq-transactions. Viewing individual transactions will have the same features and functionality with live tracking and fee information as on mainnet but with the additional Bisq DAO information.

Screenshot 2020-06-24 at 02 07 37 Screenshot 2020-06-24 at 01 52 25
wiz commented 4 years ago

Thanks Simon, I’ve assigned you to this project. Just to give you an idea how bad the current BSQ Explorers are, right now 2 out of 6 of them are stuck again today, despite our repeated attempts to fix them over the past few months. I’m really looking forward to replace that old code!

🔍 BSQ Explorers most recent TX block height as of Tue Jun 23 19:55:01 UTC 2020

bsq.ninja -> 636039
bsq.emzy.de -> 636039
bsq.vante.me -> 635989
bsq.bisq.services -> 636039
bsq.bisq.cc -> 635832
bsq.sqrrm.net -> 636039
wiz commented 4 years ago

https://mempool.space/bisq has an early WIP available for beta testing

wiz commented 4 years ago

The new explorer seems stable, so I have begun redirecting https://bsq.ninja/ to https://mempool.space/bisq as follows:

set $redirect_uri https://mempool.space/bisq;
if ($uri = /tx.html) {
        set $redirect_uri https://mempool.space/bisq/tx/$arg_tx;
}
if ($uri = /txo.html) {
        set $redirect_uri https://mempool.space/bisq/tx/$arg_txo;
}
if ($uri = /Address.html) {
        set $redirect_uri https://mempool.space/bisq/address/$arg_addr;
}
return 301 $redirect_uri;
wiz commented 4 years ago

Everyone seems pretty happy so I just merged the PR: https://github.com/mempool/mempool/pull/92