All Projects → ethereum → retesteth

ethereum / retesteth

Licence: GPL-3.0 license
testeth via RPC. Test run, generation by t8ntool protocol

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to retesteth

intx
intx – extended precision integer library
Stars: ✭ 83 (+48.21%)
Mutual labels:  evm
aqa-tests
Home of test infrastructure for Adoptium builds
Stars: ✭ 104 (+85.71%)
Mutual labels:  tests
CSUS-CPE-CSC-EEE-Materials
Homework, labs, tests for a variety of classes. Feel free to share. California State University, Sacramento
Stars: ✭ 38 (-32.14%)
Mutual labels:  tests
c4-common-issues
A collection of common security issues and possible gas optimizations in solidity smart contracts
Stars: ✭ 85 (+51.79%)
Mutual labels:  evm
ohmfork-autoclaim
automatically claim and restake vested bonds (mints) from SnowbankDAO, KlimaDAO, Wonderland, and other OlympusDAO forks
Stars: ✭ 40 (-28.57%)
Mutual labels:  evm
exchain
⛓️ The Infrastructure of Decentralized Exchange ✨
Stars: ✭ 349 (+523.21%)
Mutual labels:  evm
Telegraf-Test
Telegraf Test - Simple Test ToolKit of Telegram Bots
Stars: ✭ 22 (-60.71%)
Mutual labels:  tests
balls
the testing framework with balls 🔴🟡🟢
Stars: ✭ 55 (-1.79%)
Mutual labels:  tests
solidity-create2-example
Example of how to use the CREATE2 opcode released in the Constantinople update for Ethereum
Stars: ✭ 97 (+73.21%)
Mutual labels:  evm
evm-bn
Convert fixed-point numbers to ethers big numbers and vice-versa.
Stars: ✭ 33 (-41.07%)
Mutual labels:  evm
dojos
Alguns desafios para os participantes dos grupos de estudo
Stars: ✭ 33 (-41.07%)
Mutual labels:  tests
LIPs
LUKSO Improvement Proposals. Repository for the LUKSO Blockchain Improvement Proposals (LIPs) and LUKSO Standards Process (LSP).
Stars: ✭ 39 (-30.36%)
Mutual labels:  evm
sdk-go
Tools to work with the Injective Chain, Injective EVM and EIP712.
Stars: ✭ 29 (-48.21%)
Mutual labels:  evm
atata-sample-app-tests
Automation tests application based on Atata Framework
Stars: ✭ 27 (-51.79%)
Mutual labels:  tests
quic-tracker
A test suite for QUIC
Stars: ✭ 59 (+5.36%)
Mutual labels:  tests
web-cve-tests
A simple framework for sending test payloads for known web CVEs.
Stars: ✭ 120 (+114.29%)
Mutual labels:  tests
textsum examples
[deprecated] reference code for textsum
Stars: ✭ 17 (-69.64%)
Mutual labels:  tests
Astar
The dApp hub for blockchains of the future
Stars: ✭ 533 (+851.79%)
Mutual labels:  evm
haskell-ethereum-assembly
EVM (Ethereum virtual machine) Assembly on Haskell DSL
Stars: ✭ 55 (-1.79%)
Mutual labels:  evm
go-ubiq
Ubiq fork of Geth
Stars: ✭ 82 (+46.43%)
Mutual labels:  evm

retesteth

testeth via RPC (wiki: https://github.com/ethereum/retesteth/wiki)
(Execution stats: http://retesteth.ethdevops.io/)

The Goal

  • A test tool that would be capable of running current Blockchain tests against any client by sending rpc request to the client instatnce on either local or remote host. (using unix or TCP sockets)
  • Filling existing tests (generating post state from *Filler.json instruction files) using rpc and any exisiting client
  • Running rpc request - response tests with a provided client on localhost
  • Bunch tests execution with many clients with many threads
  • A minimum set of additional rpc methods for client to negotiate with the tool: https://github.com/ethereum/retesteth/wiki/RPC-Methods

Current progress

  • done: State tests execution and filling was done as PoC on ethereum cpp client (aleth)
  • done: Tests execution using threads on localhost with multimple instances of a client (geth + aleth)
  • done: Develop minimum set of rpc methods that are to be implemented on other clients and could be used to run tests via rpc
  • done: PoC Running Blockchain tests using geth client
  • done: Implement a set of PoC methods in other client then aleth
  • done: Refactoring and stability when generating GeneralStateTests
  • done: Blockchain test generation support
  • now: Use retesteth to produce fork tests with geth/besu/aleth
  • now: Refactor the code, impove stability

Building instructions

git clone [email protected]:ethereum/retesteth.git
cd retesteth
mkdir build
cd build
cmake ..
make -j4

Or try building instruction for begginers: retesteth + solidity build

Usage

WIKI: https://github.com/ethereum/retesteth/wiki
Requres to have a client installed on your system. Read the wiki page on detailed instruction on how to configure your client to work with retesteth https://github.com/ethereum/retesteth/wiki/Add-client-configuration-to-Retesteth

./retesteth -t GeneralStateTests

Docker instructions

See: https://github.com/ethereum/retesteth/wiki/Docker-instructions

RPC Methods

See: https://github.com/ethereum/retesteth/wiki/RPC-Methods

Contact

Telegram: @wdimitry

Building instructions for beginners

Dependencies

GIT

sudo apt-get update
sudo apt-get install git g++ build-essential

Cmake

Make sure the version is higher than VERSION 3.9.3, otherwise install cmake from a different source

sudo apt-cache policy cmake
sudo apt-get install cmake

Retesteth

cd ~
mkdir Ethereum
cd Ethereum
git clone https://github.com/ethereum/retesteth.git
cd retesteth
mkdir build
cd build
cmake ..

Now you should see the successful build files generation result:

Configuring done
-- Generating done
-- Build files have been written 

Run the build command to compile: -j threadCount to optimize the build speed. Depending on your processor threads it will increase the building speed.

make -j4

Solidity

check the available boost version by
sudo apt-cache policy libboost-all-dev

install boost dependency boost if version >=1.65
sudo apt-get install libboost-all-dev

Solidity building instructions:

cd ~
cd Ethereum
git clone https://github.com/ethereum/solidity.git
cd solidity
git checkout 8f2595957bfc0f3cd18ca29240dabcd6b2122dfd
mkdir build
cd build
cmake .. -DLLL=1
make lllc -j4

DONE!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].