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
392 stars 174 forks source link

help in deploy smart-contract #22

Closed xiaohua0921 closed 6 years ago

xiaohua0921 commented 6 years ago

When I run the parity and ethereum , I meet the error “ driver: evm_utils.cc:334: std::__cxx11::string BBUtils::EVMUtils::lookup_smart_contract_address_or_die(const string&, const string&): Assertion `r.find(""result":null") == std::string::npos' failed. " . I found the reason is the code " assert(r.find("\"result\":null") == std::string::npos); " in function "lookup_smart_contract_address_or_die" , I have print r,the information is " {"jsonrpc":"2.0","result":null,"id":1} " , but in parity ,the line of code is annotated ,so there haven't this error , so I want to know , whether is correct or not of the r .

ug93tad commented 6 years ago

This error means that the smart contract was not deployed successfully.

ug93tad commented 6 years ago

both Ethereum and Parity use the same DB, there shouldn't be any differences in evm_utils.cc

xiaohua0921 commented 6 years ago

I have checked the code , there was no differences in between Eth and parity .But I print the return information of "lookup_smart_contract_address_or_die" still is “{"jsonrpc":"2.0","result":null,"id":1} ” ,I do not know what may be the reason . And I found the "from_address" is different between eth and parity .

ug93tad commented 6 years ago

The reason is that the smart contract failed to deploy. Can you post your server log?

xiaohua0921 commented 6 years ago

The eth_log and client_log as follow: eth_log.txt

client_192.168.0.128_16.txt

ug93tad commented 6 years ago

from the log, it looks like the contract was submitted, but it hasn't been included in a block yet.

try to increase deploy wait time, e.g. specifying "-wt 120" or higher value, in the start-clients.sh

yolo-612 commented 5 years ago

@xiaohua0921 hello,I am currently experiencing this problem as you said: driver: evm_utils.cc:334: std::__cxx11::string BBUtils::EVMUtils::lookup_smart_contract_address_or_die(const string&, const string&): Assertionr.find(""result":null") == std::string::npos' failed. " . I found the reason is the code " assert(r.find(""result":null") == std::string::npos); ` How did you solve it at the time? thank you!