Giter Club home page Giter Club logo

blockchain's People

Watchers

 avatar

blockchain's Issues

Code does not go past first block

I use the following code:

    BlockChain *b = createBlockChain("/home/XXXXX/.bitcoin/blocks");
    if ( b )
    {
        const BlockChain::Block *block = b->readBlock();
        while ( block )
        {
            block = b->readBlock();
        }
        b->release();
    }

Processing of the first block (blk00000.dat) goes fine. But when the code goes 
to blk00001.dat it hits an error.

Output from the program:

Successfully opened block-chain input file 
'/home/stick/.bitcoin/blocks/blk00000.dat'
Warning: Missing block-header; early termination of this block-data file.
Successfully opened block-chain input file 
'/home/stick/.bitcoin/blocks/blk00001.dat'
Advanced to the next data file; but it does not start with a valid block.  
Aborting reading the block-chain.

Original issue reported on code.google.com by [email protected] on 24 Aug 2013 at 10:02

sprintf_s on linux

What steps will reproduce the problem?
1. make on linux
2.
3.

What is the expected output? What do you see instead?
>>make
g++ *.cpp -o blockchain.out
BlockChain.cpp: In function ‘const char* getDateString(time_t)’:
BlockChain.cpp:81:84: error: ‘sprintf_s’ was not declared in this scope
  sprintf_s(scratch,"%4d-%02d-%02d", gtm->tm_year+1900, gtm->tm_mon+1, gtm->tm_mday );
                                                                                    ^
BlockChain.cpp: In constructor ‘ZombieFinder::ZombieFinder()’:
BlockChain.cpp:3057:16: warning: converting to non-pointer type ‘uint64_t 
{aka long unsigned int}’ from NULL [-Wconversion-null]
   mLastBalance = NULL;
                ^
BlockChain.cpp: In member function ‘virtual void 
BlockChainImpl::reportTransactionValues(uint32_t)’:
BlockChain.cpp:6581:73: error: ‘sprintf_s’ was not declared in this scope
    sprintf_s(scratch,512,"TransactionValues-%s.csv", getDateString(date));
                                                                         ^
main.cpp: In function ‘const char* getDateString(time_t)’:
main.cpp:24:84: error: ‘sprintf_s’ was not declared in this scope
  sprintf_s(scratch,"%4d-%02d-%02d", gtm->tm_year+1900, gtm->tm_mon+1, gtm->tm_mday );
                                                                                    ^
make: *** [blockchain.out] Error 1


What version of the product are you using? On what operating system?
Version: checked out today (Oct-08-2014)
0S:
>>uname -a
Linux APU 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 
x86_64 x86_64 GNU/Linux


Please provide any additional information below.
>>grep sprintf_s *.*
BlockChain.cpp: sprintf_s(scratch,"%4d-%02d-%02d", gtm->tm_year+1900, 
gtm->tm_mon+1, gtm->tm_mday );
BlockChain.cpp:         sprintf_s(scratch,512,"EXPORT_%04d_%02d_%02d.csv", 
1900+gtm->tm_year, gtm->tm_mon+1, gtm->tm_mday );
BlockChain.cpp:         sprintf_s(scratch,512,"TransactionValues-%s.csv", 
getDateString(date));
main.cpp:   sprintf_s(scratch,"%4d-%02d-%02d", gtm->tm_year+1900, gtm->tm_mon+1, 
gtm->tm_mday );


Original issue reported on code.google.com by [email protected] on 8 Oct 2014 at 9:26

some (integer?) error on ubuntu

What steps will reproduce the problem?
1. scan whole blockchain
2. statistics
3. process

What is the expected output? What do you see instead?
get this error msg (see screenshot)



What version of the product are you using? On what operating system?
ubuntu binary from website, ubuntu 14

Please provide any additional information below.
could this be a memory problem or is it more of a software problem? have 16GB 
RAM

Original issue reported on code.google.com by [email protected] on 23 Jan 2015 at 12:12

Attachments:

Running on linux

You'll have to change line 

1793 of blockChain.cpp from 

"sprintf(scratch,"%s\\blk%05d.dat", mRootDir, mBlockIndex );"
to
"sprintf(scratch,"%s/blk%05d.dat", mRootDir, mBlockIndex );"

Since linux uses forward slashes instead of backslashes for path names.  After 
that

make
./blockchain.out pathtodatfile

works fine

Original issue reported on code.google.com by [email protected] on 4 Dec 2013 at 7:51

Segfault on ubuntu 14.04 when processing

I pulled the latest code yesterday and got this output when I ran the process 
command. Any ideas?
--------------------------------------------

....
statistics

Block Processing will gather statistics.
*** WARNING : This will consume an enormous amount of memory! ***
process

Beginning processing of 308919 blocks : Gathering Statistics=true
Processed block #10000 of 308919 total.
Processed block #20000 of 308919 total.
Processed block #30000 of 308919 total.
Gathering statistics for December 31, 2009 to January 1, 2010
Loading RenderDebug DLL
Scanning 32,607 bitcoin addresses and looking for zombies, relative to this 
date: 12, 31, 2009
Zombie Report:
Found 0 zombie addresses older than 558 days with a total balance of 0, 
excluding balances less than 0.0001
Found 29,823 living addresses newer than 558 days with a total balance of 
1,624,300, excluding balances less than 0.0001
Segmentation fault (core dumped)

Original issue reported on code.google.com by [email protected] on 3 Jul 2014 at 2:56

Failed to find transaction!

What steps will reproduce the problem?
1. compile for x64 debug, execute with no options

What is the expected output? What do you see instead?

proper loading of blockchain is expected.
process is killed after "Failed to find transaction!" is printed


What version of the product are you using? On what operating system?

current code pull, compiled in VS2013 on Windows 8.1 x64 with 32GB RAM


Original issue reported on code.google.com by [email protected] on 9 Mar 2015 at 2:18

unnecessary comparison

keyboard.cpp: In function ‘const char** getInputString(uint32_t&)’:
keyboard.cpp:167:24: warning: comparison is always true due to limited range of 
data type [-Wtype-limits]
   if ( c >= 32 && c <= 127 )

Original issue reported on code.google.com by [email protected] on 29 Oct 2014 at 11:25

compilation problems due to current enormous blockchain size.

What steps will reproduce the problem?
1. current version is not working with current blockchain as it has more than 
50mln addresses and more then 100mln? transactions

2. #define MAX_BITCOIN_ADDRESSES 48000000 // 40 million unique addresses.
#define MAX_TOTAL_TRANSACTIONS 76000000 // 40 million transactions.
#define MAX_TOTAL_INPUTS 268000000 // 200 million inputs.
#define MAX_TOTAL_OUTPUTS 268000000 // 200 million outputs
#define MAX_TOTAL_BLOCKS 600000     // 1/2 million blocks.

- that`s are highest numbers it could be compiled with - if go higher then:

Warning 1   warning D9025: overriding '/W3' with '/W4'   
2013\Projects\Project5\compiler\vc10win64\cl    blockchain
Error   2   error C2220: warning treated as error - no 'object' file 
generated   2013\Projects\Project5\BlockChain.cpp   3156    1   blockchain
Warning 3   warning C4307: '*' : integral constant 
overflow    2013\Projects\Project5\BlockChain.cpp   3156    1   blockchain


What version of the product are you using? On what operating system?
vs2013 win 8.1

Please provide any additional information below.

could not get a working version or recompile myslef. Any help appreciated! 
Thank you in advance.

Original issue reported on code.google.com by [email protected] on 12 Nov 2014 at 11:45

Segfault on initial run

What steps will reproduce the problem?
1. I compiled with make then tried to run for the first time with 
"./blockchain.out ~/.bitcoin/blocks"
2. The first 200,000 or so blocks scan fine and then I started getting a lot of 
"failed to decode public key in output script" over various blocks but it keeps 
going.
3. Eventually it segfaults on block 249,957 with the below output.


WARNING: Failed to decode public key in output script. Block 249,957 : 
Transaction: 49 : OutputIndex: 0 scriptLength: 60
TRANSACTION 
HASH:587f949b39e4590e40ed2a1e06c9cfb3ae4b73a18f7261251e6e68a4a2d41896
==========================================
FAILED TO LOCATE PUBLIC KEY
ChallengeScriptLength: 73 bytes long
63 
aa 20 00 00 00 00 00 19 d6 68 9c 08 5a e1 65 83 
1e 93 4f f7 63 ae 46 a2 a6 c1 72 b3 f1 b6 0a 8c 
e2 6f 87 67 aa 20 6f e2 8c 0a b6 f1 b3 72 c1 a6 
a2 46 ae 63 f7 4f 93 1e 83 65 e1 5a 08 9c 68 d6 
19 00 00 00 00 00 87 68 
==========================================

WARNING: Failed to decode public key in output script. Block 249,957 : 
Transaction: 97 : OutputIndex: 0 scriptLength: 73
TRANSACTION 
HASH:b5765f55d18f0c0b31132c71294b40dde96d629538f2121d17f4bd4dc0c25008
Processed block #250000 of 339111 total.
blockchain.out: BlockChain.cpp:811: bool 
BlockImpl::readOutput(BlockChain::BlockOutput&): Assertion `0' failed.
Aborted (core dumped)

What version of the product are you using? On what operating system?
I'm running ubuntu 14.04 and the latest version of the code I downloaded on 
1/14/15


Original issue reported on code.google.com by [email protected] on 15 Jan 2015 at 10:08

Memory excessive

The program needs a huge amount of memory for the blockchain, as the size is 
determined at compile-time, I assume. This makes it currently impossible for me 
to run it on small 1&1 vservers and on EC2 micro instances. I would be ever so 
happy if the memory was dynamically allocated upon need. Even if a huge mmap'ed 
file on disk would be ok, I assume blocks are not read very often.

Thank you for your existing work, I have patched it to support Riecoin. 
https://bitbucket.org/ysangkok/blockchain

Original issue reported on code.google.com by [email protected] on 5 Nov 2014 at 9:50

Only some blocks show up

What steps will reproduce the problem?

./blockchain.out ~/.bitcoin/blocks/ | grep Timestamp | sort

Output:

Timestamp : 01/03/2009 11:15:05 MST
Timestamp : 04/24/2011 11:56:35 MST
…
Timestamp : 04/25/2011 00:03:53 MST
…
Timestamp : 04/25/2011 09:53:53 MST

(172 lines in total)

What is the expected output? What do you see instead?
I only get information for some blocks.

What version of the product are you using? On what operating system?
recent version on Linux 3.10.17
My blockchain is from bitcoin-qt v0.8.5-beta

Perhaps my blockchain is corrupt?

Original issue reported on code.google.com by [email protected] on 4 Dec 2013 at 8:23

r93 update process only first 30000 blocks and exits

What steps will reproduce the problem?
1. run. scan. statistics. process
2.
3.

What is the expected output? What do you see instead?
precompiled exe process only first 30000 blocks and exits


What version of the product are you using? On what operating system?
win 8.1 32 gb ram

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 30 Nov 2014 at 3:37

one of the blocks has more than 1024 transactions

What steps will reproduce the problem?
1. Run blockchain on a recent (November 2013) set of blocks.

What is the expected output? What do you see instead?

Segfault

What version of the product are you using? On what operating system?

SVN r27

Please provide any additional information below.

Here is a patch. It includes some extra asserts.


--- BlockChain.cpp      (revision 27)
+++ BlockChain.cpp      (working copy)
@@ -1462,7 +1462,7 @@
 // These limits work for the blockchain current as of July 1, 2013.
 // The limits can be revised when and if necessary.
 #define MAX_BLOCK_SIZE (1024*1024)*10  // never expect to have a block larger than 10mb
-#define MAX_BLOCK_TRANSACTION 1024             // never expect more than 1024 
transactions per block.
+#define MAX_BLOCK_TRANSACTION 2048             // never expect more than 1024 
transactions per block.
 #define MAX_BLOCK_INPUTS 32768                 // never expect more than 32768 total inputs
 #define MAX_BLOCK_OUTPUTS 32768                        // never expect more than 32768 total outputs
@@ -1715,6 +1715,7 @@
                bits = readU32();       // Get the bits field
                nonce = readU32();      // Get the 'nonce' random number.
                transactionCount = readVariableLengthInteger(); // Read the number of transactions
+               assert ( transactionCount < MAX_BLOCK_TRANSACTION );
                if ( transactionCount < MAX_BLOCK_TRANSACTION )
                {
                        transactions = mTransactions;   // Assign the transactions buffer pointer
@@ -2105,6 +2107,7 @@
        virtual const Block * processSingleBlock(const void *blockData,uint32_t blockLength)
        {
                const Block *ret = NULL;
+               assert ( blockLength < MAX_BLOCK_SIZE );
                if ( blockLength < MAX_BLOCK_SIZE )
                {
                        mSingleBlock.blockIndex = 0;
@@ -2122,6 +2125,7 @@
        virtual const BlockTransaction *processSingleTransaction(const void *transactionData,uint32_t transactionLength)
        {
                const BlockTransaction *ret = NULL;
+               assert ( transactionLength < MAX_BLOCK_SIZE );
                if ( transactionLength < MAX_BLOCK_SIZE )
                {
                        mSingleBlock.blockIndex = 0;




Original issue reported on code.google.com by [email protected] on 9 Nov 2013 at 9:02

Crash on windows 8 in process command


I'm running the 64 bit version you have provided in the link here: 
http://codesuppository.blogspot.se/2014/01/a-command-line-interface-for-blockcha
in.html

These are the command I run, in order: scan, statistics and process. The 
process command crashes. This is the last output I get:

-----------------
Finished processing all blocks in the blockchain.
Total Blocks: 309,031
Total Transactions: 41,857,249
Total Inputs: 98,548,695
Total Outputs: 110,057,228
39,999,999 transactions.
89,349,453 inputs.
99,999,999 outputs.
35,767,653 addresses.
Found 35,767,653 addresses which have ever been used.
Found 33,418,027 addresses with a zero balance.
Found 1,188,449 'dust' addresses (less than 1mbtc) with a total balance of 
111.93181 BTC
Found 905,605 addresses with a balance greater than 1mbtc but less than 1btc, 
total balance 84697.88281
Found 154,918 addresses with a balance greater than 1btc but less than 10btc, 
total btc: 392,905
Found 87,578 addresses with a balance greater than 10btc but less than 100btc, 
total: 3,262,611
Found 11,648 addresses with a balance greater than 100btc but less than 
1,000btc, total: 2,837,809
Found 1,328 addresses with a balance greater than 1,000btc but less than 
10,000btc, total: 2,943,814
Found 98 addresses with a balance greater than 10,000btc but less than 
100,000btc, total: 2,342,625
Found 2 addresses with a balance greater than 100,000btc, total: 255,455
Gathering final statistics.

Original issue reported on code.google.com by [email protected] on 3 Jul 2014 at 5:04

segfault on OS X near the end of the data

What steps will reproduce the problem?
1. Build on OSX
2. run

What is the expected output? What do you see instead?
Expect everything to be parsed.

See segfault.

... much trimmed
Successfully opened block-chain input file '/Users/bruce/Library/Application 
Support/Bitcoin/blocks/blk00104.dat'
Scanned 277,415 block headers so far, 819 since last time.
Successfully opened block-chain input file '/Users/bruce/Library/Application 
Support/Bitcoin/blocks/blk00105.dat'
Scanned 278,284 block headers so far, 869 since last time.
Warning: Missing block-header; scanning for next one.
Process 32116 stopped
* thread #1: tid = 0x4b6280, 0x000000010000dc04 
blockchain.out`BlockChainImpl::readBlockHeader(this=0x0000000101000000) + 310 
at BlockChain.cpp:4353, queue = 'com.apple.main-thread, stop reason = 
EXC_BAD_ACCESS (code=1, address=0x10ba00000)
    frame #0: 0x000000010000dc04 blockchain.out`BlockChainImpl::readBlockHeader(this=0x0000000101000000) + 310 at BlockChain.cpp:4353
   4350                     for (uint32_t i=0; i<c; i++)
   4351                     {
   4352                         const uint32_t *check = (const uint32_t *)&temp[i];
-> 4353                         if ( *check == MAGIC_ID )
   4354                         {
   4355                             printf("Found the next block header after skipping: %s bytes forward in the file.\r\n", formatNumber(i) );
   4356                             lastBlockRead+=i; // advance to this location.

i = 10485757
temp = 0x000000010a000000
check = 0x000000010a9ffffd

The bad access is to 0x10ba00000, three bytes past check
((char*)check)[0] = 0
((char*)check)[1] = 0
((char*)check)[2] = 0
((char*)check)[3] = segfault


What version of the product are you using? On what operating system?

svn revision 55 running on OS X Mavericks


Please provide any additional information below.

I already fixed the file path separator.
The program takes less than a second to get to the point of the crash!

Original issue reported on code.google.com by [email protected] on 5 Jan 2014 at 11:13

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.