Pages:
Author

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

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
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
August 18, 2023, 05:44:04 AM
#28
I've correctly installed Electrum Personal Server to use over Tor but didn't try Fulcrum. I've made my thread about my experience Fun & learning with Electrum EPS, Electrum wallet & Bitcoin Core QT in Win 11

What's the benefit of using Fulcrum if I'm using EPS?



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
full member
Activity: 896
Merit: 193
web developer for hire
August 17, 2023, 11:51:35 AM
#27
I've correctly installed Electrum Personal Server to use over Tor but didn't try Fulcrum. I've made my thread about my experience Fun & learning with Electrum EPS, Electrum wallet & Bitcoin Core QT in Win 11

What's the benefit of using Fulcrum if I'm using EPS?

legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
August 17, 2023, 11:37:04 AM
#26
So with ordering the m.2, waiting a day (thanks Amazon), installing it, installing windows and updating, and installing core and downloading the blockchain and then installing Fulcrum and letting it do it's thing it's back up and running.

Probably, not worth really having my own Electrum server up and running, but it's nice to know it's there.

Eliminating the entire windows good / windows bad things. The setup it brain dead simple. And now that I have it configured to never reboot (hopefully) unless I do it, the rebuild should not be an issue.
And if something does happen, using even what is the cheapest 1TB ssd I could find, really does make the entire process of blank machine to finished and running very quick.

-Dave
legendary
Activity: 3542
Merit: 1965
Leading Crypto Sports Betting & Casino Platform
August 10, 2023, 07:42:52 AM
#25
I think this is a better solution to run your own Electrum Server, because we saw the exploit that happened a while ago, where people re-directed users to phishing servers and they lost some coins. (Yea, I know they fixed this... but that was after it happened)

The thing is.... how many people are willing to sacrifice the resources for doing a couple of transactions a year? There are also a steep learning curve to maintain and secure it. (Besides the ordinary Joe public, I love this sort of thing.... so thank you for posting it)  Wink
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
August 09, 2023, 06:26:56 PM
#24
Well fuckballs.....

MSFT had their monthly patches yesterday and the PC running Fulcrum decided to install them and reboot and did not cleanly exit fulcrum before doing that.
And now it's saying that the database is corrupt and it's trying to redo it. I'm too busy to do a deep look, is there a way to check / repair the fulcrum DB instead of having it redo everything.

And, yes I know to ask in github but I figure this might be quicker.

-Dave


Unfortunately I can't help you but I wonder how it rebooted without asking you.

I *thought* I had it set to install but not reboot, after it happened in May, I either did not apply it or something else changed.
Actually not going to deal with the re-sync on the spinning drive at this point a 1TB SSD m.2 is under $40 with tax, going to put that in.

While it was working I had no issues. Due to the fact that both my umberl and mynodebtc are offline at the moment I was using this as my go-to electrum server.

-Dave
hero member
Activity: 560
Merit: 1060
August 09, 2023, 01:58:57 PM
#23
Well fuckballs.....

MSFT had their monthly patches yesterday and the PC running Fulcrum decided to install them and reboot and did not cleanly exit fulcrum before doing that.
And now it's saying that the database is corrupt and it's trying to redo it. I'm too busy to do a deep look, is there a way to check / repair the fulcrum DB instead of having it redo everything.

And, yes I know to ask in github but I figure this might be quicker.

-Dave


Unfortunately I can't help you but I wonder how it rebooted without asking you.
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
August 09, 2023, 01:47:47 PM
#22
Well fuckballs.....

MSFT had their monthly patches yesterday and the PC running Fulcrum decided to install them and reboot and did not cleanly exit fulcrum before doing that.
And now it's saying that the database is corrupt and it's trying to redo it. I'm too busy to do a deep look, is there a way to check / repair the fulcrum DB instead of having it redo everything.

And, yes I know to ask in github but I figure this might be quicker.

-Dave
Pages:
Jump to: