Skip to content

OracleChain/EOSBenchTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

EOSBenchTool is a PC cross-platform, EOS pressure testing tool, which is developed by OracleChain.io.


Menu


Overview

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

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

https://github.com/kmackay/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

中文群:https://t.me/OracleChainChatCN

ENGLISH GROUP:https://t.me/OracleChainChat

Functions

Prepation

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

Settings

  • 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 one push_transactions.

Test

First switch Settings page to complete settings. Second switch to Benchmark Testing page, click Prepare button and wait for preparation processing complete, then click Start 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.


About OracleChain

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

License

Released under GNU/LGPL Version 3