• Stars
    star
    424
  • Rank 102,329 (Top 3 %)
  • Language
    Go
  • Created over 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Flash Boys 2; frontrun.me web code, data gathering, and public data.

Arbitrage Data

This is the repository of data associated with the Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges paper.

Various Scripts

As you can see, there are various python scripts in the root of this repository. These scripts take the raw transaction data from the Etherum network as stored in a SQL DB and parse it to find information about gas auctions.

  • calculate_profit_from_logs.py - calculates arbitrage profits from solidity log events. Uses Google BigQuery dataset.
  • calculate_slots.py - calculate the price slots for gas auctions
  • count_wins.py - count the number of times each arbitrager won an auction
  • csv_hack.py - cleans data for parsing
  • csv_to_sqlite.py - collates data from multiple CSVs into one database
  • exchanges.py - scrapes and parses data from a list of well known distributed exchanges
  • filter_list.txt - list of addresses to ignore
  • gastoken.py - script to identify if an arbitrager is using GasToken
  • generate_graphs.py - Generates various graphs
  • get_all_arb_receipts.py - Gets Ethereum transaction reciepts for successful arbitrageurs.
  • get_auction_slots_intersection.py - Gets reciepts for bidders to auctions.
  • get_bq_blocks.py - Gets block data from Google BigQuery and puts it in a CSV.
  • get_bq_fees.py - Gets block fee data from Google BigQuery and puts it in a CSV.
  • get_bq_logs.py - Gets emitted logs and other transaction data from Google BigQuery and puts it in a CSV.
  • get_bq_relayers.py - Gets emitted logs from the addresses for bancor, kyber and uniswap.
  • get_bq_summarystats.py - Collates summary statistics from the BigQuery-scraped CSVs.
  • get_bq_txlist.py - Gets various transaction data from Google BigQuery.
  • get_pairwise_data.py - Pull out pairs of players in an auction from the auctions CSV.
  • persistence.py - Helper function.
  • read_csv.py - Creates the auctions CSV from the raw collected data from the go-ethereum monitoring software.
  • receipts.py - Helper function to write reciepts.
  • scrape_gasauctions.py - scrapes auctions from a full node by requesting block data.
  • sqlite_adapter.py - Helper function to query SQLite.
  • update.py - Helper script to automate updating the dataset as time progresses.
  • write_csv.py - Connects to the SQL DB and retrieves the data from the SQL database and writes it out to a CSV for parsing.

data

Contains a list of known relayers for various exchanges.

etherdelta

Contains scripts to perform scraping of Etherdelta's transaction order book data.

go-ethereum

This directory contains the source code for our fork of go-ethereum that we developed to monitor the ethereum network and collect transaction data as it propogated accross the network. Primarily the files that are of interest are:

  • go-ethereum/eth/arb_monitor.go
  • go-ethereum/eth/MonitorListGetter
  • go-ethereum/eth/handler.go
  • arbmonmon/

graph_templates

LaTeX source code for generating graphs (used for the paper).

paper

The LaTeX source of the associated paper.

webapp

The web application source code for the auction monitoring dashboard, which displays the data for monitoring of gas auctions as they happen.

More Repositories

1

mev

Miner extractable value modeling and tools.
Python
124
star
2

hackthiscontract

http://hackthiscontract.io/
CSS
50
star
3

coinalysis

Blockchain graph analysis tools for Bitcoin. In collaboration w. Aurora Guo.
Python
28
star
4

bootcamp-security

IC3 Bootcamp Security Project
22
star
5

mevsimulator

Jupyter Notebook
17
star
6

paralysis_proofs

(as of yet unaudited) Multisignature smart contract on Ethereum with security degradation on access paralysis
Python
14
star
7

MCBouncer

A banning plugin for Minecraft which is open, modular, fair, and unbiased.
Java
12
star
8

ethblog

a principled blogging platform with modular data storage and parsing, starting on eth l1
JavaScript
4
star
9

Museum-Parser-Server

Backend server for the future Museum Gallery Android and iOS App
Python
2
star
10

archive-dpreview-forum

Project to archive all text on the DPReview forum, to be shut down by Amazon in Mid April
Python
2
star
11

nistcasino

Provably fair (modulo trust in NIST) platform for games of chance with user-verifiable rules. http://45.63.64.229:5000/
Python
2
star
12

nft-atoms

IC3 Atomic NFTs // One person, one computer, one NFT // Soulbound AF
Python
2
star
13

test-repo

1
star
14

zander.github.io

blog
HTML
1
star
15

shirtsites

Put your censorship resistant webpage on a shirt.
HTML
1
star
16

ethereum-committee-fun

Experiments with committee efficiency and implementation in Ethereum
1
star
17

journey

A trippy script for displaying your photos.
Python
1
star
18

ASICMyBoost

On-chain analysis of ASICBoost data
Python
1
star
19

liberation

An open project to port all film sims / LUTs / processing engines to all cameras.
Python
1
star
20

RedditModPlugin

RedditModPlugin
Java
1
star
21

somaroute

Somaroute is a routing infrastructure for the emotional-contagion based manipulation of Internet traffic on an infrastructure level., allowing Internet infrastructure providers to manipulate the mood of users on their service by changing their exposure to various content types through psychological effects triggered by traffic delay.
C
1
star