Pages:
Author

Topic: Electrum server on Windows: Fulcrum (Read 1073 times)

legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!
December 21, 2024, 02:10:42 PM
#48
As for what happened to the setup NeuroticFish had, it might have been the update that borked something in Windows but more and more I am seeing updates on ALL OSs bring out hardware issues that were lingering. Not sure why but it does seem to happen more when you click on the windows update button or type dnf upgrade in your linux console you will find out that your RAM was a bit off spec or that drive was not good or.....

From my experience it happens sometimes a Windows update may take abnormally long (and it can be indeed caused by something fishy related to hardware, since I tend to use AliExpress crap here and there, not paying for "state of the art"). Such an update can easily happen to end via a hard stop and after that point I have ticking bomb which will go off in the next attempt for update or any other, maybe even after months.

Imho, while I agree that my hardware could be better, I also think that Windows updates should be more reliable.
I'm not worried though. Life goes on. As long as the problems can be fixed in a reasonable amount of time... we only learn from them, all good.
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
December 21, 2024, 02:02:24 PM
#47
~~~
I'm surprised that your SSD severely deteriorated after only writing about 12.5 times the total device capacity in about two and a half years power-on time. That seems to me rather unusually low, even for a consumer Samsung Evo device (Samsung writes about a write endurance of ~1,200TBW (terrabytes written) for a 870 Evo 2TB model).

Barely 25TBW compared to advertised 1,200TBW sucks (assuming manufacturer's prefered 1TB equals 1012 bytes).

And their RMA process is useless. Web chat, then fill out an online form, then wait for the RMA then wait for the pre-printed shipping label that has not shown up yet.

As for the drive going bad, it happens, there were still some supply chain issues going on then, I'm guessing a few corners may have been cut or marginal components used to get things out the door. What I don't get is why no modern OS has something that pops up with SMART errors on the screen or sends alerts that you can configure included with it.

But, it's back up and running with a new drive.

-Dave
hero member
Activity: 714
Merit: 1010
Crypto Swap Exchange
December 12, 2024, 06:13:00 PM
#46
~~~
I'm surprised that your SSD severely deteriorated after only writing about 12.5 times the total device capacity in about two and a half years power-on time. That seems to me rather unusually low, even for a consumer Samsung Evo device (Samsung writes about a write endurance of ~1,200TBW (terrabytes written) for a 870 Evo 2TB model).

Barely 25TBW compared to advertised 1,200TBW sucks (assuming manufacturer's prefered 1TB equals 1012 bytes).
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
December 12, 2024, 08:37:14 AM
#45
Wouldn't it make more sense for you guys to run this thing on Windows Server, or even a LSTC version of Windows 10, if upgrades are that bad?

A server, by design, is supposed to have constant uptime. Windows updates mess with that, because the computers are not designed for server use.


Windows server still has monthly updates.
Don't kid yourself there are a lot of packages in linux that are also updated on a regular basis some of which you should reboot after doing anyway.

For my issue it's hardware not software. My drive didn't go bad because of the update or reboot, it was dying but it only came to my attention because the machine would not boot until I acknowledged that it knew the drive was bad.

As for what happened to the setup NeuroticFish had, it might have been the update that borked something in Windows but more and more I am seeing updates on ALL OSs bring out hardware issues that were lingering. Not sure why but it does seem to happen more when you click on the windows update button or type dnf upgrade in your linux console you will find out that your RAM was a bit off spec or that drive was not good or.....

-Dave
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
December 12, 2024, 04:19:14 AM
#44
Wouldn't it make more sense for you guys to run this thing on Windows Server, or even a LSTC version of Windows 10, if upgrades are that bad?

A server, by design, is supposed to have constant uptime. Windows updates mess with that, because the computers are not designed for server use.

I think they use their computer for all kinds of tasks, so using Windows Server isn't ideal due to less software support (e.g. lack of Microsoft Store). LTSC version is great choice though.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
December 12, 2024, 02:04:38 AM
#43
Wouldn't it make more sense for you guys to run this thing on Windows Server, or even a LSTC version of Windows 10, if upgrades are that bad?

A server, by design, is supposed to have constant uptime. Windows updates mess with that, because the computers are not designed for server use.
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
December 11, 2024, 10:49:05 AM
#42
And exactly 7 months after @NeuroticFish had to post about his rebuild I get to post about mine:



On the reboot from yesterdays windows updates it did not come up but sat there with a S.M.A.R.T. error waiting for me to hit F1

So yeah, it's down now. Going to get a new drive and just rebuild it from scratch. There is probably no data corruption, but why take the chance.

-Dave

legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!
May 11, 2024, 01:01:15 PM
#41
This needs imho a bump, hence I'll add an update of my situation.


Something bad has happened to my computer. Somehow a Windows update managed to make my Windows no longer start, no matter what I've tried. This means I had to reinstall and this means that I've lost my WSL / Linux under Windows along with what was installed there (an Electrs server).
After reinstalling Windows I've given Fulcrum another chance - it has a proper Windows exe after all - and right now I'm using only Fulcrum.

Some more details: during the past months I've also played with cables and I guess that one was not too good, the data from my external HDD got corrupted. That was the blockchain and the Electrs data. For quick block download I've set up all I've could to SSD and this was also an eye opener.

In my old setup Fulcrum was too slow simply because I've been using it from the external HDD (hats off, Electrs managed to behave well even in that setup). On SSD Fulcrum runs just fine.

My current setup has for Bitcoin data 3 folders symlink-ed to SSD (blocks\index, chainstate, indexes) and also Fulcrum.conf contains for datadir a folder on SSD. The total now taken on SSD is 204 GB, which I can manage. And with this setup it all runs just fine. Keep in mind that while bitcoind I run almost every time I open my computer, Fulcrum I open only when I need to open my Electrum, which is not that often. Still, it's okay.

So if you are under Windows and have some space on SSD, Fulcrum is definitely an option to consider for electrum server.
full member
Activity: 896
Merit: 193
web developer for hire
August 21, 2023, 03:27:55 AM
#40
After start.bat I'm getting the same errors. I've modified settings but I can't make progress. What's happened after getblock errors appeared is Bitcoin Core doesn't shut down. The shut down message box's there but it doesn't shut down so I've used task manager to close it.

I've tested EPS it's working fast. Bitcoin Core's shut down works normal. What I've decided is I'll stop testing until I get a new SSD. If Fulcrum's running Bitcoin Core operation’s affected so I'm placing my SSD responsible. I've download 935MB before getblock errors so it's the SSD. I'll update Fun & learning Bitcoin blockchain downloaded on 1TB Silicon Power 2.5 SSD.
legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!
August 21, 2023, 02:39:29 AM
#39
Did you find Fulcrum stop/restart issues with SSD or it's only for HDD?

It's not issues, it's just slowness at start/sync on HDD.
And no, I can't tell about SSD because a new SSD was not in the plan yet. (I'd say you know how that goes).
full member
Activity: 896
Merit: 193
web developer for hire
August 20, 2023, 03:27:45 PM
#38
I would try to mitigate your sync issue with an increased value for timeout from Core with a higher value than default bitcoind_timeout=30. See also that your Bitcoin Core can handle enough RPC requests from Fulcrum.
Maybe a bit too much on my Raspi but mine has rpcworkqueue=512 and rpcthreads=128 in bitcoin.conf.

You could also run Fulcrum with debug option -d to get more details in its log-file which may give you more clues what's going wrong.

Did you do anything special at the time when the getblock errors started to show up (2023-08-19 16:50:xx)?
I didn't do any thing special so don't know why errors for missing blocks started to show. It managed 935MB download before getblock errors. I'll modify timeout settings. I'm still trying I don't want to give up unless there isn't another option

I have even Bitcoin Core on HDD. Yes, I've done the IBD with chainstate and indexes temporarily on a SSD.
Clearly, Fulcrum DB creation will be awfully slow on HDD, but it works. I've done that too.
Imho after the initial DB creation the difference in performance may not be great (if you don't stop Fulcrum).

For me the sync after stop/restart (on HDD) was the thing that made me give up Fulcrum and keep Electrs.
Did you find Fulcrum stop/restart issues with SSD or it's only for HDD?
legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!
August 20, 2023, 06:54:10 AM
#37
I can't afford buying another SSD for some months

I have even Bitcoin Core on HDD. Yes, I've done the IBD with chainstate and indexes temporarily on a SSD.
Clearly, Fulcrum DB creation will be awfully slow on HDD, but it works. I've done that too.
Imho after the initial DB creation the difference in performance may not be great (if you don't stop Fulcrum).

For me the sync after stop/restart (on HDD) was the thing that made me give up Fulcrum and keep Electrs.
hero member
Activity: 714
Merit: 1010
Crypto Swap Exchange
August 20, 2023, 05:56:34 AM
#36
...
update it's downloading

Not quite, it's building its own database by requesting details of past transactions presumably from your local running Bitcoin Core RPC server (your Core should run at least with server=1 and txindex=1 in bitcoin.conf file).

There are some speedup tweeks for this initial database build, but it depends on how much RAM your machine has. Main tweeks in fulcrum.conf are settings for db_mem, db_max_open_files and fast-sync, see their documentation in https://github.com/cculianu/Fulcrum/blob/master/doc/fulcrum-example-config.conf.
I searched a little bit in the issues section on the Github and it seems the Fulcrum author recommends to leave those settings at default, particularly fast-sync is flagged more like experimental for newer versions of Fulcrum (I don't run the most recent one).

But it's not really necessary to fiddle around with the parameters, the defaults should be ok-ish, but slower than possible.

My Fulcrum runs on a Raspi with 8GB RAM (with Bitcoin Core and together with LND) and I had db_mem=1024, db_max_open_files=500 and fast-sync=2048 during the database build. Probably better don't use my settings, see above.

How much RAM does your Windows box has?


It started well but it's stopped the sync after 935MB downloaded. I've deleted the folder to restart but it's the same error. I don't know why it's failed it won't sync. I'll make changes trying to discover what's wrong.



In your previous screenshot the sync looked fine. It's strange that Fulcrum complains that blocks are not found on disk. This could be an issue with Bitcoin Core failing to answer all requests from Fulcrum (more a wild guess of mine).

I suggest to report your issue in Fulcrum's Github, the maintainer of Fulcrum is usually quite helpful and knows to interpret the error log messages much better.

The Fulcrum log says something of 8GB for the UTXO cache and available memory seems to say your machine might have 32GiB of RAM (not sure if this also accounts for configured virtual memory or real physical memory only; it says "physical").

I would try to mitigate your sync issue with an increased value for timeout from Core with a higher value than default bitcoind_timeout=30. See also that your Bitcoin Core can handle enough RPC requests from Fulcrum.
Maybe a bit too much on my Raspi but mine has rpcworkqueue=512 and rpcthreads=128 in bitcoin.conf.

You could also run Fulcrum with debug option -d to get more details in its log-file which may give you more clues what's going wrong.

Did you do anything special at the time when the getblock errors started to show up (2023-08-19 16:50:xx)?
full member
Activity: 896
Merit: 193
web developer for hire
August 19, 2023, 11:33:56 AM
#35
Let us know how it goes.
It started well but it's stopped the sync after 935MB downloaded. I've deleted the folder to restart but it's the same error. I don't know why it's failed it won't sync. I'll make changes trying to discover what's wrong.



What are the prices over there for m.2 drives?
I'll post prices after I've checked newest discounts or deals. $35 prices from Amazon are superb but they're for Silicon Power I won't buy theirs again. I've reviewed my experience with their 1TB 2.5 SSD Fun & learning Bitcoin blockchain downloaded on 1TB Silicon Power 2.5 SSD
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
August 19, 2023, 10:00:04 AM
#34
Let us know how it goes.
Keep in mind the sync will slow down as you progress, since all the blocks are full and it's a lot more data to crunch, but once it's done it's fine.
I did not do a lot of testing on performance of CPU / RAM will effect it and such since it's an old machine just dedicated to that.

What are the prices over there for m.2 drives?
I tried to find this one: https://www.amazon.com/gp/product/B07PHJCCY3
or this one: https://www.amazon.com/gp/product/B07ZGJVTZK
on other Amazon sites but it keeps redirecting me back to the US site.

Both are $34.97 + tax here.

-Dave
full member
Activity: 896
Merit: 193
web developer for hire
August 19, 2023, 08:15:35 AM
#33
I can't afford buying another SSD for some months but I've seen SSD prices fall at Amazon US EU sites. I'm using Silicon Power 1TB 2.5 SSD it's running Bitcoin Core. It's slow in some ways but it's functioning fine. I'd like to buy m.2 next.

I'll test Fulcrum because I'm curious how it's going to perform against EPS on Windows. I'm downloading Fulcrum from the link in the OP. I've got latest Fulcrum-1.9.1-win64.zip version so I'll start installing now.

update it's downloading

legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
August 19, 2023, 06:34:59 AM
#32
The biggest thing I like about it, is that since it is a full electrum server it allows you to just point your client at it and go.
Want to import a private key into your wallet, nothing else to do.
You can have your desktop and your phone and just about anything else you want pointing at it.
Since I have it mapped back from the public IP space to it's private IP I can use it anywhere.

I am not super concerned about privacy, as I have explained elsewhere, but it's still nice to know that it does make it more difficult to track what I am doing. On, the off chance anyone wanted to.

As for the storage, to run core you are already over a 512GB drive. So you need the 1TB anyway. The cost really is so minimal as not to matter.
Amazon has name brand 1TB m.2 for under $40 delivered.

-Dave
full member
Activity: 896
Merit: 193
web developer for hire
August 19, 2023, 04:27:03 AM
#31
I'm not sure what you have misunderstood, but Ethereum is not part of this discussion.
And afaik Fulcrum doesn't download those GB, it creates its database from what it reads from bitcoin core.
It should've been extra not Ethereum so sorry for the mistake.

About taste, I prefer Electrs, but Fulcrum has its use if one has a server running 24/7 and wants various data, from multiple wallets in Electrum to a local block explorer.
I don't need it running like a server so it's central difference's Fulcrum runs 24/7 serving a local blockchain explorer. I'm using my Win 11 EPS when there's a need so don't need a server. If it's a solution ppl can use for themselves it's an option so it's good seeing so many different solutions.

I've edited my post. Thanks ETFbitcoin NeuroticFish for explaining

And as @NeuroticFish said, those 102GB are new database which generated by Fulcrum based on Bitcoin blockchain which provided by Bitcoin Core. Those database allow you to perform search (such as history transaction of Bitcoin address) very quickly. Although if you also rarely add new master public key/address, there's not benefit of running Fulcrum for your use case.

Does Fulcrum only run in CLI or conjunction with Electrum wallet after it's downloaded on Windows?
I actually never use Fulcrum. But it's definitely CLI software, where you need to run/execute it separately.
legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!
August 19, 2023, 12:59:37 AM
#30
Electrum wallet with EPS doesn't require Ethereum blockchain download but the link's saying Fulcrum needs 102GB download. I'd prefer waiting a few minutes for rescan after manually adding master public key/address to my config.ini instead of adding 102GB extra blockchain to my SSD.

I'm not sure what you have misunderstood, but Ethereum is not part of this discussion.
And afaik Fulcrum doesn't download those GB, it creates its database from what it reads from bitcoin core.

About taste, I prefer Electrs, but Fulcrum has its use if one has a server running 24/7 and wants various data, from multiple wallets in Electrum to a local block explorer.

My Windows EPS gives instant TXIDs messages when I'm sending or receiving so it's good performance after it's rescanned. If that's the only difference I wouldn't test Fulcrum because EPS provides something similar for less blockchain download.

Does Fulcrum only run in CLI or conjunction with Electrum wallet after it's downloaded on Windows?

As I said, it's a matter of taste and use. Can "your" EPS serve a local block explorer? (rhetorical, I know it cannot).
Fulcrum is a server on top of Bitcoin Core(*) that implements the protocol Electrum is using. Many others use that protocol (Sparrow can use it, block explorers use it), but that doesn't mean that Electrum is needed to be installed in order to have Fulcrum working.

(*) afaik it also works with BCH or BSV, I don't know nor care which one of them and what server that one has; that's off topic anyway.
full member
Activity: 896
Merit: 193
web developer for hire
August 18, 2023, 06:13:33 PM
#29


Bitcoin Core's taking 540GB on my SSD. Electrum wallet with EPS doesn't require Ethereum extra blockchain download but the link's saying Fulcrum needs 102GB download. I'd prefer waiting a few minutes for rescan after manually adding master public key/address to my config.ini instead of adding 102GB extra blockchain to my SSD.

My Windows EPS gives instant TXIDs messages when I'm sending or receiving so it's good performance after it's rescanned. If that's the only difference I wouldn't test Fulcrum because EPS provides something similar for less blockchain download.

Does Fulcrum only run in CLI or conjunction with Electrum wallet after it's downloaded on Windows?

Both Fulctrum and EPS are implementation of Electrum server. Unlike EPS which require you to add master public key/address manually to config file, Fulctrum have benefit of addressing all address at good performance[1]. That means you could just create new wallet/watch-only wallet without re-editing EPS config file and wait for rescan.

[1] https://www.sparrowwallet.com/docs/server-performance.html
Pages:
Jump to: