Git Product home page Git Product logo

dapp-plotly-dash's Introduction

dapp-plotly-dash

An interactive analysis of auction listings for digital collectibles on the Etherium platform. Built on Plotly's Dash framework and hosted on Google's App Engine. Dataset is static & managed in-memory via pandas.

Currently deployed on Google App Engine: https://dapp-scatter-dashboard.appspot.com/

Animated example of scatterplot selection

  1. Auction Overview
  2. Dashboard Specifics
  3. Credits

Overview

Decentralized Applications

Decentralized applications, or "dApps" for short, are applications which eschew a traditional centralized data backend in favor of a decentralized, peer-to-peer architecture. While many of these decentralized applications are designed to power fungible cryptocurrencies, such as Bitcoin, there also exist standards which use blockchain technology for enabling the creation of contracts for unique, non-fungible digital goods. Etherium's ERC-721 standard, which is profiled in this dashboard, has been the protocol of choice for many popular applications, such as Cryptokitties. One consumer benefit of these digital collectibles is 'true ownership' of goods, which are not reliant on central infrastructure to guarantee uniqueness, validate legitimacy, and facilitate transferral. Better yet (for proponents of open data), the historical record of these transfers is written to the public blockchain.

Auction Data

Most ERC-721 auctions follow a Dutch Auction model, in which the listing price linearly drops in value until the good is either purchased by the first bidder or the auction ends. This data set covers all auction listings for goods across 15 selected applications, between June '17 and June '18.

  • Auctions are priced in Etherium, the value of which can fluctuate with respect to other currency.
  • Auctions are categorized by their ending state, which can either be a sale or a delisting. In-progress auctions are marked as 'unresolved.'
  • Several axes are only germane to successfully sold auctions ('Sold Price', 'Start-Sold Range', 'Start-Sold Range %'). If any of these fields are selected, the dashboard will remove unsuccessful auctions from the scatterplot.

Dashboard Specifics

Dimensions

  • The X- and Y- axes can be customized with the dropdowns.
    • Each selectable dimension has a default axis scale, though you can manually toggle between log and linear scales.
    • The box plot inherits the selected Y-axis dimension by default, though this can also be customized.

Drilling Down

  • Discrete auction listings can be investigated by clicking on individual markers on the scatter plot.
  • Listings can be filtered for any of the below characteristics of a given selected point. Please note that selecting any of these options will automatically disable sampling of the data set. Similarly, removing these options will re-apply the sampling filter, out of consideration for application performance.
    • Token Item Id (eg. a unique item)
    • Buyer
    • Seller (frequently an auction house or escrow service)

Sampling

  • The central scatterplot will display a maximum of 100,000 auction listings per application, by default. The primary purpose of this feature, which can be disabled, is to prevent the data from CryptoKitties (which has more than 600,000 listings) from impacting performance. No other application comes close to reaching this sampling limit.
  • The box and whisker plot does not observe the sampling limit, as it does not need to render every individual data point

Credits

dapp-plotly-dash's People

Contributors

rosswait avatar

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.