Giter Club home page Giter Club logo

grub's Introduction

GRuB: Cost-Effective Data Feeds to Blockchains via Workload-Adaptive Data Replication

Preparation

Download Virtual Box and Ubuntu 18.04 ISO using the following link, and setup a virtual ubuntu environment.

https://www.virtualbox.org/wiki/Downloads

http://mirrors.aliyun.com/ubuntu-releases/18.04.5/ubuntu-18.04.5-desktop-amd64.iso

Install Python3, Web3 and pysolc
sudo apt-get install python3.6
sudo apt-get install python3-pip
sudo pip3 install web3
sudo pip3 install py-solc
sudo pip3 install sha3
python3.6 -m solc.install v0.4.25
sudo cp ~/.py-solc/solc-v0.4.25/bin/solc /usr/bin/solc
Install Geth
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
Download GRuB
sudo apt-get install git
git clone https://github.com/syracuse-fullstacksecurity/GRuB.git
cd GRuB
Run your private ethereum node (do not close this terminal)
geth --datadir "geth_data" init genesis.json
geth --datadir "geth_data" --rpc --allow-insecure-unlock --mine --minerthreads 1 --unlock "0x71ad2477b729741951b652aa7f9825e2f91f5a65" --password <(echo -n "") console 2>log

Test BtcRelay trace (start a new terminal)

cd btcrelay/

Then follow the README.md in btcrelay folder

Test YCSB trace (start a new terminal)

cd YCSB/

Then follow the README.md in YCSB folder

Test YCSB trace (start a new terminal)

cd stableCoins/

Then follow the README.md in stableCoins folder

Trouble-shooting

If you have multiple python3 versions, use the following commands to install Web3 and pysolc packages
python3.6 -m pip install web3
python3.6 -m pip install py-solc
If it prompts you that /usr/bin/solc is not executable, add execution permission by the following command
sudo chmod +x /usr/bin/solc

Reference

If you use our dataset, please reference our paper published in Middleware 2020

@inproceedings{grub,
 author    = {Kai Li and Yuzhe Tang and Jiaqi Chen and Zhehu Yuan and Cheng Xu and Jianliang Xu},
 title     = {Cost-Effective Data Feeds to Blockchains via Workload-Adaptive Data Replication},
 booktitle = {ACM/IFIP Middleware 2020},
 howpublished = {\url{https://arxiv.org/abs/1911.04078}}
}

grub's People

Contributors

likai1993 avatar zhehuyuan avatar tristartom avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

likai1993

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.