All Projects → MARKETProtocol → Marketprotocol

MARKETProtocol / Marketprotocol

Licence: apache-2.0
Ethereum based derivatives trading protocol creating digital tokens for any asset

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Marketprotocol

Eth Vue
Featured in Awesome Vue [https://github.com/vuejs/awesome-vue], a curated list maintained by vuejs of awesome things related to the Vue.js framework, and Awesome List [https://awesomelists.net/150-Vue.js/3863-Open+Source/18749-DOkwufulueze-eth-vue], this Truffle Box provides everything you need to quickly build Ethereum dApps that have authentication features with vue, including configuration for easy deployment to the Ropsten Network. It's also Gravatar-enabled. Connecting to a running Ganache blockchain network from Truffle is also possible -- for fast development and testing purposes. Built on Truffle 5 and Vue 3, eth-vue uses vuex for state management, vuex-persist for local storage of app state, and vue-router for routing. Authentication functionalities are handled by Smart Contracts running on the Ethereum blockchain.
Stars: ✭ 171 (+119.23%)
Mutual labels:  blockchain, ethereum, web3, truffle
Eattheblocks
Source code for Eat The Blocks, a screencast for Ethereum Dapp Developers
Stars: ✭ 431 (+452.56%)
Mutual labels:  blockchain, ethereum, web3, truffle
React Ethereum Dapp Example
A starter boilerplate for an Ethereum dapp using web3.js v1.0, truffle, react, and parity
Stars: ✭ 384 (+392.31%)
Mutual labels:  blockchain, ethereum, web3, truffle
Trace
Supply chain transparency platform proof-of-concept based on the Ethereum blockchain ✍️
Stars: ✭ 52 (-33.33%)
Mutual labels:  blockchain, ethereum, web3, truffle
Eth Crypto
Cryptographic javascript-functions for ethereum and tutorials to use them with web3js and solidity
Stars: ✭ 420 (+438.46%)
Mutual labels:  blockchain, ethereum, web3, truffle
Typechain
🔌 TypeScript bindings for Ethereum smart contracts
Stars: ✭ 769 (+885.9%)
Mutual labels:  blockchain, ethereum, web3, truffle
0xdeca10b
Sharing Updatable Models (SUM) on Blockchain
Stars: ✭ 285 (+265.38%)
Mutual labels:  blockchain, ethereum, truffle
Armors Solidity
Armors-solidity is a framework to build secure smart contracts on Ethereum.
Stars: ✭ 184 (+135.9%)
Mutual labels:  blockchain, ethereum, truffle
Love Ethereum
区块链学习
Stars: ✭ 323 (+314.1%)
Mutual labels:  blockchain, ethereum, truffle
Kelp
Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges
Stars: ✭ 580 (+643.59%)
Mutual labels:  blockchain, ethereum, trading
Web Sdk
Portis Web SDK
Stars: ✭ 65 (-16.67%)
Mutual labels:  blockchain, ethereum, web3
Ethermint Archive
Ethereum on Tendermint using Cosmos-SDK!
Stars: ✭ 667 (+755.13%)
Mutual labels:  blockchain, ethereum, truffle
Solidity Idiosyncrasies
Solidity gotchas, pitfalls, limitations, and idiosyncrasies.
Stars: ✭ 267 (+242.31%)
Mutual labels:  ethereum, web3, truffle
Ganache
A tool for creating a local blockchain for fast Ethereum development.
Stars: ✭ 1,028 (+1217.95%)
Mutual labels:  blockchain, ethereum, truffle
Eth.social
An Ethereum dApp for posting social events.
Stars: ✭ 17 (-78.21%)
Mutual labels:  ethereum, web3, truffle
Angular Truffle Starter Dapp
Angular CLI + Truffle Starter Dapp; write, compile & deploy smart contracts on Ethereum blockchains
Stars: ✭ 174 (+123.08%)
Mutual labels:  blockchain, ethereum, truffle
Sablier
The protocol for real-time finance on the Ethereum blockchain
Stars: ✭ 147 (+88.46%)
Mutual labels:  blockchain, ethereum, truffle
Docuhash
Simple PoC that shows you how to use IPFS and Ethereum blockchain to store files and their information.
Stars: ✭ 17 (-78.21%)
Mutual labels:  blockchain, web3, truffle
Disperse
React/Redux dApp (decentralized app) boilerplate using Ethereum's blockchain
Stars: ✭ 36 (-53.85%)
Mutual labels:  blockchain, ethereum, truffle
Blockchain Learning
Learn and promote blockchain together by writing
Stars: ✭ 44 (-43.59%)
Mutual labels:  blockchain, ethereum, truffle

MARKET Protocol

Build Status Coverage Status npm version

MARKET Protocol has been created to provide a secure, flexible, open source foundation for decentralized trading on the Ethereum blockchain. We provide the pieces necessary to create a decentralized exchange, including the requisite clearing and collateral pool infrastructure, enabling third parties to build applications for trading. Take a look at our FAQ or docs for a little more explanation.

Join our Discord Community to interact with members of our dev staff and other contributors.

Dependencies

This project uses Node.js version 8.10.0 - 8.11.3.

If you are running multiple versions of Node.js, consider using Node Version Manager (nvm). nvm is an easy way to configure and manage different Node.js versions to work with your projects.

Getting Started

A Makefile is provided for easy setup of the environment.

Some pre-requisites are required in order to utilize the Makefile.

$ git clone https://github.com/MARKETProtocol/MARKETProtocol.git  # clone this repository

From here you will be able to use make commands assuming npm is already installed.

Assuming you have npm already, Install truffle

$ make install_truffle

Clone this repository and use npm to install needed dependencies

$ git clone https://github.com/MARKETProtocol/MARKETProtocol.git
$ cd MARKETProtocol
$ make install_deps

If you get an error on the node-gyp rebuild line during make install_deps, node-gyp doesn't support Python v3.x.x; v2.7 is recommended. There are several solutions based upon your platform.

The easiest solution? Use make install_deps_python2.7 to use Python 2.7, see stack overflow or the npm node-gyp project for details.

Tests

Start truffle and its development blockchain with

$ make start_console

Run the example migrations as well as the accompanying tests inside the truffle console

truffle(develop)> migrate --reset
truffle(develop)> test

Running tests with coverage enabled

The most convenient way to run tests with coverage enabled is to run them with help of Docker orchestration. This ensures, that the coverage results will match the ones on Travis CI.

Prerequisites

Docker and docker-compose

Instructions on how to install both applications are available at docker and docker-compose websites. When the applications are installed please make sure that the current user is added to 'docker' group.

Environment variables

Docker images use four environment variables that point to host and port on test and coverage Ethereum networks, please export them to your shell environment:

TRUFFLE_DEVELOP_HOST=truffle TRUFFLE_DEVELOP_PORT=9545 TRUFFLE_COVERAGE_HOST=truffle-coverage TRUFFLE_COVERAGE_PORT=8555

Running tests

Start containers

docker-compose up

The first run will take a while since images will be pulled from Docker registry. After that images are cached and the start will be much faster. Make sure that all four environment variables are available in the second shell.

TRUFFLE_DEVELOP_HOST=truffle
TRUFFLE_DEVELOP_PORT=9545
TRUFFLE_COVERAGE_HOST=truffle-coverage
TRUFFLE_COVERAGE_PORT=8555

Start tests

To run tests:

docker-compose exec truffle truffle test

If you want to run test with coverage:

docker-compose exec truffle-coverage env CONTINUOUS_INTEGRATION=true scripts/coverage_run.sh

Solium

To run solium on the solidity smart contracts

ensure you have solium installed with solium -V if not install

$ npm install -g solium

and then

$ solium --dir ./

Contributing

Want to hack on MARKET Protocol? Awesome!

MARKET Protocol is an Open Source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community.

Ready to jump in? Check docs.marketprotocol.io/#contributing.

Questions?

Join our Discord Community to get in touch with our dev staff and other contributors.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].