• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Electrum Dark

OK. Got things working again for the client... You are correct Vertoe - it was a mess! I apologize!

This is what happened: I was testing the changes on a Linux machine, but my Mac was my production unit (with my tools, DiffMerge, TextWrangler, Github, etc) - so a lot of back and forth between the two machines. To top it off, I had to fork Propulsions github account, which was a fork of Electrum, and my USB compression was messing things up... and then.. a 6 hours power outage at my place - no internet - no computers... wtf!

I just deleted my client account on Github tonight, and started from scratch. Copied the latest Electrum directly to my Mac (not even a fork). Made the necessary mods. Copied the mods to my Linux machine to ensure that it was working, and then committed on Github. No link to Propulsions on this one. The server account is linked to Propulsions, but not the client. My version of the client is not linked to any repository (despite my original download from Electrum).

There were also issues with putting "-" or "_" between electrum and drk, so I went with electrumdrk instead.

1. For the client, go to my Github account - download on your Linux machine.

2. Install darkcoin_hash first; by going to the lib/darkcoin_hash library, and sudo python setup.py install it

3. Install electrumdrk with: sudo python setup.py install

4. You may have to do: pyrcc4 icons.qrc -o gui/qt/icons_rc.py
But only once - before it didn't worked at all (???)

5. Then start the program with: sudo python electrumdrk

If anyone can automate that process better - be my guest!

I will have a server running on the main net (IRC #electrum-drk) in about 6 hours at drk1.electrum-servers.us (re-building the UXTO from scratch at the moment), with the Darkcoind daemon at 0.11.1.25 (man.. we went from 1.14 to 1.25 in a week!).
 
Last edited by a moderator:
Sorry to just drop in and not be able to follow most of what ye are doing, but what would be the ETA on a Windows Electrum wallet. (Not saying this is the most pressing thing in the world, just curious).
 
I just deleted my client account on Github tonight, and started from scratch. Copied the latest Electrum directly to my Mac (not even a fork). Made the necessary mods. Copied the mods to my Linux machine to ensure that it was working, and then committed on Github. No link to Propulsions on this one. The server account is linked to Propulsions, but not the client. My version of the client is not linked to any repository (despite my original download from Electrum).

Then we'll have to redo the repo, we definatly need to fork original Electrum repo to be able to keep up with upstream. Otherwise maintenance will be a PITA ...
 
I just deleted my client account on Github tonight, and started from scratch. Copied the latest Electrum directly to my Mac (not even a fork). Made the necessary mods. Copied the mods to my Linux machine to ensure that it was working, and then committed on Github. No link to Propulsions on this one. The server account is linked to Propulsions, but not the client. My version of the client is not linked to any repository (despite my original download from Electrum).
sorry but i wont use this. we need a clean commit history.

thanks for your effords though.
 
sorry but i wont use this. we need a clean commit history.

thanks for your effords though.
If anyone is more versed with Github commands, then, this is the recipe:

1. Fork Electrum upstream

2. Add Vertoe darkcoin_hash library from Github

3. In bitcoin.py, add:
import darkcoin_hash as darkhash
HashX11 = lambda x: darkhash.getPoWHash(x)


4. In blockchain.py, modify L183 with:
return rev_hex(HashX11(self.header_to_string(header).decode('hex')).encode('hex'))

5. In transaction.py, modify L566 & 570 with:
if addrtype == 76
elif addrtype == 16:


6. Disable the target verification in blockchain.py (comment out L115, 119, 120, 142,150 and 151) or insert DGW code somewhere.

And that's it - besides the cosmetics of changing BTC for DRK, etc and changing the name of the software from Electrum to ElectrumXXX.

Enjoy!
 
Last edited by a moderator:
vertoe, right now the configuration doesn't add the directories. The default is /var/electrum-drk-server you have to manually make it, it's the same way with the regular Bitcoin electrum.

In short, when creating a server for the first time, you need to install the hash in src/darkcoin_hash. sudo python setup.py install
create a directory /var/electrum-drk-server and chown it to the user you'll run the server as.
run the config in electrum-drk-server Follow the instructions.
Edit the configuration it generates located in /etc/electrum-drk.conf
Finally back in the source directory 'electrum-drk-server' ./run_electrum_server

I'll also add a location for downloading the block_headers if ELM4ever has a full set, email them to me please. My username at this website . org.

My repository is missing ELM4ever's point number 4 and 5 he's made a pull request. I'll have it added and should have a fully functioning server running with an updated how-to on how to run it from scratch in about five hours.
 
vertoe, right now the configuration doesn't add the directories. The default is /var/electrum-drk-server you have to manually make it, it's the same way with the regular Bitcoin electrum.

In short, when creating a server for the first time, you need to install the hash in src/darkcoin_hash. sudo python setup.py install
create a directory /var/electrum-drk-server and chown it to the user you'll run the server as.
run the config in electrum-drk-server Follow the instructions.
Edit the configuration it generates located in /etc/electrum-drk.conf
Finally back in the source directory 'electrum-drk-server' ./run_electrum_server

I'll also add a location for downloading the block_headers if ELM4ever has a full set, email them to me please. My username at this website . org.

My repository is missing ELM4ever's point number 4 and 5 he's made a pull request. I'll have it added and should have a fully functioning server running with an updated how-to on how to run it from scratch in about five hours.
The recipe above is for the client, not the server. For the server, my pull request to your Github account is still valid - and I am currently running a server based on that version, at drk1.electrum-servers.us - on the main net.
 
The recipe above is for the client, not the server. For the server, my pull request to your Github account is still valid.

Woops, alright great! Is E_WhynotMe you? Also can you email me your blockchain_headers? I'll host them today.
 
Yes.
UTXOs for Darkcoin, with block headers, up to block 220640, pruned at 10k, available here - 300 MB file.

Thanks ELM4ever. I've been tied up with the mining pool all day but I'll try to update the repositories and get a server from a MN set up on IRC before the end of the day.
 
https://github.com/Propulsions/electrum-drk-server

Everything has been updated and should be fully functional.
There is a KISS instructions located in the src to get you started.

Seems like we're now ready to tackle the client. If you can spare some time to set up the server and test it out, please do so!

The database can be grabbed from here.
Bash:
cd ~
wget https://mega.co.nz/#!zB9V1KpC!cSywaEUyzabukRs_mWE00kBLvcWD-3Y3T8r-sCrjgMM
tar -xvf DRK.tar.gz
sudo mkdir /var/electrum-drk-server/
cp -ar ~/DRK/electrum-leveldb-utxo-10000/* /var/electrum-drk-server/

Edit: Megaupload doesn't do wget it seems. You'll have to rsync it for now.
 
Last edited by a moderator:
IRC has some issues. I believe we're still connecting to the bitcoin IRC network.

Here's an unrelated error. It's showing that as my hostname.
[16/02/2015-05:44:22] joining IRC
[16/02/2015-05:44:33] gethostbyname error blockchain.fh-biergarten.de

Doing electrum-drk-server peers returns this:

[
"E_tHwg",
"E_BE",
"E_bf",
"E_DragonZone",
"E_Jdubya",
"E_dunp",
"E_XIRO",
"E_RANDOM",
"E_electnwryr",
"E_bulldozer2003",
"E_ECDSA",
"E_drollette",
"E_206i",
"E_NOIP",
"E_prop_drk_mn2", <-- That one was mine when it connected to IRC without the hostname error.
"E_JWU42_E",
"E_US",
"E_hsmiths",
"E_hachre_e3",
"E_molec"
]

Not seeing yours ELM4ever, Might need to change the ports and get all these electrum-drk-repositories consistent.
Also, electrum-drk has been set up to use "D_" for IRC as well. I missed a line on the join to apply "D_" and instead it used "E_". That'll make it easier to diagnose which networks the electrum servers should be on.
 
IRC has some issues. I believe we're still connecting to the bitcoin IRC network.

Here's an unrelated error. It's showing that as my hostname.
[16/02/2015-05:44:22] joining IRC
[16/02/2015-05:44:33] gethostbyname error blockchain.fh-biergarten.de


Not seeing yours ELM4ever, Might need to change the ports and get all these electrum-drk-repositories consistent.
Also, electrum-drk has been set up to use "D_" for IRC as well. I missed a line on the join to apply "D_" and instead it used "E_". That'll make it easier to diagnose which networks the electrum servers should be on.

Propulsion: was running with E_ for the last 48h. Just downloaded your "official" version from Github, and I am now on D_WhynotMe in IRC #electrum-drk
 
Propulsion: was running with E_ for the last 48h. Just downloaded your "official" version from Github, and I am now on D_WhynotMe in IRC #electrum-drk
I had two servers connected yesterday. We shouldn't be seeing the Bitcoin electrum Servers in the peers list though.

Yes the server is running, but lets stick to testnet for now. I dont want to play with real coins yet. I will look into forking and merging the client later again.

Bah, testnet? Go big or go home Vertoe. ;) (really though that's a decent idea.)
 
Funny thing with testnet. Check this out: https://github.com/spesmilo/electrum/issues/541
In short, there is no testnet!

Everything will have to be modified for it specifically. I'll make a new repository called electrum-drk-server-tn. It'll be operational by the end of this week and will update this thread. (really need some more testers)

For the regular mainnet electrum-drk-server. There still seem to be some issues with it -- https://github.com/Propulsions/electrum-drk-server/issues -- yet for the most part it's getting there.

It'll be smart going forward to work with a testnet version for both the client and server. No reason for anyone to lose mainnet coins over this.

Please by all means if you are able to make pull requests or open new issues feel free!

Thanks!

**Don't want Vertoe to go home**

EDIT: screw the new repository. Using a new branch: https://github.com/Propulsions/electrum-drk-server/tree/testnet
 
Last edited by a moderator:
Back
Top