# 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).