Commit Graph

79 Commits

Author SHA1 Message Date
TheLazieR Yip
8d21eae2bb Move import lines to top of class 2017-05-15 04:12:15 +00:00
TheLazieR Yip
f179c67935 Add support for Dash Masternode methods
+ Add DashDaemon class
+ Add DashElectrumX class
+ Update coin configurations for Dash
2017-05-14 16:36:02 +00:00
TheLazieR Yip
b0e23e903d Allow custom ElectrumX class 2017-05-14 16:26:17 +00:00
John L. Jegutanis
a4e4f80ad7 Allow custom Daemon and BlockProcessor classes 2017-05-07 14:22:23 +02:00
SuBPaR42
400388336a Change to default server peers
electrum.trouth.net is no longer active.  Replaced with another E-S server ;-)
2017-05-01 08:35:09 -05:00
SuBPaR42
b52628143b Update coins.py
Updated to more recent block height and TX count
2017-04-30 08:21:42 -05:00
pooler
961936245c Allow multiple P2SH address versions 2017-04-30 09:48:52 +02:00
Neil Booth
92584cc3c6 Update Litecoin entries as Segwit has activated. 2017-04-28 22:31:40 +09:00
John L. Jegutanis
9549158115 Add Einsteinium support 2017-04-05 14:38:34 +03:00
Neil Booth
0aa9195fc5 Remove bad onion default peer 2017-04-02 10:58:56 +09:00
romanornr
7e8141c62d
Add Viacoin - Segwit Auxpow 2017-03-31 00:37:43 +02:00
Neil Booth
9620aa8bb6 Restore dummy NAME and NET 2017-03-26 12:29:04 +09:00
Neil Booth
a88fc75610 Tweaks to coins.py 2017-03-26 11:49:57 +09:00
protonn
122d78d25b Argentum; support for AuxPow 2017-03-25 19:02:24 -05:00
John L. Jegutanis
bc31df8ee0 Fix support for Namecoin and Dogecoin, add Zcash support
Closes #83
2017-03-25 11:35:55 +09:00
Neil Booth
37602d4eae A couple of tweaks to the prior commit. 2017-03-25 11:35:55 +09:00
John L. Jegutanis
ed7d8a319d Refactor block parsing API 2017-03-25 11:35:55 +09:00
Neil Booth
af67536598 Set reorg limit to 8k on testnet 2017-03-21 20:04:51 +09:00
Neil
5c050e1d31 Merge pull request #151 from erasmospunk/master
Set the correct XPUB, XPRV bytes for dogecoin
2017-03-18 11:53:01 +09:00
John L. Jegutanis
fe544eae7f Set the correct XPUB, XPRV bytes for dogecoin 2017-03-18 03:27:53 +02:00
pooler
11a3c77fdb Fix Litecoin parameters 2017-03-17 12:16:44 +01:00
Neil Booth
42dfd16b14 Add Bitoin Unlimited nolnet 2017-03-04 09:52:47 +09:00
Neil Booth
85f17b75c8 Remove stray commas 2017-02-27 19:39:22 +09:00
Neil Booth
ac8e38a87c Tweak prior 2017-02-27 07:36:52 +09:00
John L. Jegutanis
6b1b9d01f2 Better handle base58 version bytes and allow for a >1 byte version 2017-02-27 07:36:33 +09:00
Thomas König
b6be653f4f Adding FairCoin (#122)
* Adding FairCoin

* remove redundant 'header_len' function

* removed serializer
added missing commas
removed assertion from read_block and replaced it with a comment
2017-02-19 19:03:21 +09:00
Neil Booth
3f35bc0298 More PEP8 stuff 2017-02-18 13:05:26 +09:00
Neil Booth
33cdfa4fc8 Merge branch 'nmarley-pep8' into develop 2017-02-18 12:54:01 +09:00
Neil Booth
9bd7b5a9f9 Merge branch 'pep8' of https://github.com/nmarley/electrumx into nmarley-pep8 2017-02-18 12:51:58 +09:00
Neil Booth
151da40d5b Implement peer discovery protocol
Closes #104

DEFAULT_PORTS now a coin property
A Peer object maintains peer information
Revamp LocalRPC "peers" call to show a lot more information
Have lib/jsonrpc.py take care of handling request timeouts
Save and restore peers to a file
Loosen JSON RPC rules so we work with electrum-server and beancurd which don't follow the spec.
Handle incoming server.add_peer requests
Send server.add_peer registrations if peer doesn't have us or correct ports
Verify peers at regular intervals, forget stale peers, verify new peers or those with updated ports
If connecting via one port fails, try the other
Add socks.py for SOCKS4 and SOCKS5 proxying, so Tor servers can now be reached by TCP and SSL
Put full licence boilerplate in lib/ files
Disable IRC advertising on testnet
Serve a Tor banner file if it seems like a connection came from your tor proxy (see ENVIONMENT.rst)
Retry tor proxy hourly, and peers that are about to turn stale
Report more onion peers to a connection that seems to be combing from your tor proxy
Only report good peers to server.peers.subscribe; always report self if valid
Handle peers on the wrong network robustly
Default to 127.0.0.1 rather than localhost for Python <= 3.5.2 compatibility
Put peer name in logs of connections to it
Update docs
2017-02-18 12:43:45 +09:00
Neil Booth
251dca4da9 Update match groups 2017-02-17 21:42:34 +09:00
Neil Booth
4dcd7f25a5 Further fix regex for hex chars 2017-02-17 07:59:49 +09:00
Neil Booth
82d57dc90f Accept IPv6 addresses in DAEMON_URL
Fixes #126
2017-02-16 08:00:08 +09:00
Nathan Marley
a03665696c recommendations from pycodestyle (pep8 style) 2017-02-07 20:12:50 -08:00
Neil Booth
6db9cb967c Require attributes to be specified for a coin 2017-02-06 19:48:30 +09:00
shsmith
169f5df91f update hostnames (#120) 2017-02-06 07:28:52 +09:00
Neil Booth
f1251766b6 Merge branch 'master' of github.com:kyuupichan/electrumx 2017-02-05 09:50:29 +09:00
Neil Booth
1856cbe6c0 Coin fixes/cleanup (erasmospunk)
2 out of 3 from #118
2017-02-05 09:41:27 +09:00
TheLazieR Yip
0e51c80156 Add PEERS for DASH (#117)
* Add PEERS for DASH

* Update PEER_DEFAULT_PORTS for DASH Testnet
2017-02-02 11:32:38 +09:00
Neil Booth
06c8eda161 Preparations for peer discovery
DEFAULT_PORTS is a now a coin property.
Other miscellaneous updates to get things closer
2017-01-29 06:47:43 +09:00
Petr Kracík
5343c1a286 Changed litecoin genesis block hash (#109) 2017-01-22 23:41:45 +09:00
Neil Booth
15051124af Make flushes and reorgs async
Apart from the flush on shutdown and the flush when caught up,
neither of which matter, this makes flushes asynchronous.

Also, block processing for reorgs is now asynchronous.

This also removes the FORCE_REORG debug envvar; I want to
put that into the RPC interface.

Closes #102
2017-01-09 16:15:17 +09:00
Neil Booth
540479ad23 Tweaks for prior; update README. 2017-01-08 12:10:56 +09:00
protonn
1aa55f2976 add digibyte and argentum (#96)
* add DigiByte and Argentum
2017-01-08 12:00:41 +09:00
Neil Booth
dcc2c92bd6 Rename NETWORK envvar to NET
For consistency with lib/coins.py

SegWit testnet needs its own NET
2017-01-08 10:07:58 +09:00
Neil Booth
4d62019b07 Check Genesis hash
Testnet RPC_PORT is 18332
2017-01-08 10:07:57 +09:00
Neil Booth
852753cb94 Implement deserialization of SegWit transactions
tx_hash needs to be that of the prior serialization, so
need to change internal read_block API.

Bitcoin core 0.13.1 broke backwards compat of the RPC interface.
Closes #92
2017-01-08 10:07:57 +09:00
Neil Booth
7f9cb9cd9d Generic header length
If header lengths change in the future, only one function needs
to change in coins.py.
2017-01-07 11:51:12 +09:00
Neil Booth
2b2909f1c4 Move to hashX
The hashX of a script is the first 11 bytes of its sha256 hash.

Closes #72.
2017-01-07 11:51:01 +09:00
Neil Booth
de201a247f Double fetch size of mempool.
Set testnet genesis hash.
2017-01-07 11:51:01 +09:00