alex [Fri, 24 Jan 2014 20:07:48 +0000]
Update only if there are any mismatched coins
alex [Fri, 24 Jan 2014 17:46:39 +0000]
Fix repairwallet to update walletmodel without restart.
alex [Thu, 23 Jan 2014 17:14:59 +0000]
Add transaction and block header timestamps to gettxout RPC call result.
alex [Thu, 23 Jan 2014 00:00:02 +0000]
Add gettxout and gettxoutsetinfo RPC calls
alex [Wed, 22 Jan 2014 23:51:50 +0000]
Replace CCoinsDB and CBlockTreeDB with LevelDB based implementations.
alex [Wed, 22 Jan 2014 22:35:06 +0000]
Replace CChainDB instantiations with a global CBlockTreeDB instance
alex [Wed, 22 Jan 2014 20:03:35 +0000]
Fix segfault on testnet
alex [Wed, 22 Jan 2014 20:00:57 +0000]
Prepare database format for multi-stage block processing
This commit adds a status field and a transaction counter to the block
indexes.
alex [Wed, 22 Jan 2014 16:29:20 +0000]
Reorganize at startup to best known block
Trying to detect the presence of a better chain in chain.dat and then reorganize to this chain using existent blk files.
alex [Wed, 22 Jan 2014 16:21:42 +0000]
Sanity checking for coinstake inputs and checkwallet/repairwallet refactoring
alex [Tue, 21 Jan 2014 21:43:39 +0000]
Direct CCoins references
Using the direct CCoins references to prevent excessive copying of CCoins in and out of the CCoinsView instances.
alex [Tue, 21 Jan 2014 21:17:29 +0000]
Validation of coinstake now uses txPrev directly instead of CCoins object
alex [Tue, 21 Jan 2014 04:33:18 +0000]
Transaction hash caching
Use CBlock's vMerkleTree to cache transaction hashes, and pass them
along as argument in more function calls.
alex [Mon, 20 Jan 2014 22:40:34 +0000]
Add CCoinsViewCache::GetCoinsReadOnly() method for read-only caching to decrease count of worthless flushing events;
Remove target mismatch messages from proof-of-stake miner;
Add generator field to getblock output.
alex [Mon, 20 Jan 2014 21:46:52 +0000]
Miner module fix
alex [Mon, 20 Jan 2014 21:14:40 +0000]
Some proof-of-stake checkings refactoring
* Implement CBlock::CheckSignature() method for signatures and proofhash checking;
* Move PoW header signature checking to new CBlock::CheckLegacySignature() method;
* Remove some redundant messages from debug.log output;
* Make some DoS checkings harder.
Another changes:
* getblock and getblockbynumber RPC calls are now providing generator public key for proof-of-stake blocks.
alex [Mon, 20 Jan 2014 00:07:28 +0000]
Don't create coins for empty coinbase transactions
alex [Sun, 19 Jan 2014 23:25:07 +0000]
Bugfix: Get coinstake flag and timestamps from undo data
alex [Sun, 19 Jan 2014 22:41:14 +0000]
Add previous block checking in the proof-of-stake miner
This should help against orphans.
alex [Sun, 19 Jan 2014 13:46:56 +0000]
Don't reaccept coinstakes
alex [Sun, 19 Jan 2014 05:26:25 +0000]
UI fixes
* QT: sort transactions by date;
* RPC: repairwallet removes orphan related records from the wallet;
* Change currency symbol on coincontrol form, fix some typos.
alex [Sun, 19 Jan 2014 04:29:30 +0000]
Bugfix: don't resurrect coinstake transactions
alex [Sun, 19 Jan 2014 01:09:23 +0000]
Add new LevelDB wrapper
alex [Sun, 19 Jan 2014 00:29:25 +0000]
Checkpoint fix
alex [Sun, 19 Jan 2014 00:02:31 +0000]
Fix timestamp violation
alex [Sat, 18 Jan 2014 23:34:13 +0000]
Batch block connection during initial block download
This reduces the load on the database engine, as subsequent blocks often
update an earlier block's transaction already.
alex [Sat, 18 Jan 2014 21:22:05 +0000]
Update checkpoints
alex [Sat, 18 Jan 2014 20:22:55 +0000]
chmod 0755 leveldb/build_detect_platform
alex [Sat, 18 Jan 2014 20:10:48 +0000]
Switch to CCoins & CCoinsView approach
This commit replaces old transactions index with unspent coins database
which contains a basic metadata like heights, amounts,
coinstake/coinbase flags and timestamps.
We still need access to blockchain for proof-of-stake blocks
validation. Current CheckProofOfStake() uses the coin database to
find the block height, and then scans that block to find the dependency
of coinstake kernel.
alexhz [Wed, 15 Jan 2014 19:18:38 +0000]
Undo file creation
Create files with block undo information for the transactions in it.
alexhz [Wed, 15 Jan 2014 16:50:06 +0000]
One file per block
Block database now stores one file per block.
alexhz [Wed, 15 Jan 2014 14:34:46 +0000]
Add CTxUndo: transaction undo information
The CTxUndo class encapsulates data necessary to undo the effects of
a transaction on the txout set, namely the previous outputs consumed
by it (script + amount), and potentially transaction meta-data when
it is spent entirely.
alexhz [Wed, 15 Jan 2014 13:28:24 +0000]
Basic classes for pruned version of transaction output list support
== CCoins: pruned list of transaction outputs ==
The CCoins class represents a pruned set of transaction outputs from
a given transaction. It only retains information about its height in
the block chain, whether it was a coinbase transaction, and its
unspent outputs (script + amount).
It has a custom serializer that has very low redundancy.
== Compact serialization for scripts ==
Special serializers for script which detect common cases and encode
them much more efficiently. 3 special cases are defined:
* Pay to pubkey hash (encoded as 21 bytes)
* Pay to script hash (encoded as 21 bytes)
* Pay to pubkey starting with 0x02, 0x03 or 0x04 (encoded as 33 bytes)
Other scripts up to 121 bytes require 1 byte + script length. Above
that, scripts up to 16505 bytes require 2 bytes + script length.
== Compact serialization for amounts ==
Special serializer/deserializer for amount values. It is optimized for
values which have few non-zero digits in decimal representation. Most
amounts currently in the txout set take only 1 or 2 bytes to
represent.
alexhz [Wed, 15 Jan 2014 11:42:48 +0000]
Compact serialization for variable-length integers
Variable-length integers: bytes are a MSB base-128 encoding of the number.
The high bit in each byte signifies whether another digit follows. To make
the encoding is one-to-one, one is subtracted from all but the last digit.
Thus, the byte sequence a[] with length len, where all but the last byte
has bit 128 set, encodes the number:
(a[len-1] & 0x7F) + sum(i=1..len-1, 128^i*((a[len-i-1] & 0x7F)+1))
Properties:
* Very small (0-127: 1 byte, 128-16511: 2 bytes, 16512-2113663: 3 bytes)
* Every integer has exactly one encoding
* Encoding does not depend on size of original integer type
alex [Tue, 14 Jan 2014 23:01:33 +0000]
Checkpoint object replacement with std::pair & support for incompatible database removal
alex [Tue, 14 Jan 2014 20:24:50 +0000]
Orpho
alex [Tue, 14 Jan 2014 20:18:47 +0000]
Second pre-release update
* Use maximum timeweight as a split/combine threshold (instead of age);
* Remove BDB transactions index support, include some basic optimizations of leveldb wrapper;
*
alex [Sun, 12 Jan 2014 10:58:28 +0000]
Typo fix
alex [Sun, 12 Jan 2014 08:51:47 +0000]
Merge branch 'master' of https://github.com/CryptoManiac/novacoin
alex [Sun, 12 Jan 2014 08:47:13 +0000]
Pre-0.4.8 update
* New stake miner implementation, almost 100 times faster;
* Qt: Unification of coinbase and coinstake transactions processing;
* Switch to libdb-6.0.20 for windows builds.
Balthazar [Sun, 12 Jan 2014 01:15:19 +0000]
Add check for OPTIMIZED_SALSA flag
alex [Sat, 11 Jan 2014 03:09:47 +0000]
Makefile update
Balthazar [Sun, 5 Jan 2014 16:55:18 +0000]
Merge pull request #8 from awoland/patch-3
Update guiutil.cpp
awoland [Sun, 5 Jan 2014 09:57:35 +0000]
Update guiutil.cpp
Fix old bug in GUI with HtmlEscape(tooltip ...
alex [Fri, 3 Jan 2014 22:16:31 +0000]
New syncronized checkpoints policy: no immediate PoW block checkpointing.
alex [Thu, 2 Jan 2014 23:59:01 +0000]
Compatibility improvements
* Add a generic SALSA implementation and disable optimized implementations by default;
* Remove macroses from ARM SALSA implementation;
* Some misc defigition fixs to correct mingw-w64 compatibility issues.
alex [Wed, 1 Jan 2014 01:51:32 +0000]
Bump version to 0.4.4.6
Changes list:
* Add checkpoints;
* Remove stake weight switch code;
* Remove output limit for testnet since publishing / for mainnet since 1 May 2014;
* Remove mandatory fee for testnet since publishing / for mainnet since 1 may 2014.
alex [Tue, 31 Dec 2013 17:04:16 +0000]
Cache scrypt hashes on disk
instead of recalculating every time. This policy is able to give us 10-20x startng speed up. User can disable caching with -fastindex=0 option.
Note that this commit makes blockindex code incompatible with old blockchain database files. You need to remove old blockchain files and syncronize with the network again.
Another changes:
1. Stake pooled keys are removed.
Balthazar [Sun, 22 Dec 2013 03:58:17 +0000]
Merge pull request #7 from cmonyoupick/master
fixes scrypt-*.S for grsecurity-enabled kernels, noexecstack
novacoind [Tue, 17 Dec 2013 15:11:14 +0000]
fixes scrypt-*.S for grsecurity-enabled kernels, noexecstack
alex [Wed, 6 Nov 2013 17:12:28 +0000]
RPC: merge gettransaction output format fixes
alex [Wed, 23 Oct 2013 19:44:46 +0000]
Add -mininput=value option
Allows user to set sultable input value limit
alex [Sun, 29 Sep 2013 21:19:05 +0000]
Fix
alex [Sun, 29 Sep 2013 21:15:58 +0000]
Translate
alex [Sun, 29 Sep 2013 20:30:12 +0000]
Merge coin control features
Read this topic for additional info:
https://bitcointalk.org/index.php?topic=144331.0
alex [Sun, 29 Sep 2013 15:28:53 +0000]
Add dnsseed server
alex [Sat, 28 Sep 2013 19:58:41 +0000]
Merge branch 'master' of https://github.com/CryptoManiac/novacoin
alex [Sat, 28 Sep 2013 19:57:26 +0000]
Remove OpenMP flags for now
Balthazar [Sat, 28 Sep 2013 19:32:53 +0000]
Merge pull request #6 from RoadTrain/patch-1
USE_LEVELDB fix
alex [Sat, 28 Sep 2013 17:56:25 +0000]
Revert GetBlockTrust changes
alex [Sat, 28 Sep 2013 13:58:23 +0000]
Use HASH160 instead of public key for coinbase transaction
alex [Sat, 28 Sep 2013 13:35:46 +0000]
Remove legacy code, bump version number
Full changes list:
* Don't check ECDSA signatures for PoW blocks ever, with exception for the first 9689 blocks;
* Remove ECDSA signing related code from mining RPC APIs;
* Trim leading zeros from the hex representation of trust score in the block dump functions;
* Don't check lk_max_locks if compiled with USE_LEVELDB flag;
* Add hash and stake modifier checkpoints for block #44200.
RoadTrain [Sun, 22 Sep 2013 23:43:50 +0000]
USE_LEVELDB fix
Make it grab USE_LEVELDB value from cmd params
alexhz [Mon, 16 Sep 2013 10:04:23 +0000]
Remove ncurses dependency
alex [Sun, 15 Sep 2013 22:41:55 +0000]
RPC: sendalert params types casting
alex [Fri, 13 Sep 2013 16:14:41 +0000]
Add scrypt-arm.o target
alex [Fri, 13 Sep 2013 14:11:40 +0000]
Add ARM to architectures list
alex [Fri, 13 Sep 2013 14:09:16 +0000]
Add ARM scrypt implementation
Balthazar [Fri, 13 Sep 2013 13:59:45 +0000]
Enable -msse2 for 32 bit g++ only
Balthazar [Fri, 13 Sep 2013 13:37:41 +0000]
Enable -msse2 flag for i686 only.
alex [Tue, 10 Sep 2013 05:04:09 +0000]
Add missing files
alex [Sun, 8 Sep 2013 19:44:56 +0000]
Fix
alex [Sun, 8 Sep 2013 19:41:39 +0000]
Add trusted N for MainNet and TestNet, set denomination value to 50 coins
alex [Sun, 8 Sep 2013 16:45:36 +0000]
Add ZeroTest self-testing routine
Allows user to run basic tests upon initialization. It's available when -zerotest option is used, results are written into debug.log file.
alex [Sun, 8 Sep 2013 15:25:48 +0000]
Add OpenMP linking flag
alex [Sun, 8 Sep 2013 14:47:29 +0000]
Import ZeroCoin adapted sources
Import and build/linking only. Provided functionality isn't used yet.
alex [Sun, 8 Sep 2013 13:34:44 +0000]
Removing unused includes
alex [Sun, 8 Sep 2013 13:28:46 +0000]
Crypter.h security improvement, start working on ZeroCoin support
* Use OPENSSL_cleanse instead of memset for keys cleanup;
* Merge CBigNum prime operations from ZeroCoin.
alex [Fri, 6 Sep 2013 20:31:25 +0000]
Use MinGW64 compilers suite for building windows executables
x86_64 target currently isn't supported in the main branch yet, only i686 target available. In the future updates it will be possible to build for the both targets (x86_64 and i686).
alex [Wed, 4 Sep 2013 20:12:02 +0000]
Always reserialize transactions before relaying
This is more proper way to fix CVE-2013-4627. See https://bitslog.wordpress.com/2013/07/18/buggy-cve-2013-4627-patch-open-new-vectors-of-attack/ for details.
alex [Mon, 2 Sep 2013 19:14:16 +0000]
Don't close leveldb in checkpoints handling functions
alex [Sat, 31 Aug 2013 20:25:12 +0000]
Fix WIN32 compilation issues
alex [Sat, 31 Aug 2013 16:05:53 +0000]
Fix error while building on non-c++0x compilers
alex [Sat, 31 Aug 2013 15:26:24 +0000]
makefile fix
alex [Sat, 31 Aug 2013 14:51:30 +0000]
Bump version to 0.4.4.4
alex [Sat, 31 Aug 2013 14:04:27 +0000]
Add USE_O3 option
Allows user to build Qt version with O3 optimization flag without changing ENV variables
alex [Sat, 31 Aug 2013 13:35:39 +0000]
Switch LevelDB back to default database engine
alex [Wed, 28 Aug 2013 23:57:29 +0000]
Split getmininginfo implementation
alex [Wed, 28 Aug 2013 23:52:46 +0000]
Split getmininginfo implementation
alex [Wed, 28 Aug 2013 19:00:51 +0000]
Replace -nosynccheckpoints with a new -cppolicy=mode option
Possible values:
* strict - default mode, verify blocks to satisfy syncronized checkpoints, and reject if necessary;
* advisory - verify blocks to satisfy syncronized checkpoints, and display warning if necessary;
* permissive - don't perform any checkings.
alex [Tue, 27 Aug 2013 21:41:03 +0000]
Revert 11a13b1
alex [Tue, 27 Aug 2013 20:46:24 +0000]
Fix
alex [Tue, 27 Aug 2013 20:41:51 +0000]
Exclude CreatePidFile on Win32 platform
alex [Tue, 27 Aug 2013 20:33:57 +0000]
Add BOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN
alex [Tue, 27 Aug 2013 19:59:59 +0000]
RPC: add blocktrust and chaintrust fields into block dump
alex [Tue, 27 Aug 2013 19:51:11 +0000]
Fix coinbase out-of-bounds check
alex [Tue, 27 Aug 2013 19:32:54 +0000]
Set NOBLKS_VERSION_END to 60006
alex [Tue, 27 Aug 2013 19:30:41 +0000]
Increase minimum protocol version
alex [Mon, 26 Aug 2013 00:00:40 +0000]
Remove migration code
alex [Sun, 25 Aug 2013 23:43:29 +0000]
Message typo fix