blockbench
blockbench copied to clipboard
how to run ethereum's macro benchmark
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 ?
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
@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?
@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.
@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.
@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?
@keruisiya
- can you show some details about the permission denied problem? I still dont know where you got this error..
- You should change all path to yours, and note that you also need to modify the files pointed to by the path
$CLIENTS
and$HOSTS
defined inenv.sh
and change the IPs in them to your own.
@nicodechal when i run ./run-bench.sh
i got the following result
env.sh i changed as following
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
@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
.
@nicodechal I changed the ip address in host
and client
and i got
I have imported all the file on two VMs. do I need to use the chown command?
@keruisiya it's hosts
not host
. If you still get permission denied error, you can try chown
, or you don't need chown
.
@nicodechal I sincerely thank you for your help
@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
thank you!
Hei, @keruisiya, did you manage to run the benchmark? I am on the same boat that you were.
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 inrun-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
@nicodechal when i run
./run-bench.sh
i got the following resultenv.sh i changed as following
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
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$//;"