I’ve been working on MAD Stores for over a year. It’s a completely decentralized online marketplace, with no backend server at all. I’m pleased to announce that I have a proof-of-concept version ready for testing on the Ropsten testnet. You can view all the source code on github. The contracts are also published on etherscan.io here and here.

About MAD Stores

MAD Stores is an online marketplace like ebay or Amazon, but it’s completely decentralized — so there’s no central authority managing, supervising or controlling the marketplace. Another difference between ebay and MAD Stores is that sellers can remain anonymous, or at least pseudonymous; that is, buyers and sellers are only known by their Ethereum addresses (or ENS names). All communications between buyers and sellers is via Turms Anonymous Message Transport.



The obvious question about a decentralized, anonymous marketplace is how do we stop cheaters from ripping people off, since there’s no central authority to keep people in line or to resolve disputes — You might not even have any contact information for the other party (other than their Ethereum address, which you use to send messages via Turms Anonymous Message Transport).



The answer is MAD Escrow

MAD Escrow

MAD stands for Mutually Assured Destruction. In every purchase transaction both parties place a bond into escrow. If either party cheats, then both parties lose their deposits!



When you purchase an item in MAD Stores you will deposit 150% of the price into an escrow account. Automatically, the seller will also deposit a bond into the escrow account, equal to 50% of the purchase price. All funds are released from the MAD Escrow when the buyer confirms satisfactory delivery of the product. If the product was not as advertised, or if it was not delivered, then the buyer and seller are encouraged to communicate, using Turms Anonymous Message Transport, to work out a satisfactory resolution. In case no resolution can be reached, the buyer has the option to “burn” the escrow. That is, to destroy all the funds that are held in the Escrow.



There’s much more to say about how MAD Stores works, and about all the edge cases that can crop up in real-life usage. I’ll be releasing a much more in-depth article to cover these topics. But for now, I encourage anyone interested to jump in and try it out on the Ropsten testnet. (The DApp includes an introduction and FAQ).

How To Try It Out!

MAD Stores is released for testing on the Ropsten testnet. To try it out follow these steps:

Set Metamask to use the Ropsten testnet

Set MetaMask to use the Ropsten testnet:

Ropsten testnet Ether is free. It is specifically for testing DApps without using expensive real ETH. To enable MetaMask to use the Ropsten testnet, click at the top of the MetaMask dialog box where it says Main Ethereum Network and select Ropsten Test Network . Get some Ropsten test ether:

Just go to https://faucet.ropsten.be/ and enter your Ethereum address. Or you can go to https://faucet.metamask.io, and click on the

request 1 ether from faucet button. Wait a few seconds and then open the MetaMask dialog box to confirm that you’ve received your test ETH. Create a Turms AMT account on the Ropsten version of Turms AMT:

I created a version of Turms Anonymous Message Transport that works on the Ropsten testnet. Even if you’re already using Turms AMT on the Ethereum Mainnet, you’ll need to create a new account on the Ropsten version. This will be just for testing MAD Stores. You can access the Ropsten version on IPFS, for example at:

cloudflare-ipfs.com/ipns/ropsten.messagetransport.turmsanonymous.io/

or

ipfs.io/ipns/ropsten.messagetransport.turmsanonymous.io/

Make sure MetaMask is unlocked and set to the Ropsten testnet. Get some Ropsten Weenus tokens:

When the real MAD Stores is released on the Ethereum Mainnet, it will price everything in Maker DAI; but for the purpose of testing on Ropsten we’re using Weenus in place of DAI. In the DApp your Weenus balance will be displayed as a DAI balance. To get 1000 Weenus just send zero Ropsten ETH to the Weenus Token Contract. (You can read more about Weenus here. By the way, hearty hat tip to BokkyPooBah for making Weenus!) Fire up the MAD Stores DApp:

The MAD Stores DApp is on IPFS, for example at:

cloudflare-ipfs.com/ipns/ropsten.madstores.turmsanonymous.io/

or

ipfs.io/ipns/ropsten.madstores.turmsanonymous.io/

There’s a nice little intro at the beginning that will get you started. Feel free to purchase any items that you see for sale — they won’t actually be delivered — because this is just make-believe for testing purposes. Or you can create your own store selling any sort of make-believe products you can think of. Send your comments to me!

MAD Stores is still under development. If you have questions or suggestions please send them to me via Turms AMT at imontoya.eth, or by email to Alejandro.Diaz.666@protonmail.com. Be sure to provide your Ethereum address because we’ll be awarding 1,000 Turms Tokens for the 10 best comments.

Summary

Decentralized commerce is the killer DApp for Ethereum. Turms MAD Stores is still in testing, and we need some input from the Ethereum community, but it’s poised to be one of the most real-world-useful DApps ever made. Please give it a try and contribute your suggestions!

Alejandro Diaz