You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

164 lines
5.0 KiB

version 0.5
-----------
- DB change: all UTXOs, including those that are not canonically paying to
an address, are stored in the DB. So an attempt to spend a UTXO not in
the DB means corruption. DB version bumped to 2; older versions will not
work
- fixed issue #17: the genesis coinbase is not in the UTXO set
version 0.4.3
-------------
- fix exception introduced in 0.4.2
version 0.4.2
-------------
- split out JSON RPC protcol handling. Now more robust and we should
fully support JSON RPC 2.0 clients, including batch requests
(Electrum client does not yet support these)
- refactored and cleaned up server handling
- improved DASH support (thelazier)
version 0.4.1
-------------
- tweak IRC version reporting so we appear in the Electrum client's
network dialog box
version 0.4
-----------
- IRC connectivity. See the notes for environment variables, etc.
- logging improvements
Version 0.3.2, 0.3.3
--------------------
- fixed silly bugs
Version 0.3.1
-------------
- fixes issue #9
- save DB version in DB; warn on DB open if incompatible format
Version 0.3
-----------
- Database format has changed; old DBs are incompatible. They will
not work and will probably die miserably as I'm not yet versioning
them for helpful warnings (coming soon).
- The change in on-disk format makes UTXO flushes noticeably more
efficient. My gut feeling is it probably benefits HDDs more than
SSDs, but I have no numbers to back that up other than that my HDD
synced about 90 minutes (10%) faster. Until the treacle hits at
blocks 300k+ there will probably be little noticeable difference in
sync time.
Version 0.2.3
-------------
- fixes issues #6, #11, #15
- the UTXO cache is now merged with BlockProcessor, where it properly belongs.
cache.py no longer exists
Version 0.2.2.1
---------------
- fixes issues #12, #13
- only attempt to flush on asyncio.CancelledError to avoid spurious
secondary errors
Version 0.2.2
-------------
- mostly refactoring: controller.py is gone; cache.py is half-gone.
Split BlockProcessor into 3: DB, BlockProcessor and BlockServer. DB
handles stored DB and FS state; BlockProcessor handles pushing the
chain forward and caching of updates, and BlockServer will
additionally serve clients on catchup. More to come.
- mempool: better logging; also yields during initial seeding
- issues fixed: #10
Version 0.2.1
-------------
- fix rocksdb and lmdb abstractions (bauerj)
- limit concurrent daemon requests
- improve script + coin abstractions
- faster tx and script parsing
- minor bug fixes
Version 0.2
-----------
- update sample run script, remove empty addresses from mempool
Version 0.1
------------
- added setup.py, experimental. Because of this server_main.py renamed
electrumx_server.py, and SERVER_MAIN environment variable was renamed
to ELECTRUMX. The sample run script was updated to match.
- improvements to logging of daemon connection issues
- removal of old reorg test code
- hopefully more accurate sync ETA
Version 0.07
------------
- fixed a bug introduced in 0.06 at the last minute
Version 0.06
------------
- mempool support. ElectrumX maintains a representation of the daemon's
mempool and serves unconfirmed transactions and balances to clients.
Version 0.05
------------
- fixed a bug in 0.04 that stopped ElectrumX serving once synced
Version 0.04
------------
- made the DB interface a little faster for LevelDB and RocksDB; this was
a small regression in 0.03
- fixed a bug that prevented block reorgs from working
- implement and enable client connectivity. This is not yet ready for
public use for several reasons. Local RPC, and remote TCP and SSL
connections are all supported in the same way as Electrum-server.
ElectrumX does not begin listening for incoming connections until it
has caught up with the daemon's height. Which ports it is listening
on will appear in the logs when it starts listening. The complete
Electrum wire protocol is implemented, so it is possible to now use
as a server for your own Electrum client. Note that mempools are
not yet handled so unconfirmed transactions will not be notified or
appear; they will appear once they get in a block. Also no
responses are cached, so performance would likely degrade if used by
many clients. I welcome feedback on your experience using this.
Version 0.03
------------
- merged bauerj's abstracted DB engine contribution to make it easy to
play with different backends. In addition to LevelDB this adds
support for RocksDB and LMDB. We're interested in your comparitive
performance experiences.
Version 0.02
------------
- fix bug where tx counts were incorrectly saved
- large clean-up and refactoring of code, breakout into new files
- several efficiency improvements
- initial implementation of chain reorg handling
- work on RPC and TCP server functionality. Code committed but not
functional, so currently disabled
- note that some of the enivronment variables have been renamed,
see samples/scripts/NOTES for the list