Neil Booth
3d4d382178
Remove 2 segwit peers from Bitcoin cash list
2017-08-24 23:54:28 +09:00
Neil Booth
e5101e4757
Change the not.fyi server on request
2017-08-22 21:13:11 +09:00
Neil Booth
fab3f5affe
Have proxy.create_connection use kwargs
...
Fixes #227
2017-08-21 23:38:54 +09:00
Neil Booth
ab62092afc
Add note about new NET assignments.
2017-08-21 20:59:51 +09:00
Neil Booth
00504b695a
Split peer lists post fork
2017-08-21 20:30:21 +09:00
FujiCoin
b4ac4b6a05
Add Fujicoin ( #218 )
...
* Add Fujicoin
* Add explanation of FujiDaemon
2017-08-18 15:05:54 +07:00
cryptcoin-junkey
761213607c
Add PEERS to Monacoin. ( #219 )
2017-08-12 10:27:00 +07:00
Extrememist
2031e88c20
Add Crown ( #217 )
...
* Add Crown
* Fix Parse
2017-08-11 07:05:19 +07:00
Riccardo Casatta
97ec00338d
Adding regtest parameters ( #213 )
2017-08-04 23:12:34 +09:00
Neil Booth
620ee35af9
Merge branch 'master' of github.com:kyuupichan/electrumx
2017-08-03 23:13:23 +09:00
Neil Booth
f65fa2fd19
Update server list for BCC servers.
2017-08-03 23:12:56 +09:00
Justin Turner Arthur
28764936c4
Remove semicolons and a couple unused variables. ( #212 )
2017-08-02 15:55:44 +09:00
cryptcoin-junkey
ecad494f28
Add Monacoin. ( #210 )
...
Signed-off-by: Cryptcoin Junkey <cryptcoin.junkey@gmail.com>
2017-08-02 15:32:16 +09:00
Neil Booth
f696a7933d
Prevent unnecessary copying of raw blocks
2017-07-30 20:47:54 +09:00
Neil Booth
3eef0ba4cf
Rename block_full to block.
...
Retain the raw block in the named tuple.
2017-07-30 20:41:08 +09:00
John L. Jegutanis
350ed82711
Add Vertcoin support ( #208 )
2017-07-25 07:39:09 +09:00
Thomas König
164d0cd924
update FairCoin genesis block ( #207 )
...
update server list
2017-07-23 22:25:48 +09:00
Neil Booth
8a18da61c2
Add bitcoin-segwit
2017-07-20 13:12:38 +09:00
Neil Booth
3ca464e5b1
Update BTC server list
2017-07-16 15:01:23 +09:00
Neil Booth
3612b88e2e
Permit underscores in hostnames.
...
Add tests.
2017-07-16 13:58:02 +09:00
Neil Booth
9dfaedc727
Add bip32.py and tests.
2017-07-12 14:39:55 +09:00
Neil Booth
7a77637586
Add comprehensive tests of lib/hash.py
2017-07-10 19:01:03 +09:00
John L. Jegutanis
b48465a065
Add Reddcoin support
2017-06-11 01:37:49 +03:00
John L. Jegutanis
fe30086795
Digibyte switched to SegWit
2017-06-11 01:37:49 +03:00
John L. Jegutanis
74f899e544
Add support for Blackcoin and Peercoin
2017-06-11 01:37:49 +03:00
John L. Jegutanis
1e9a65dccb
Handle legacy daemon RPCs
...
Add support for daemons that don't have the new 'getblock' RPC call that
returns the block in hex, the workaround is to manually recreate the block
bytes. The recreated block bytes may not be the exact ones as in the
underlying blockchain but it is good enough for our indexing purposes.
2017-06-11 01:37:45 +03:00
Neil Booth
661883732c
Update nolnet parameters
2017-06-07 23:47:17 +09:00
Neil Booth
4cc3720589
Disable IRC for bitcoin mainnet
...
Only require IRC_CHANNEL if IRC_PREFIX is given.
2017-06-07 23:47:17 +09:00
John L. Jegutanis
232d6be72c
Remove dead code
2017-05-18 15:07:34 +02:00
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
Neil Booth
8a2821d542
Reject invalid hostnames in Env
2017-04-09 14:15:10 +09:00
John L. Jegutanis
9549158115
Add Einsteinium support
2017-04-05 14:38:34 +03:00
Neil Booth
2c43e89b05
Only set last_good if successfully verified
...
Rename last_connect to last_good
2017-04-03 21:37:51 +09:00
Neil Booth
9f27ea875c
Fix peer replacement logic
...
- drop the IP address peer
- update the remaining peer with fresh info
2017-04-03 20:07:46 +09:00
Neil Booth
a94d320e5d
New feature: force peer discovery via proxy
...
Set FORCE_PROXY to non-empty to force peer discovery to go
through the proxy. See docs/ENVIRONMENT.rst
Wait for an attempt at proxy discovery to be made before beginning
peer discovery.
2017-04-02 15:06:29 +09:00
Neil Booth
77a441ad06
Improve proxy handling
...
Have a background proxy detection loop; removes need to check
specific peers at startup.
Consider proxy down once attempts to use it fail 3 times in a row.
Regularly attempt to rediscover a proxy if it is down.
2017-04-02 14:27:49 +09: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
Neil Booth
8236aaf234
Be more strict on form of features dictionary
2017-03-25 13:28:42 +09:00
Neil Booth
be5397a853
Validate hostnames before accepting a new peer
...
Don't retain non-public addresses
Closes #157
2017-03-25 11:58:54 +09: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
9238fe397d
Drop ports from top level of features
2017-03-25 11:35:54 +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
30bb832ef8
Prepare 1.0
2017-03-05 13:22:09 +09:00
Neil Booth
42dfd16b14
Add Bitoin Unlimited nolnet
2017-03-04 09:52:47 +09:00
Neil Booth
56130e4a66
Fix uninitialized variable
2017-03-03 08:03:48 +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
Neil Booth
d36d222489
Maintain more than one self-identity
...
Rather than just retaining our clearnet identity from the environment,
maintain any tor one as well. This is a little cleaner and avoids
confusion over port assignment when converting to real names.
Fixes #136
2017-02-26 10:22:22 +09:00
Neil Booth
f8f5d4429f
Merge branch 'develop'
2017-02-19 19:05:24 +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
86f6a148b9
Separate async item processor per session
...
Improve daemon wait logic
Fixes #100
2017-02-19 19:01:41 +09:00
Neil Booth
23b7ec3fb5
get_extra_info fix
2017-02-19 10:52:34 +09:00
Neil Booth
0149f2785f
A few peer handling improvements
...
based on suggestions from hsmiths
Set transport to None if a connection is lost
Only subscribe to peers if the peer is verified on same network
2017-02-19 10:21:17 +09:00
Neil Booth
9d6b353eec
Fix typo pointed out by hsmiths, thanks
2017-02-18 23:42:24 +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
Neil Booth
a019fde853
Show uptime in RPC getinfo result
2017-02-04 10:35:36 +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
97557fa437
Don't send batches for now
2017-01-31 20:05:40 +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
Neil Booth
f43c08d979
Log fatal messages once only
2017-01-29 06:08:29 +09:00
Neil Booth
e4c206e123
Namespace fix
2017-01-25 20:38:28 +09:00
Neil Booth
551c04a3bc
Remove all uses of "except:"
2017-01-25 20:28:19 +09:00
Neil Booth
a7462a6ea3
Complete rewrite of JSON RPC infrastructure
...
Aim to be easier for clients to use, because to do peer
discovery we must act as a client to other servers.
Split out JSON session concept from the asyncio protocol
concept. This makes the JSON RPC support more easily
testable and usable as a stand-alone library.
In addition, support JSON RPC v1 and v2, and auto-detection
of peer's version.
2017-01-23 23:36:02 +09:00
Petr Kracík
5343c1a286
Changed litecoin genesis block hash ( #109 )
2017-01-22 23:41:45 +09:00
Neil Booth
ed0646efbf
Tidy up request and notification sending
2017-01-20 20:04:56 +09:00
Neil Booth
766da5ed79
Don't maintain a sub_count in controller
...
Just do a tally occasionally.
It's too tricky to keep it accurate as it double-counts resubscribing to
the same address, for example
2017-01-20 08:09:33 +09:00
Neil Booth
5f9e337457
Improve RocksDB iterator
2017-01-17 07:43:06 +09:00
Neil Booth
4eed43accb
Add named-argument handling as per JSON RPC 2.0
...
This involved a rewrite of the JSON RPC layer.
I took the opportunity to clean up the handling of requests
in general. It should now be easy to return nice help from
the docstrings.
Closes issue #99
2017-01-12 07:59:21 +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