- Performance updates
- Make hash functions configurable via application.conf
- RPC address become configurable via settings.json
- One more byte added to address to identify the network
- Max difference between transaction and block timestamps added
- Balance with confirmations is now minimum during this period
- NXT consensus algorithm fixes
- api_key protection for wallet/seed and addresses/seed API methods added
- Limits for /blocks/address/{address} API call added
- Height added for /transactions/info/{signature} and /blocks/seq/{from}/{to} API methods
- "p2p"/"fuzzingDelay" setting via settings.json in order to emulate message delays
- Unify bytes/json serialization/deserialization
- Blockchain and State databased were merged
- Bugfixes
- Blockchain and State database updates made atomic
- api_key authentication support for API implemented
- api_key is required for all POST and DELETE requests
- SeedApiRoute was renamed to UtilsApiRoute
- New API calls /utils/hash/secure and /utils/hash/fast
- Fixed API call /peers/connect
- Changed response format for /addresses, /block/address/{address} and /transactions/unconfirmed API calls
- API routes migrated from spray to akka-http
- A bug with a block containing a plenty of transactions has been fixed
- Issues #78 and #75 fixed
- New API calls /transactions/info and /peers/connect
- MVStore is used for state persistence
- Fixed JSON styling in API call results
- Peer blacklisting implemented
- Logback configured to rollover log files daily
- MapDB has been replaced with MVStore
- LagonakiApplication was extracted into Lagonaki project
- New API call /addresses/seq
- API call /blocks/seq fixed
- Disk-based persistence for peers whitelist/blacklist
- New API call /blocks/seq
- CORS optional support(to be allowed in settings, disallowed by default)
- Web interface to core API has been added. Please set "rpcport" value in settings.json then visit http://localhost:{rpcport}/ after server bootstrapping.
- Permacoin implementation has been added. Permacoin is blockchain consensus protocol based on non-interactive Proof-of-Retrievability of a static dataset by A. Miller, E. Shi, J. Katz, B. Parno et at. For details please see the paper http://cs.umd.edu/~amiller/permacoin.pdf . Protocol settings could be changed in perma.conf.
- For Permacoin module, new API calls are /consensus/target, /consensus/target/{blockId}, /consensus/puz, /consensus/puz/{blockId} .
- P2P layer is totally rewritten. From now a new module can implement messages and messages handling logic separately. Then module p2p logic is to be wired into application's logic.
- UPnP ports mapping
- TCP packets assembling (Akka I/O missing)
- Experimental: a node could store a blocktree explicitly. Storage type could be changed via "history" setting(set "blockchain" / "blocktree"). Different nodes can have different storage types.
- New class of API calls, starting with debug/
- peers/ API call has been renamed into peers/connected, peers/all has been added
- API call added: consensus/algo
- API calls added for Qora-like consensus algo: consensus/time, consensus/time/{generatingBalance}, consensus/generatingbalance, consensus/generatingbalance/{blockId}
- API calls added for Nxt-like consensus algo: consensus/basetarget, consensus/basetarget/{blockId}, consensus/generationsignature, consensus/generationsignature/{blockId}
- API call added: addresses/sign
- API call added: addresses/create
- API call added: DELETE to addresses/address/{address}
- Less buggy blockchain synchronization logic
- Modular design: basics, consensus, transaction modules are extracted
- Ping messages removed
- Docker container
- Scorex-crypto module has been extracted as the separate sub-project
- This file has been started :)
- SBT commands instead of linux shell scripts