* [NOD-177] Removed references to idMerkleRoot.
* [NOD-177] Generated new genesis hashes.
* [NOD-177] Generated new blk_ blocks.
* [NOD-177] Fixed TestHaveBlock.
* [NOD-177] Fixed The rest of the tests.
* [NOD-177] Fixed a couple of comments and a duplicate test.
* [NOD-177] Fixed blocks1-256.bz2.
* [NOD-56] Created devnet
* [NOD-56] Fixed tests
* [NOD-56] Fixed go vet errors
* [NOD-56] Added TestSolveGenesisBlock function
* [NOD-56] Created command line tool for solving genesis blocks
* [NOD-48] Update wire.NewMsgTx to recieve all fields in msgTx
* [NOD-48] Fix all compilation errors resulting from modification of wire.NewMsgTx
* [NOD-48] Calculate payloadHash iff subnetworkID is not native
* [NOD-48] Update all places the instantiate wire.MsgTx to use wire.NewMsgTx
* [NOD-48] Remove 'wire.' calls inside wire package
* [NOD-48] Made newMsgTx with all parameters private, and added a few public functions that take various arguments for all common use-cases
* [NOD-48] Explicitly pass SubnetworkIDNative instead of nil to newMsgTx
* [NOD-48] Remove option to pass nil to newMsgTx
* [DEV-376] Changed any instance of %v in format strings with a more specific format token
* [DEV-376] Fixed some more wrong formatting strings + removed redundant
cast
* [DEV-376] Added fmt.Sprintf where it was missing
* [DEV-376] use %s for util.Amount, to invoke .String()
* [DEV-376] Some more fixes in format strings
* [DEV-376] fixed mruinvmap_test to expect the correct behaviour
* [DEV-361] Create type TxID as alias to daghash.Hash. Use it for transaction IDs
* [DEV-361] Fixed missed renames
* [DEV-361] Removed usage of zeroHash
* [DEV-361] Fixed more missed renames
* [DEV-326] Worked around a parallelism issue in go test. Fixed a test where a file was being deleted while still open.
* [DEV-326] Worked around a timer-related oddity.
* [DEV-326] Fixed closing a file twice.
* [DEV-326] Using pdb.closed instead of an additional variable.
* [DEV-308] Enforce tx order in block to be by sub-network ID
* [DEV-308] Use mutable block in TestCheckBlockSanity
* [DEV-308] Fixed comment
* [DEV-308] Fixed TestCheckBlockSanity: use invalid block instead of modifying good block
* [DEV-308] Changed name of block in TestCheckBlockSanity
* [DEV-81] Overwrite maxOpenFiles for testInterface to force tests to check the LRU-mechanism in openFile
* [DEV-81] Added database.UseLogger test
* [DEV-81] Completed coverage of reconcileDB()
* [DEV-81] Added some tests for dbcache
* [DEV-81] Moved init and UseLogger to separate file to make them more easily-testable + added tests
* [DEV-81] Added tests for deleteFile
* [DEV-81] Added tests to cursor.Delete + made sure it returns error when transaction is not writable
* [DEV-81] Moved database/error_test.go from database_test package to database package + added test for IsErrorCode
* [DEV-81] Added tests for handleRollback error-cases
* [DEV-81] Added tests for cursor.skipPendingUpdates
* [DEV-81] Added tests for various cursor edge-cases
* [DEV-81] tx.putKey no longer returns error, because there is no case when it does
* [DEV-81] Added tests to CreateBucket error cases
* [DEV-81] Added tests to bucket.Get and .Delete error cases + .Delete now returns error on empty key
* [DEV-81] Added test for ForEachBucket
* [DEV-81] Added tests to StoreBlock
* [DEV-81] Added test for deleting a double nested bucket
* [DEV-81] Removed log_test, as it is no longer necessary with the logging system re-design
* [DEV-81] Added test to some of writePendingAndCommit error-cases
* [DEV-81] Update references from btcutil to btcd/util
* [DEV-81] Add tests for dbCacheIterator{.Next(), .Prev(), .Key, .Value()} in cases when iterator is exhausted
* [DEV-81] Added tests for ldbIterator placeholder functions
* [DEV-81] Added test name to Error messsages in TestSkipPendingUpdates
* [DEV-81] Begin writing TestSkipPendingUpdatesCache
* [DEV-81] Added error-cases for DBCache.flush() and DBCache.commitTreaps()
* [DEV-81] Use monkey.patch from bou.ke and not from github
* [DEV-81] Rewrote IsErrorCode in both database and txscript packages to be more concise
* [DEV-81] Rename any database.Tx to dbTx instead of tx - to remove confusion with coin Tx
* [DEV-81] Fix typo
* [DEV-81] Use os.TempDir() instead of /tmp/ to be cross-platform
* [DEV-81] use SimNet for database tests + Error if testDB exists after deleting it
* [DEV-81] Removed useLogger - it's redundant
* [DEV-81] Added comment on how CRC32 checksums are calculated in reconcile_test.go
* [DEV-81] Added comment that explains what setWriteRow does
* [DEV-81] Use constant instead of hard-coded value
* [DEV-81] Fixed some typo's + better formatting
* [DEV-134] Implement Continuous Integration
Squashed commit:
[5e41d830] Dev 223 fix txindex (#100)
* [DEV-201] In handleGetBlockDAGInfo calculate difficulty by the tip with the lowest bits
* [DEV-202] Move VirtualBlock.GetUTXOEntry to BlockDAG
* [DEV-203] Move VirtualBlock.SelectedTip() to BlockDAG
* [DEV-203] Move VirtualBlock.SelectedTip() to BlockDAG
* [DEV-204] Unexport VirtualBlock() and add CalcMedianTime method for DAG
* [DEV-204] add explanation about difficulty in CurrentBits() comment
* [DEV-204] unexport VirtualBlock type
* [DEV-223] make applyUTXOChanges return pastUTXOResults
* [DEV-223] add bluestxdata for current block as well
* [DEV-223] re-design tx index
* [DEV-223] edit txindex comments
* [DEV-223] rename BluesTxData -> AcceptedTxData, and return from applyUTXOChanges only transactions that got accepted
* [DEV-223] add unit test for txindex
* [DEV-223] fix comments and unite blueTransaction and AcceptedTxData to one type
* [DEV-223] use bucket cursor for dbFetchFirstTxRegion
* [DEV-223] use the same cursor instance for dbFetchFirstTxRegion
* [DEV-223] write in dbFetchFirstTxRegion's comment that it returns the first block region
* [DEV-223] rename type BlueBlockTransaction to TxWithBlockHash
* [DEV-223] add named returned value for applyUTXOChanges
[4c95e293] [DEV-134] Made golint ignore the vendor directory.
[21736dbc] [DEV-134] Renamed ExampleBlockChain_ProcessBlock to ExampleBlockDAG_ProcessBlock to satisfy go vet.
[beea6486] [DEV-134] Removed pushing the built docker to a remove repository. That's unnecessary at this stage.
[bee911ed] [DEV-134] Made all precompilation checks run on everything instead of only the root dir.
[585f92ae] [DEV-134] Added "github.com/pkg/errors" to dep.
[5f02f570] [DEV-134] -vendor-only is written with only one hyphen.
[3eee7f95] [DEV-134] go vet instead of go tool vet.
[0c2d4343] [DEV-134] Split all the pre-compile checks to separate lines to be able to tell which of them is failing.
[780519c8] [DEV-134] Ran gofmt on everything.
[8247146b] Dev 223 fix txindex (#100)
* [DEV-201] In handleGetBlockDAGInfo calculate difficulty by the tip with the lowest bits
* [DEV-202] Move VirtualBlock.GetUTXOEntry to BlockDAG
* [DEV-203] Move VirtualBlock.SelectedTip() to BlockDAG
* [DEV-203] Move VirtualBlock.SelectedTip() to BlockDAG
* [DEV-204] Unexport VirtualBlock() and add CalcMedianTime method for DAG
* [DEV-204] add explanation about difficulty in CurrentBits() comment
* [DEV-204] unexport VirtualBlock type
* [DEV-223] make applyUTXOChanges return pastUTXOResults
* [DEV-223] add bluestxdata for current block as well
* [DEV-223] re-design tx index
* [DEV-223] edit txindex comments
* [DEV-223] rename BluesTxData -> AcceptedTxData, and return from applyUTXOChanges only transactions that got accepted
* [DEV-223] add unit test for txindex
* [DEV-223] fix comments and unite blueTransaction and AcceptedTxData to one type
* [DEV-223] use bucket cursor for dbFetchFirstTxRegion
* [DEV-223] use the same cursor instance for dbFetchFirstTxRegion
* [DEV-223] write in dbFetchFirstTxRegion's comment that it returns the first block region
* [DEV-223] rename type BlueBlockTransaction to TxWithBlockHash
* [DEV-223] add named returned value for applyUTXOChanges
[bff68aa3] [DEV-134] Gave executable permission to deploy.sh
[638a99d9] [DEV-134] Added jenkinsfile and deploy script.
* [DEV-134] Added a robust testing script.
* [DEV-134] Fixed a bash-ism.
* [DEV-134] Disabled testing with coverage for now.
* [DEV-134] Disabled golint and removed removing debug symbols.
* [DEV-134] Disabled aligncheck.
* [DEV-134] Disabled structcheck and varcheck.
* [DEV-134] Added "don't inline functions" to compiler flags for testing.
* [DEV-134] Made build fail if gofmt prints out anything.
* [DEV-134] Fixed misleading comment.
* [DEV-134] Added comments to test.sh.
* [DEV-134] Renamed tm to measure_runtime and removed do_ prefixes from functions.
* [DEV-134] Fixed gofmt line in build script.
* [DEV-134] Fixed gofmt some more.
* [DEV-134] Fixed gofmt not actually failing due to logical or.
* [DEV-97] Moved github.com/daglabs/btcutil into github.com/daglabs/btcd/btcutil.
* [DEV-97] Updated Gopkg.toml to no longer refer to btcutil.
* [DEV-97] Renamed btcutil to util.
* [DEV-82] break down main to packages
* [DEV-82] separate rpcserver and server
* [DEV-82] Fixed Windows-related code that failed to compile.
* [DEV-82] remove params.go and use only dagconfig.Params
* [DEV-82] fix log.go license
* [DEV-27] Fixed dbtool to work with multiple previous blocks
* [DEV-27] Fix Example_blockStorageAndRetrieval expected bytes
* [DEV-27] Added generator for testdata, and generated new testdata to conform to DAG
* [DEV-27] Fixed FetchBlockHeader(s) and database interface test for DAG
Now that all headers are stored in the in-memory index, the database
bucket managed by blockchain, and in the flat files, it makes sense to
drop the redundant data from the block index bucket in ffldb.
To avoid modifying the database interface, this reimplements
FetchBlockHeader(s) to use header data stored in flat files. This can
be trivially implemented by delegating to FetchBlockRegion.
The btclog package has been changed to defining its own logging
interface (rather than seelog's) and provides a default implementation
for callers to use.
There are two primary advantages to the new logger implementation.
First, all log messages are created before the call returns. Compared
to seelog, this prevents data races when mutable variables are logged.
Second, the new logger does not implement any kind of artifical rate
limiting (what seelog refers to as "adaptive logging"). Log messages
are outputted as soon as possible and the application will appear to
perform much better when watching standard output.
Because log rotation is not a feature of the btclog logging
implementation, it is handled by the main package by importing a file
rotation package that provides an io.Reader interface for creating
output to a rotating file output. The rotator has been configured
with the same defaults that btcd previously used in the seelog config
(10MB file limits with maximum of 3 rolls) but now compresses newly
created roll files. Due to the high compressibility of log text, the
compressed files typically reduce to around 15-30% of the original
10MB file.
The github markdown interpreter has been changed such that it no longer
allows spaces in between the brackets and parenthesis of links and now
requires a newline in between anchors and other formatting. This
updates all of the markdown files accordingly.
While here, it also corrects a couple of inconsistencies in some of the
README.md files.