Running an Electrum server on Windows using Fulcrum

19 replies 445 views
L0neDegenSenior Member
Posts: 331 · Reputation: 1464
#1Jan 18, 2019, 11:21 AM
If you're looking to set up an Electrum server, one way to do it is through Fulcrum. I've actually got an Electrum server up and running (Electrs), and I've created a detailed guide for that in the past. But I also tested out Fulcrum, and I'd hate to just get rid of it without sharing a guide for those interested. So, one big plus for Fulcrum is that on Windows, you can grab precompiled binaries for Bitcoin Core, Fulcrum, and Electrum, set them up, and get everything running without diving into Windows Subsystem for Linux (WSL). Another good thing is its speed: it handles requests way quicker than Electrs. In my experience (using an HDD, not too frequently for short tasks), Fulcrum takes longer to get to a state where I can actually use it compared to Electrs. But honestly, I'm not as keen on Fulcrum as I am on Electrs. * For starters, Fulcrum is created by someone with ties to BCH, meaning it could be more optimized for BCH than Bitcoin. * Plus, as I mentioned, Fulcrum starts and syncs slower than Electrs, and that's a deal-breaker for my needs. A bit more about this guide: it's based on how I use Fulcrum, just for myself. No chatting with other servers, no public announcements about my server, and no SSL. I kept it really straightforward. If anyone wants to build on this and make it more complex, feel free to do so. Since an Electrum server runs on top of a Bitcoin Core node, I’ll touch on Bitcoin Core first, but I'll keep it brief. Bitcoin Core is pretty much the same as what I had in my previous guide, with just a few minor tweaks in the config.
2 Reply Quote Share
basedmoonMember
Posts: 1 · Reputation: 96
#2Jan 18, 2019, 01:24 PM
I recommend including the asc text in the OP because if github has been compromised and the asc has been changed for the latest release people can verify with this guide whether it has been changed or not. I think it is just a extra step in security and it might be a pain for you to keep updating it with every new release but it will add another layer of trust.
2 Reply Quote Share
L0neDegenSenior Member
Posts: 331 · Reputation: 1464
#3Jan 20, 2019, 05:08 AM
I am not the developer of Fulcrum, I'm just an user. I would get the same asc file as you'd do. And if I'd put the content of the asc file into OP I'd have to update it with each new update of Fulcrum, which is not something I would want to do. So, as I said in OP, the user will look for the asc with the same name as the zip he's about to download/use. For Fulcrum-1.9.0-win64.zip it would be Fulcrum-1.9.0-win64.zip.asc.
4 Reply Quote Share
L0neDegenSenior Member
Posts: 331 · Reputation: 1464
#4Jan 20, 2019, 08:30 AM
Thank you for the kind words. I've fired it up and I have the numbers while syncing (blocks from about half a day) - first image and from when it was quiet - second image. The data is from both Task Manager and Process Explorer. As you see while syncing it goes up to 1GB, but when it's cool it's much lower. Also I'd add that I have in config which is higher than the default and may have as result some more memory allocated, but honestly I didn't read much into the docs and I may be wrong with the implications. However, at some point at startup it was showing:
6 Reply Quote Share
WildBearSenior Member
Posts: 206 · Reputation: 1230
#5Jan 21, 2019, 11:12 PM
Syncing will always use more disk usage and ram and I think that is good performance for a program on Windows. It would be nice to compare it with Electrum running on the Linux sub system and see if it uses more or less. I think it could be more efficient because it does not have the Linux sub system running in the background too.
1 Reply Quote Share
alt21Senior Member
Posts: 398 · Reputation: 1732
#6Jan 22, 2019, 04:42 AM
Hello! I just started syncing the data. I am just wondering, what am I syncing actually? What does my electrum server need to download?
4 Reply Quote Share
alt21Senior Member
Posts: 398 · Reputation: 1732
#7Jan 22, 2019, 06:29 AM
ok, so I guess that's why I need txindex=1 in bitcoin core conf file
1 Reply Quote Share
L0neDegenSenior Member
Posts: 331 · Reputation: 1464
#8Jan 22, 2019, 07:06 AM
Bitcoin Core downloads/synchronizes the blockchain. You'll need half a terra for that nowadays, btw. The Electrum Server will get Bitcoin Core's data and creates a database on top of that for easy retrieval of various things your wallet or a block explorer (!) would need. Depending on how it uses the data, I guess that an Electrum server can also survive without txindex (just the sync could be slower), depending on what data it gets from Bitcoin Core and what it stores. Well, Fulcrum specifically asks for txindex to be 1.
0 Reply Quote Share
colddiamondHero Member
Posts: 623 · Reputation: 2467
#9Jan 22, 2019, 09:46 AM
Since I never ran it I'm trying it out now. Put a 1TB spinning drive in a 4th gen i3 with 8GB of ram and am in the process of download the blockchain now. Somebody remind me in a week to take a look at how it's going. I really hate spinning drives but it's all I have for larger then 512GB in the office. All the real ones are in the DC. Looks interesting since it's a compiled executable along with core it should allow people who 'don't know computers' to run their own electrum server without too much effort. Which is good for privacy. -Dave
3 Reply Quote Share
alt21Senior Member
Posts: 398 · Reputation: 1732
#10Jan 22, 2019, 01:47 PM
Any feedback?? I am syncing slowly personally... I had to interrupt for several days and I just started the process yesterday night.
5 Reply Quote Share
colddiamondHero Member
Posts: 623 · Reputation: 2467
#11Jan 22, 2019, 05:55 PM
Core is still syncing slowly: There is a issue with the hardware for some reason the CPU keeps throttling. Was going to stop and start on a different box, but decided to see if it would finish syncing and then how Fulcrum would work on something with an old slow drive and funky hardware. Kind of a test to see if someone could do it on an old PC they pulled out of the closet. Although I don't know exactly when this PC was built, it has to be close to 8 or 9 years at this point. Just like what someone would have in storage to do something with sooner or later but never did. -Dave
1 Reply Quote Share
alt21Senior Member
Posts: 398 · Reputation: 1732
#12Jan 24, 2019, 02:56 PM
So as I ve seen above you are using a spinning drive to store bitcoin and fulcrum data, is that correct? If so, is there any other storage device on the PC? Or is it the only disk you have?
3 Reply Quote Share
colddiamondHero Member
Posts: 623 · Reputation: 2467
#13Jan 24, 2019, 04:45 PM
That is the one and only disk. Trying to make it as 'authentic' as possible, except for the fact that I put the drive in, it's just an old machine that I pulled off a shelf. The same way someone who wanted to run their own node + electum server might have an old machine sitting around or get one from a friend. No more memory, no multiple drives, no figuring out (or even noticing) that the CPU keeps throttling back. Just install core and wait, and then install Fulcrum and wait. Will play with tweaks after that. -Dave
1 Reply Quote Share
alt21Senior Member
Posts: 398 · Reputation: 1732
#14Jan 24, 2019, 10:38 PM
Alright! Fair enough! I also run Bitcoin Core on an external HDD and after the initial synch, it works flawlessly now.
1 Reply Quote Share
colddiamondHero Member
Posts: 623 · Reputation: 2467
#15Jan 25, 2019, 04:04 AM
Still working on this. But, it does show to me at lest that we as a group should probably have better instructions for people then just download core and let it sync the blockchain. 1) Windows update forced a reboot with the patches last week and I did not notice for a few days so that added some time to the IBD. That's on me. 2) Lost power and the PC did not power on. Yes, that's on me again. But with those 2 points above, someone who DOES know better can still drag what should be a 1 week or less IBD into a 2 week fiasco. Can you picture a normal user dealing with this. Yes, we all know SSD, faster PC, and so on and this becomes a non issue. But someone just reusing an old PC is going to be miserable. -Dave
0 Reply Quote Share
alt21Senior Member
Posts: 398 · Reputation: 1732
#16Jan 25, 2019, 07:18 AM
Hmm. I get your point, however I don't understand what you mean by the underlined text.
0 Reply Quote Share
L0neDegenSenior Member
Posts: 331 · Reputation: 1464
#17Jan 25, 2019, 10:45 AM
You're right. Putting at least chainstate and the indexes onto a small SSD at least until IBD is over helps a lot. A good dbcache may also help. Using UTP instead of old generation wireless makes a difference too. But these are mentioned in Bitcoin Core topics, better than I could write them. I've done my IBD on my main computer, with SSD and the data disk as external. Then I've moved everything to the final position. PS. Initial sync of Fulcrum is also rather lengthy on HDD iirc.
2 Reply Quote Share
gw3i1337Full Member
Posts: 148 · Reputation: 495
#18Jan 25, 2019, 11:55 AM
Do you have any experience with Electrs and may you compare the performance? Because that article (https://www.sparrowwallet.com/docs/server-performance.html) made my think if no to try Fulcrum... But would I really feel it as a simple user?
2 Reply Quote Share
L0neDegenSenior Member
Posts: 331 · Reputation: 1464
#19Jan 25, 2019, 02:32 PM
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. In both cases Bitcoin core sync is not taken into account.
1 Reply Quote Share
gw3i1337Full Member
Posts: 148 · Reputation: 495
#20Jan 25, 2019, 05:26 PM
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...
2 Reply Quote Share

Related topics