ooibc88 / blockbench

BLOCKBENCH: A Framework for Analyzing Private Blockchains. Blockbench contains workloads for measuring the data processing performance, and workloads for understanding the performance of different layers of Blockchain systems.
https://www.comp.nus.edu.sg/~dbsystem/fabricsharp/#/blockbench
Apache License 2.0
391 stars 174 forks source link

Error on analytic benchmark #30

Closed jshaw29 closed 6 years ago

jshaw29 commented 6 years ago

Hello there,

I'm trying to run the analytics benchmarks on an ethereum private network however when I try to look through blocks the benchmarks will tell me there aren't 10 000 blocks minted.

When I check how many blocks there are on my geth console it reports there is indeed over 10 000 blocks

Any help would be appreciated

Thank You

ug93tad commented 6 years ago

Did you run "tx_gen.js" to generate 10K blocks (which should take a while) ?

@ijingo should be able to help.

jshaw29 commented 6 years ago

Yes I've been running it since I started the blockchain and it works with up to 2900 blocks but anything after it says not that many blocks have been minted. At the time of writing this comment I have 11300 blocks in my blockchain

jshaw29 commented 6 years ago

@ug93tad Hi I found what the problem was

in bench_q1.js

var post_data = JSON.stringify({ "jsonrpc": "2.0", "method": "eth_getBlockByNumber", "params": ["0x"+block_num.toString(), true], "id":0 });

When you send the block parameters it converts the integer to a string and adds 0x to it. But it converts it into decimal when eth_getBlockByNumber expects a hexidecimal value

So when you you try to query block 10 000 the parameter it sends is actually 0x10000 which is too high.

When I change the parameters to "0x"+ block_num.toString(16)

which would convert 10 000 to 2710 which is the actual block I want to look at

it works