Pages:
Author

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

full member
Activity: 714
Merit: 160
I'm a web developer. Hire me for your work.
August 21, 2023, 04: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: 3500
Merit: 6205
Looking for campaign manager? Contact icopress!
August 21, 2023, 03: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: 714
Merit: 160
I'm a web developer. Hire me for your work.
August 20, 2023, 04: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: 3500
Merit: 6205
Looking for campaign manager? Contact icopress!
August 20, 2023, 07: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, 06: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: 714
Merit: 160
I'm a web developer. Hire me for your work.
August 19, 2023, 12:33:56 PM
#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: 3444
Merit: 6182
Crypto Swap Exchange
August 19, 2023, 11: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: 714
Merit: 160
I'm a web developer. Hire me for your work.
August 19, 2023, 09: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: 3444
Merit: 6182
Crypto Swap Exchange
August 19, 2023, 07: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: 714
Merit: 160
I'm a web developer. Hire me for your work.
August 19, 2023, 05: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: 3500
Merit: 6205
Looking for campaign manager? Contact icopress!
August 19, 2023, 01: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: 714
Merit: 160
I'm a web developer. Hire me for your work.
August 18, 2023, 07: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: 2842
Merit: 7333
Crypto Swap Exchange
August 18, 2023, 06: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: 714
Merit: 160
I'm a web developer. Hire me for your work.
August 17, 2023, 12:51:35 PM
#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: 3444
Merit: 6182
Crypto Swap Exchange
August 17, 2023, 12:37:04 PM
#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: 3388
Merit: 1943
Leading Crypto Sports Betting & Casino Platform
August 10, 2023, 08: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: 3444
Merit: 6182
Crypto Swap Exchange
August 09, 2023, 07: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
sr. member
Activity: 406
Merit: 896
Intern at Foxpup's merit cycling club
August 09, 2023, 02: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: 3444
Merit: 6182
Crypto Swap Exchange
August 09, 2023, 02: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
legendary
Activity: 3444
Merit: 6182
Crypto Swap Exchange
May 17, 2023, 11:34:50 AM
#21
It depends on how you plan to use it.
If you start it up and forget about it, Fulcrum would be better since it can deliver better performance after it's synced.
If you plan to start it up every now and then when you need it and don't mind if a wallet with many transactions is not lightning fast to receive, Electrs is better choice.

The other question is if I really need it - I have electrs running and I really do not feel I must change it to something else. But you know - numbers in performance comparison are tempting.
Maybe one day if I have nothing better to do...


If it ain't broke don't fix it.....

Anyway, got fulcrum running and synced. No real issues there. Will say that outside of the BTC syncing issues that I mentioned earlier that it's a much simpler run then electrs.
A few lines in a config file, run an exe, wait, done.

And this I think is a good thing. People who want to do it themselves but don't have a good knowledge of OSs and other things can with very little work have their own private electrum server running on an old Windows box.  Yes there are 100s of other things to consider and so on. But for a close to run and done pre-compiled solution it does work.

-Dave
Pages:
Jump to: