beware: some of this collection is outdated; is going to get cleaned soonish.
interesting next questions:
- in Ethereum Core Devs Meeting 49, on Nov 9th 2018, @Afri mentioned that some people are working on porting
Clique
(thegeth
PoA) toparity
- so soon there can be a cross-client PoA algorithm! Good news.
- Will be interesting to combine https://github.com/javahippie/geth-dev and https://github.com/paritytech/parity-deploy !
- a first issue with python library dependencies for chainhammer was reported
- add this repo to https://github.com/ConsenSys/ethereum-developer-tools-list
- quorum: solve this strange problem which seems to only appear on Amazon AWS; but no time for this now.
- gas / transaction bytes / block size / ...
- standard
.set()
call needs26644 gas
, very small; general calls will be larger --> estimate effect of gas on TPS: - custom smart contract that can use tunable gas for storage (e.g. append to list), or tunable gas for calculations (e.g.
- standard
- Vanilla Ethereum PoW
- to get the baseline TPS using my scripts
- Ethereum PoA tools
geth
perhaps via --> puppeth ?- hackernoon
- stackexchange
- puppeth hints loop multiplication) instead of the SimpleStorage.sol
- send TX via websockets instead of RPC - faster?
- doing away with vagrant, instead run on host machine - tried, BUT have to wait for severe bug #352 to be fixed; see non-vagrant/README.md
- eth_sendTransactionAsync ??
- QuorumNetworkManager
- benchmark EOS / EOSclassic - see eos.md
- compare all results in a table / barchart, instead of chronological text log files.
what else? Please YOU make suggestions.
N.B.: No guarantees that I will get time to continue with this at all - so please feel invited to fork this repo, and keep on working on benchmarking this. I'll happily merge your pull request. Thanks.
- update documentation:
deploy.py notest
-->deploy.py
; get-set-get test is now run withdeploy.py andtests
- move old parity.md quorum.md geth.md etc into historical/ folder, BUT link to them at top of the new ones
- timestamp transformation = different units depending on client, see tps.timestampToSeconds():
- next time when trying 'raft' consensus - test whether timestamp transformation is working correctly
- check back with pipermerriam/eth-testrpc#117 if problem is solved now
IBFT
instead ofraft
- generic 7nodes example contains IBFT already; so that part should be easy (however, some issues reported bugs with IBFT ?)
- needs code update in
tps.py
, see README.md --> IBFT
- Crux instead of
Constellation
- refactor chainreader/blocksDB_analyze.ipynb into 2 files: functions library + visualisation jupyter notebook
- send TX via IPC instead of RPC - faster? summarizing manual how exactly to use chainhammer & chainreader - this repo had organically grown in depth and width --> some refactoring would make sense soon. These 2 simple tools are really not difficult to use though, AND all infos are explicit already - it's only that the information is spread over several files right now. --> there is a README.md --> quickstart) now.
- Vanilla Ethereum PoA
parity
PoAgeth
PoA
- is the parity RPC server single-threaded?? -->
--jsonrpc-server-threads 8
- perhaps try Crux not Constellation?
- quorum.md - quickstart how to use this chainhammer tool
- log.md - sequence of everything that I've already optimized, to get this faster
- non-vagrant/README.md - attempt to run it on host machine instead of inside vagrant VB; currently broken, issue unanswered.
- tobalaba.md also benchmarked the parity fork of the EnergyWebFoundation:
--chain Tobalaba
- quorum-IBFT.md
- parity.md
- reader/ chainreader: traverse whole chain, display as 4 diagrams: TPS, size, gas, blocktime
- main README.md - entry point for this repo, now with quickstart