Practical Exchange for Unique Digital Goods
This repository contains a research prototype and evaluation dataset of FairDEx protocol described in "Practical Exchange for Unique Digital Goods" to appear at the 3rd IEEE International Conference on Decentralized Applications and Infrastructures (IEEE DAPPS 2021).
- Client applications require
web3.py
for blockchain interaction. Install it viapip install web3
. - The prototype uses Infura API to connect Ethereum network. Get a free API key at https://infura.io.
- To deploy the contract you can use MetaMask wallet installed in your browser. MetaMask is available at https://metamask.io/.
- Clone git repository
git clone https://github.com/ziyagenc/fairdex.git
- Deploy FairDEx smart contract on Ropsten network. Go to remix.ethereum.org and open fairdex.sol in Remix IDE. Next, compile the source and deploy the contract.
- Edit conf files. Open sender.conf and receiver.conf in a text editor and enter required information like Infura URL and contract address.
- Fill the fields in sender.conf and receiver.conf files.
- Run sender application
python sender.py
. - This will produce a file called
offchain.txt
. Make sure that this file is in the same folder withreceiver.py
. - Run receiver application
python receiver.py
. - Follow the instructions on the terminal.
Sender | Receiver |
---|---|
evaluation-dataset.xlsx reports the measurements of costs for deploying and running FairDEx. In addition, this file contains the contract addresses used in our experiments.