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

how to run ethereum's macro benchmark #50

Open yolo-612 opened 5 years ago

yolo-612 commented 5 years ago

i want to do a preliminary simulation ,two nodes.first install the geth ,then use genesis-block to bulid private blockchain, deploy smart contracts,then install the driver of kv_store,finally run_bench.sh. is the process right ?

nicodechal commented 5 years ago

I only install geth and use run-bench.sh to get results, and I think we dont need to init ethereum & deploy smart contracts by ourselves, they are included in run-bench.sh

yolo-612 commented 5 years ago

@nicodechal hi,Are you building VMs for simulation? after installing geth,i run.bench.sh and I get permission denied. I tried running two nodes, the genesis.json and env.sh do not need to be reconfigured?

nicodechal commented 5 years ago

@keruisiya You need to make sure two nodes can connect to each other,You can try this using ssh command on each node. And yes you need to change the content in env.sh to your own path.

yolo-612 commented 5 years ago

@nicodechal thank you !hh I still got --permission denied. Have you opened /src to install workload‘s driver ? Or is this just that the two VM are not connected? But I have already ping each other.

yolo-612 commented 5 years ago

@nicodechal When modifying env.sh, I changed all global variable directory paths to mine,Should I not do this? or I only modify LOG_DIR to correct location?

nicodechal commented 5 years ago

@keruisiya

yolo-612 commented 5 years ago

@nicodechal when i run ./run-bench.sh i got the following result tfjltw7m ztc15_a s94u c env.sh i changed as following _2d sz6_k xxfjy5gbon Where should I change ips? Can you share your complete configuration process before run run-bench.sh. I always feel that I‘m missing something.thank you

nicodechal commented 5 years ago

@keruisiya It seems that you need to use chown command on each node to make sure they can access those files. the IP lists are in files named hosts and clients, you should change them to your own. and In env.sh, you should change the EXE_HOME to kvstore or smallbank instead of donothing.

yolo-612 commented 5 years ago

@nicodechal I changed the ip address in host and client and i got 3o6o a1 n rl8v7ewy rzn I have imported all the file on two VMs. do I need to use the chown command?

nicodechal commented 5 years ago

@keruisiya it's hosts not host. If you still get permission denied error, you can try chown, or you don't need chown.

yolo-612 commented 5 years ago

@nicodechal I sincerely thank you for your help

yolo-612 commented 5 years ago

@nicodechal Hello, I am running run-bench.sh to get the following error.and the content of my addpeer.txt file is admin.addpeer What should I do? Fatal: Failed to start the JavaScript console: api modules: context deadline exceeded qq 20181125150540 thank you!

casm3 commented 4 years ago

Hei, @keruisiya, did you manage to run the benchmark? I am on the same boat that you were.

tienquyet28 commented 1 year ago

I only install geth and use run-bench.sh to get results, and I think we dont need to init ethereum & deploy smart contracts by ourselves, they are included in run-bench.sh

i have try to check run-bench.sh and through all process can't see process how smart contracts deployed , and can't find process in client that get deploy in clients VM ? do you have any idea pls leave a comment

tienquyet28 commented 1 year ago

@nicodechal when i run ./run-bench.sh i got the following result tfjltw7m ztc15_a s94u c env.sh i changed as following _2d sz6_k xxfjy5gbon Where should I change ips? Can you share your complete configuration process before run run-bench.sh. I always feel that I‘m missing something.thank you

the path exe_home doesn't exist in code already. I means ./donothing is not in folder /src

tienquyet28 commented 1 year ago

still get permission denied e

i have full fixed .sh code of enode.sh u can check to them

!/bin/bash

cd dirname ${BASH_SOURCE-$0} . env.sh ip_addr=$1

echo Running: geth --datadir $ETH_DATA --authrpc.addr 0.0.0.0 --authrpc.port 8051 --http.corsdomain "" --rpc.gascap 0 --networkid 15 -nodiscover console --exec "admin.nodeInfo.enode" attach 2>/dev/null |grep enode | perl -pe "s/[\:\:]/$ip_addr/g" | perl -pe "s/^/\"/; s/\s$/\"/;"

geth --datadir $ETH_DATA --authrpc.addr 0.0.0.0 --authrpc.port 8051 --http.corsdomain "" --rpc.gascap 0 --networkid 15 -nodiscover console --exec "admin.nodeInfo.enode" attach 2>/dev/null |grep enode | perl -pe "s/[\:\:]/$ip_addr/g" | perl -pe "s/^//; s/\s$//;"