Commit graph

11 commits

Author SHA1 Message Date
Calin Culianu
560b70eb08
Add fulcrum.criptolayer.net to servers.json
Backport/synch from Electron Cash's servers.json
2023-03-20 19:52:50 -05:00
Shomari
7daf894a27
Update servers.json for fulcrum.devops.cash (#153)
* Recently migrated my Fulcrum (BCHN) server from DevOps to APECS.
* Update servers.json
* Corrected the protocol version to `1.5.0`.
2023-01-25 20:10:07 -06:00
Calin Culianu
9b9ae92adc
Refreshed mainnet server list (servers.json)
Source: Electron Cash master
2022-12-16 15:24:48 -06:00
Calin Culianu
321304ae03
Refreshed servers_chipnet.json
Added ryzen.electroncash.de
2022-12-16 15:08:35 -06:00
Calin Culianu
373f7e5190
Pull in latest servers.json changes from Electron Cash
Removed a few defunct servers, added a few new good ones.
2022-10-07 19:56:15 -05:00
Calin Culianu
d330248c75
Fixed wrong JSON type in servers_chipnet.json
Should always be string, not number.
2022-10-05 10:29:10 -05:00
Calin Culianu
17c2a9a835
Added BCH "chipnet" as one of the known chains
This fixes the warning if connected to a BCHN node that is running -chipnet.
Also in this commit: A small server_chipnet.json so that peering works.
2022-10-05 10:01:24 -05:00
Jeremy Kister
50a0d3625f
add kisternet onion v3 addresses to servers jsons (#94)
* update kisternet onion address to v3
* add kisternet onion address
* syntactical
2021-12-02 16:42:54 -06:00
Calin Culianu
1e4df68fbb
Refreshed servers*.json for BCH and BTC
Pulled in latest from electron cash and electrum. For BTC, hand-edited
the file to also add my server (blackie.c3-soft.com).
2021-04-20 08:13:05 -04:00
Calin Culianu
e3dea84070
Updated servers.json and servers_scalenet.json from latest EC 2021-03-07 12:48:04 +02:00
Calin Culianu
5b68b48594
Feature: Support synching to Bitcoin BTC and serving Electrum (BTC) clients (#63)
This PR adds support for synching to Bitcoin Core and serving up data for
the BTC chain(s).  

- BTC vs BCH is auto-detected.  The app enters BCH mode or BTC mode 
depending on the bitcoind's useragent.
- The mode of the app is saved to DB on first synch and must match the 
remote bitcoind's mode on each connection to bitcoind.
- In order for us to enter BTC mode, the bitcoind useragent must match 
the regex: `^/Satoshi.*`, otherwise it is categorized as BCH, and we default to 
BCH mode.
   - This means that only Bitcoin Core (/Satoshi..) nodes are supported for
   BTC mode.
- SegWit tx's and blocks are now parsed correctly in BTC mode only.
- The `blockchain.address.*` RPC's only work in BCH mode.
- If the db says "BTC" and the bitcoind is detected as non-BTC (or vice-versa), 
the app complains and refuses to continue, exiting with an error message.
- Added seed peers files (`servers.json` and `servers_testnet.json`) for peering 
to BTC nodes. These were taken from latest Electrum master.  Peering works as 
expected on BTC, as it does on BCH.

Also in this PR, various fixups:

- Bumped version to 1.3.0.
- Made the app request the maximum number of open file descriptors on startup 
(Unix only).  It now also prints how many max open files it has detected to the Log.
- Miscellaneous code fixups.

---

Squashed Commits:

* wip

* wip - made synchmempool more efficient in both the btc and bch cases. yay!

* added btc servers.json

* tweaks - use hash ref in synchmempool, plus use easier to read code in transaction.h

* Added --btc option and ironed out logic for BTC vs BCH detection and paranoia. Plus more refactoring.

* Added support for peering to BTC servers

- Moved BCH servers.json into bch/ subdirectory
- Also added a key/value pair to the getinfo results for the active
  coin.

* Removed the "your client is vulnerable" messaging

It has been 2 years since the exploit -- and now that we are supporting
Electrum and potentiallu other clients with all sorts of version
numbers, the message may return false positives.

It has been disable and commented-out.

* Redid BTC vs BCH auto-detect logic, got rid of --btc CLI arg

The --btc CLI arg is superfluous.  We can just detect the coin based on
user agent.  Unknown user agents for bitcoind default to BCH.

This implies that we cannot use BTC with anything other than Satoshi as
the bitcoind, which is fine for now.

TODO: Possibly support more BTC bitcoinds in the future, if it proves
that Fulcrum becomes popular on BTC.

* Updated a comment

* Updated some comments

* Tweaks, updated comments, updated an error message

* Don't use QStringView

In this context better to just take a reference to QString

* Nits: Updated some comments, made a variable a reference

* Added code to raise open file limit on startup, also tweaked db mem allocation

* Fickst a typoe

* Forgot a paren.

* Forgot a colon

* Enable the phishing warning for verisons < 3.3.4 again, also for BTC

* Disabled blockchain.address.* methods for BTC

* Use .arg(str1, str2) in a few places
2020-11-07 08:32:10 +02:00