Team Meth

Anthony Wilson

Paul Copplestone

Jonathan Summers-Muir


Meth is for users to buy and sell [M]isleading [E]ncrypted [Th]umbnails, built on top of Ethereum blockchain.


We wanted an ERC721 token marketplace where each token references some data encrypted with the public key of the owner - so only they can enjoy the resource.

UX challenges to this are that the user needs to decrypt and re-encrypt the file in order to finalise a sale BUT encrypt/decrypt methods are currently being implemented in Metamask! [] []

We assume that this interface is available and have built a DApp that consumes it - so we are ready for when it arrives

Some slides which explain the concept:


This is a basic react app that functions as a demonstration marketplace for the underlying SecretContent smartcontract.

The project has the following structure:

|-- contracts 
|-- migrations 
|-- src # Frontend React App
    |-- components 
        |-- containers # stateful components
        |-- pure # pure components
    |-- Lib # common code
        |-- encryption.js # This is where the bulk of the interaction with the contract will go
        |-- products.json # Some mock products 
        |-- store.js # A fake Database 
    |-- pages # website pages
    |-- styles # CSS and Sass


We use Ganache for local ethereum dev environment

npm start # Runs the app in the development mode
npm test # Launches the test runner in the interactive watch mode
npm run build #Builds the app for production to the `build` folder
npm run eject # Ejects the app from the standard config build
truffle migrate # deploys smart contracts
Share this project: