Bitcoin Forum
April 23, 2024, 01:32:19 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 »  All
  Print  
Author Topic: Electrum server discussion thread  (Read 61409 times)
vuce
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
June 24, 2012, 11:57:50 PM
Last edit: June 25, 2012, 01:03:03 AM by vuce
 #61

Is there a way of getting "blockchain.address.get_history" from a certain block hash onwards only? I'd imagine downloading full history of some addresses with a lot of traffic might be somewhat resource-consuming.

Maybe something like:
Code:
{
  "id": 0,
  "method": "blockchain.address.get_history",
  "params": [
    "17Su3J2RWnm2WLqf8pfpgj4hFUf6MFH9SZ",
    "000000000000077b2195a0c9db6f4179cb98ef579f300943b3a69357ac9e2028"
  ]
}

With the block hash from subscribe this could be very useful.
1713879139
Hero Member
*
Offline Offline

Posts: 1713879139

View Profile Personal Message (Offline)

Ignore
1713879139
Reply with quote  #2

1713879139
Report to moderator
1713879139
Hero Member
*
Offline Offline

Posts: 1713879139

View Profile Personal Message (Offline)

Ignore
1713879139
Reply with quote  #2

1713879139
Report to moderator
Be very wary of relying on JavaScript for security on crypto sites. The site can change the JavaScript at any time unless you take unusual precautions, and browsers are not generally known for their airtight security.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1713879139
Hero Member
*
Offline Offline

Posts: 1713879139

View Profile Personal Message (Offline)

Ignore
1713879139
Reply with quote  #2

1713879139
Report to moderator
1713879139
Hero Member
*
Offline Offline

Posts: 1713879139

View Profile Personal Message (Offline)

Ignore
1713879139
Reply with quote  #2

1713879139
Report to moderator
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
June 25, 2012, 04:13:18 AM
 #62

I should have another server up again soon.  I ran one for a little bit, but then Abe died and I haven't bothered since.

bitfoo
Donator
Sr. Member
*
Offline Offline

Activity: 289
Merit: 250



View Profile
June 25, 2012, 04:30:47 AM
 #63

I'm now running a server as well to hopefully provide some redundancy for users.

ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
June 25, 2012, 06:15:27 AM
 #64

Is there a way of getting "blockchain.address.get_history" from a certain block hash onwards only? I'd imagine downloading full history of some addresses with a lot of traffic might be somewhat resource-consuming.

Maybe something like:
Code:
{
  "id": 0,
  "method": "blockchain.address.get_history",
  "params": [
    "17Su3J2RWnm2WLqf8pfpgj4hFUf6MFH9SZ",
    "000000000000077b2195a0c9db6f4179cb98ef579f300943b3a69357ac9e2028"
  ]
}

With the block hash from subscribe this could be very useful.

yes, I am planning something like that.
get_status will be deprecated, and the client will send a hash of its current history

Electrum: the convenience of a web wallet, without the risks
ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
June 26, 2012, 02:32:22 PM
 #65

Can I ask you what kind of resources a electrum server uses or rather what kind of resources I should dedicate to it to have it running stable.

post scriptum:
 * make sure you use a 64-bit OS
 * the first time you import the blockchain in abe, stop bitcoind during the import, it will go much faster.
 * I do not currently use a SSD for ecdsa.org, but I would pick a VPS with SSD if I had to redo this

Electrum: the convenience of a web wallet, without the risks
vuce
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
June 27, 2012, 05:09:19 PM
 #66

Thomas, is there any specification for the server commands? I have trouble with some of the "methods" (namely "blockchain.address.subscribe"), but it might be due to me not understanding what it actually does. I've looked at the stratum protocol draft (I'm assuming electrum uses this or is at least based on it?) but it doesn't seem to have any real info either.
ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
June 27, 2012, 05:10:48 PM
 #67

Thomas, is there any specification for the server commands? I have trouble with some of the "methods" (namely "blockchain.address.subscribe"), but it might be due to me not understanding what it actually does. I've looked at the stratum protocol draft (I'm assuming electrum uses this or is at least based on it?) but it doesn't seem to have any real info either.

the specs are hosted on the bitcoinconsultancy wiki. that wiki is down atm. there is no ETA afaik

Electrum: the convenience of a web wallet, without the risks
genjix
Legendary
*
Offline Offline

Activity: 1232
Merit: 1072


View Profile
June 27, 2012, 05:19:53 PM
 #68

vuce, i made an implementation of the server backend and created the server frontend so i can help you out. you should come to #electrum on Freenode.
vuce
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
June 27, 2012, 08:37:15 PM
 #69

vuce, i made an implementation of the server backend and created the server frontend so i can help you out. you should come to #electrum on Freenode.
Managed to figure it out, but I'll drop by if I have any more questions, thanks genjix!
bitfoo
Donator
Sr. Member
*
Offline Offline

Activity: 289
Merit: 250



View Profile
July 08, 2012, 06:28:18 AM
 #70

Here's a note about running the electrum server on a 32-bit machine. The issue is that abe tries to mmap the blk000x.dat file, which may be too large to fit in 32-bit virtual memory. I use a patch for bitcoin that reduces the max size of each dat file to ~500MB:

Code:
diff -ur bitcoin-0.6.2_orig/src/main.cpp bitcoin-0.6.2/src/main.cpp
--- bitcoin-0.6.2_orig/src/main.cpp 2012-07-07 23:18:28.365376724 -0700
+++ bitcoin-0.6.2/src/main.cpp 2012-06-19 18:40:45.842931405 -0700
@@ -1865,7 +1865,7 @@
         if (fseek(file, 0, SEEK_END) != 0)
             return NULL;
         // FAT32 filesize max 4GB, fseek and ftell max 2GB, so we must stay under 2GB
-        if (ftell(file) < 0x7F000000 - MAX_SIZE)
+        if (ftell(file) < 0x1F000000 - MAX_SIZE)
         {
             nFileRet = nCurrentBlockFile;
             return file;

The idea for this patch comes from this post by John Tobey. The "right" way to do this may be to fix abe to only mmap the file partially, but until then, this little hack works.

wabber
Member
**
Offline Offline

Activity: 85
Merit: 10


View Profile
July 12, 2012, 01:54:26 PM
 #71

I've set up an electrum server some time ago for me and my friends because we didn't want to download the blockchain. I've made it public now, it doesn't have a domain but the IP should show up in the server list: 176.9.206.164

marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2348


Eadem mutata resurgo


View Profile
July 13, 2012, 09:58:04 PM
 #72


So I notice there are currently 6 servers the Electrum client is aware of ... just wondering if the servers can be made aware of other servers in the same way that the client is?

wabber
Member
**
Offline Offline

Activity: 85
Merit: 10


View Profile
July 13, 2012, 11:42:20 PM
 #73


So I notice there are currently 6 servers the Electrum client is aware of ... just wondering if the servers can be made aware of other servers in the same way that the client is?

I didn't take a closer look to the source but i think electrum uses irc to find servers, so yeah it wouldn't be a problem for the server to be aware of other servers. But why would you need that?
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2348


Eadem mutata resurgo


View Profile
July 15, 2012, 08:41:45 AM
 #74


So I notice there are currently 6 servers the Electrum client is aware of ... just wondering if the servers can be made aware of other servers in the same way that the client is?

I didn't take a closer look to the source but i think electrum uses irc to find servers, so yeah it wouldn't be a problem for the server to be aware of other servers. But why would you need that?

It makes possible the linking of servers into groups for auditing, cross-checking, etc. It offers other possibilities like a stratum network on top of bitcoin, a server-to-server network, or even just groupings of servers that electrum clients could log into and be ambivalent about which precise server they are referencing just that it is one of a trusted group, etc ... it may be easier for electrum servers to get blockchain update information directly from other electrum servers (in addition to the bitcoin network) since they share db architecture ...

... and lots of other reasons Wink

Basically a network of servers is stronger and less centralised than nodes of lone, isolated servers.

unclemantis
Member
**
Offline Offline

Activity: 98
Merit: 10


(:firstbits => "1mantis")


View Profile
July 15, 2012, 12:08:55 PM
 #75

do the electrum servers have the available to be connected using rpcjson? I am currently using blockchain.info but I would like to be able to use an electrum server.

PHP, Ruby, Rails, ASP, JavaScript, SQL
20+ years experience w/ Internet Technologies
Bitcoin OTC | GPG Public Key                                                                               thoughts?
duncant
Newbie
*
Offline Offline

Activity: 53
Merit: 0


View Profile
July 25, 2012, 06:29:45 AM
 #76

Hi! I just upgraded my server to the lastest git version. I'm getting the following error when I try to run the server
Code:
Starting Electrum server on uncle-enzo.info
Traceback (most recent call last):
  File "/var/bitcoin/bin/electrum-server", line 122, in <module>
    chain_proc = backend.BlockchainProcessor(config)
  File "/var/bitcoin/src/electrum/server/backends/abe/__init__.py", line 452, in __init__
    self.store = AbeStore(config)
  File "/var/bitcoin/src/electrum/server/backends/abe/__init__.py", line 39, in __init__
    print 'Coin chain_id = %d' % self.chain_id
TypeError: %d format: a number is required, not NoneType

Is there a setting that I need to make the new version work?
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
July 25, 2012, 07:08:59 PM
 #77

I think the latest git version has multi-chain support build in. Open up your config file (/etc/electrum.conf) and add the following under the [server] part:

Code:
coin=bitcoin
datadir=/home/myuser/.bitcoin

Replace the datadir with the path to your bitcoind config folder.

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
duncant
Newbie
*
Offline Offline

Activity: 53
Merit: 0


View Profile
July 26, 2012, 06:25:51 AM
 #78

I'm still getting the same error after adding those lines to my electrum.conf.
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
July 26, 2012, 07:40:54 AM
 #79

Try to run this query on your electrum database

Code:
update datadir set chain_id=1 where datadir_id =1

Or manually open the datadir table and put chain_id to one for the correct row.

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
duncant
Newbie
*
Offline Offline

Activity: 53
Merit: 0


View Profile
July 26, 2012, 06:57:44 PM
 #80

That fixed it! Thanks!
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!