EOSBenchTool is a PC cross-platform, EOS pressure testing tool, which is developed by OracleChain.io.
The EOSBenchTool is a EOS pressure testing tool.
EOSBenchTool prepares a batch of transactions to save the client's packaging, signature time, then use push_transactions
to sends transactions to EOS node, using limited clients to maximize the pressure test on the server!
ENVIRONMENT:
MACOS、WINDOWS、UBUNTU
1. install QT >= 5.8
2. download our git repository.
git clone --recurse-submodules https://github.com/OracleChain/EOSBenchTool.git
3. open Qt Creator and choose "Open Project", select the "src/EOSBenchTool.pro" and open
4. select Build from QT menu and Run it.
For ubuntu, if build with errors like
connot find -lGL
, this means the openGL development library is missing. Just using this command to install:sudo apt-get install build-essential libgl1-mesa-dev
DOWNLOAD & TRY
Version | MD5 |
---|---|
WINDOWS_v2.0(compliant with dawn-v4.0.0) | a4d46c5902d10991e241732bf3b20f28 |
UBUNTU_v2.0(compliant with dawn-v4.0.0) | f4704058a726422bb53cbb0207c7b268 |
WINDOWS_v1.0(compliant with DAWN-2018-04-27-ALPHA) | eec548fc2d760e65bed9c0c508dd6e92 |
UBUNTU_v1.0(compliant with DAWN-2018-04-27-ALPHA) | b9eb6dc0c8e99eb6b9d3f8e7cf605111 |
For Ubuntu: Tested on Ubuntu 16.04 x64, you should
chmod +x start.sh
, then use./start.sh
.
DEPENDENCYS:
our ECDSA is based on micro-ecc
We build a Publicly Verifiable Secret Sharing on secp256k1 which is published by Schoenmakers on crypto99 conference.
https://github.com/songgeng87/PubliclyVerifiableSecretSharing
Any questions pls join our official Telegram Group below
ENGLISH GROUP:https://t.me/OracleChainChat
First set contract, create token, issue token, and then use this tool to testing nodeos' performance.
You can refer to Tutorial eosio token Contract or using following command:
cleos -u http://127.0.0.1:8888/ set contract eosio.token ./eosio.token -p eosio.token
cleos -u http://127.0.0.1:8888/ push action eosio.token create '{"issuer": "eosio", "maximum_supply": "100000000.0000 EOS", "can_freeze": 0, "can_recall": 0, "can_whitelist": 0}' -p eosio.token
cleos -u http://127.0.0.1:8888/ push action eosio.token issue '[ "eosio", "100000000.0000 EOS", "m" ]' -p eosio
- Host address
EOS node ip - Port
EOS node port - Thread number
Recommended to be your computer's CPU number. - Transaction Pool Size, Total tokens
"Transaction Pool Size" * 0.0001(each transaction send 0.0001 token)="Total tokens" - Transaction batch size
Transactions number in onepush_transactions
.
First switch
Settings
page to complete settings. Second switch toBenchmark Testing
page, clickPrepare
button and wait for preparation processing complete, then clickStart
button to send prepared transactions, wait until the testing result shows.
Max tps
The max tps(transactions per second) during testing duration.
ATTENTION
You should always reopen EOSBenchTool to restart a new testing.
As the world’s first application built on an EOS ecosphere, OracleChain needs to meet the demands of the Oracle (oracle machine) ecosystem by efficiently linking blockchain technology services with various real-life scenarios, thereby delving into this immense tens of billions of dollars valuation market.
As a decentralized Oracle technology platform based on the EOS platform, the autonomous Proof-of-Reputation & Deposit mechanism is adopted and used as a fundamental service for other blockchain applications.In addition to Oracle services that provide real-world data to the blockchain, Oracle services that provide cross-chain data are also offered. Given that OracleChain can accomplish the functions of several prediction market applications, such as Augur and Gnosis, OracleChain can also support smart contract businesses that require high-frequency access to outside data in certain scenarios, such as Robo-Advisor.
OracleChain will nurture and serve those blockchain applications that change the real world. Our mission is to “Link Data, Link World,” with the aim of becoming the infrastructure linking the real world with the blockchain world.
By achieving intra-chain and extra-chain data connectivity, we aspire to create a service provisioning platform that can most efficiently gain access to extra-chain data in the future blockchain world.
License
Released under GNU/LGPL Version 3