This is a simple on-chain OTC market for MKR. You can either pick an order from the order book (in which case delivery will happen instantly), or submit a new order yourself.
MakerOTC is undergoing alpha testing: Proceed at your own risk, and use only small amounts of ETH and MKR.
This dapp uses Meteor as frontend; the contract side can be tested and deployed using dapple.
Ensure you have a locally running ethereum node.
Requirements:
- geth
brew install ethereum
(orapt-get
for ubuntu) - solidity https://solidity.readthedocs.org/en/latest/installing-solidity.html
- meteor
curl https://install.meteor.com/ | sh
- Global dapple,
npm install -g dapple meteor-build-client
Clone and install:
git clone https://github.com/MakerDAO/maker-otc
cd maker-otc
git submodule update --init --recursive
npm install
There is a helpful blockchain script for development, which will use a clever mining script similar to Embark. This is entirely optional; you can use any testnet config via RPC on port 8545 and deploy via dapple as normal.
To start the blockchain script:
npm run blockchain
In a new terminal window, you can then build and deploy the dapp:
npm run deploy
Now that the contracts are deployed to the blockchain, you need to build the JS wrappers:
npm run build
To run the frontend, start meteor:
cd frontend && meteor
If you got the error message File not found: build/meteor.js
, then you forgot to run the build step from above.
You can access the user interface on http://localhost:3000/
If you find that dapple is deploying to EVM rather than geth, please modify ~/.dapplerc
:
environments:
default:
# comment out default config
# ethereum: internal
# replace with real ethereum node
ethereum:
host: localhost
port: '8545'
To deploy the frontend to Github Pages:
gulp deploy
new SimpleMarket: 927556 gas
SimpleMarket.offer: 140395-186235 gas
SimpleMarket.cancel: 33882 gas
SimpleMarket.buy: 49306-51707 gas
See https://waffle.io/MakerDAO/maker-otc
- Simple Market contract by Nikolai Mushegian
- User interface design by Daniel Brockman
- Blockchain Script by Chris Hitchcott