# Future of Blockchain - Witnet Challenges ## Challenge 1: Build a mass adoption Ethereum DApp using Witnet ### Overview Smart contracts real power will only be unleashed once they are connected to the real world. The challenge consists on envisioning a DApp that could achieve mass adoption using Witnet. ### Task Great news! You don't have to know much about blockchain to start programming smart contracts in Ethereum and use Witnet: - For the smart contracts, you will find a step-by-step tutorial in our [online documentation](https://witnet.github.io/documentation/). There you will find our [truffle box](https://github.com/witnet/truffle-box/) and you will have some data request examples. - Existing Witnet infrastructure is already available in public Ethereum Testnets. Examples in which DApps using Witnet may be valuable: - Decentralized Finance: decentralized exchanges (0x, Kyber), stablecoins (Dai), tokenized debt platforms (Compound), ... - Outcome conditioned payments (e.g. betting or insurance) based on sport results, stock prices, flight delays, ... ## Challenge 2 : Build a block explorer for Witnet ### Overview The goal of this task is to build a block explorer that offers detailed information about the current and past state of the Witnet blockchain. ### Task The explorer should indicate: - Detailed information about blocks and transactions consolidated in Witnet. - Transaction details for each kind of transaction: Value Transfer, Data Request, Commit, Reveal and Tally. - Capabilities to search by transaction id, Data Request Id, address, block hash or others. - Network statistics including transaction volume history, average fees and others. Extra points: - Reputation statistics and metrics, e.g., number of top reputed members, average reputation. Applicants can use [etherscan](https://etherscan.io/) and [etherstat](https://ethstats.net/) as a reference. The methods exposed by the Witnet command line interface (CLI) can be found [here](https://github.com/witnet/documentation/blob/master/docs/interfaces/cli.md).