{"id":19559830,"url":"https://github.com/marketprotocol/marketprotocol","last_synced_at":"2025-05-07T16:08:02.680Z","repository":{"id":51930054,"uuid":"108304540","full_name":"MARKETProtocol/MARKETProtocol","owner":"MARKETProtocol","description":"Ethereum based derivatives trading protocol creating digital tokens for any asset ","archived":false,"fork":false,"pushed_at":"2022-12-07T17:42:09.000Z","size":2049,"stargazers_count":83,"open_issues_count":14,"forks_count":42,"subscribers_count":22,"default_branch":"develop","last_synced_at":"2025-01-07T04:19:29.731Z","etag":null,"topics":["blockchain","derivatives","ethereum","trading","truffle","web3"],"latest_commit_sha":null,"homepage":"https://marketprotocol.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MARKETProtocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audit/ChainSecurity_MARKET_Protocol.pdf","citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-25T17:46:13.000Z","updated_at":"2024-07-10T03:07:13.000Z","dependencies_parsed_at":"2023-01-24T19:33:43.822Z","dependency_job_id":null,"html_url":"https://github.com/MARKETProtocol/MARKETProtocol","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MARKETProtocol%2FMARKETProtocol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MARKETProtocol%2FMARKETProtocol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MARKETProtocol%2FMARKETProtocol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MARKETProtocol%2FMARKETProtocol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MARKETProtocol","download_url":"https://codeload.github.com/MARKETProtocol/MARKETProtocol/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233352262,"owners_count":18663265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","derivatives","ethereum","trading","truffle","web3"],"created_at":"2024-11-11T05:04:29.874Z","updated_at":"2025-01-10T13:34:07.274Z","avatar_url":"https://github.com/MARKETProtocol.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![MARKET Protocol](assets/MARKETProtocol-Dark.png?raw=true)\n\n\n[![Build Status](https://travis-ci.org/MARKETProtocol/MARKETProtocol.svg?branch=master)](https://travis-ci.org/MARKETProtocol/MARKETProtocol) [![Coverage Status](https://coveralls.io/repos/github/MARKETProtocol/MARKETProtocol/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/MARKETProtocol/MARKETProtocol?branch=master) [![npm version](https://badge.fury.io/js/%40marketprotocol%2Fmarketprotocol.svg)](https://badge.fury.io/js/%40marketprotocol%2Fmarketprotocol)\n\nMARKET 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](https://docs.marketprotocol.io/#faq-general) or [docs](https://docs.marketprotocol.io) for a little more explanation.\n\nJoin our [Discord Community](https://marketprotocol.io/discord) to interact with members of our dev staff and other contributors.\n\n## Dependencies\nThis project uses Node.js version 8.10.0 - 8.11.3.\n\nIf you are running multiple versions of Node.js, consider using [Node Version Manager](https://github.com/creationix/nvm) (nvm). nvm is an easy way to configure and manage different Node.js versions to work with your projects.\n\n## Getting Started\n\nA Makefile is provided for easy setup of the environment.\n\nSome pre-requisites are required in order to utilize the Makefile.\n\n```\n$ git clone https://github.com/MARKETProtocol/MARKETProtocol.git  # clone this repository\n```\nFrom here you will be able to use make commands assuming npm is already installed.\n\nAssuming you have npm already, Install truffle\n```\n$ make install_truffle\n```\n\nClone this repository and use npm to install needed dependencies\n```\n$ git clone https://github.com/MARKETProtocol/MARKETProtocol.git\n$ cd MARKETProtocol\n$ make install_deps\n```\nIf 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.\n\nThe easiest solution? Use `make install_deps_python2.7` to use Python 2.7, see [stack overflow](https://stackoverflow.com/questions/20454199/how-to-use-a-different-version-of-python-during-npm-install) or the [npm node-gyp project](https://github.com/nodejs/node-gyp) for details.\n\n\n## Tests\n\nStart truffle and its development blockchain with\n```\n$ make start_console\n```\n\nRun the example migrations as well as the accompanying tests inside the truffle console\n\n```\ntruffle(develop)\u003e migrate --reset\ntruffle(develop)\u003e test\n```\n\n### Running tests with coverage enabled\n\nThe 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.\n\n#### Prerequisites\n\n##### Docker and docker-compose\n\nInstructions on how to install both applications are available at  [docker](https://docs.docker.com/install/) and [docker-compose ](https://docs.docker.com/compose/install/) websites. When the applications are installed please make sure that the current user is added to 'docker' group.\n\n#### Environment variables\n\nDocker images use four environment variables that point to host and port on test and coverage Ethereum networks, please export them to your shell environment:\n\nTRUFFLE_DEVELOP_HOST=truffle\nTRUFFLE_DEVELOP_PORT=9545\nTRUFFLE_COVERAGE_HOST=truffle-coverage\nTRUFFLE_COVERAGE_PORT=8555\n\n### Running tests\n\n#### Start containers\n\n```\ndocker-compose up\n```\n\nThe 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.\nMake sure that all four environment variables are available in the second shell.\n\n```\nTRUFFLE_DEVELOP_HOST=truffle\nTRUFFLE_DEVELOP_PORT=9545\nTRUFFLE_COVERAGE_HOST=truffle-coverage\nTRUFFLE_COVERAGE_PORT=8555\n```\n\n\n#### Start tests\n\nTo run tests:\n```\ndocker-compose exec truffle truffle test\n```\n\nIf you want to run test with coverage:\n\n```\ndocker-compose exec truffle-coverage env CONTINUOUS_INTEGRATION=true scripts/coverage_run.sh\n```\n\n\n## Solium\n\n### To run `solium` on the solidity smart contracts\nensure you have solium installed with `solium -V` if not install\n```\n$ npm install -g solium\n```\nand then\n```\n$ solium --dir ./\n```\n\n## Contributing\n\nWant to hack on MARKET Protocol? Awesome!\n\nMARKET 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.\n\nReady to jump in? Check [docs.marketprotocol.io/#contributing](https://docs.marketprotocol.io/#contributing).\n\n## Questions?\n\nJoin our [Discord Community](https://marketprotocol.io/discord) to get in touch with our dev staff and other contributors.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarketprotocol%2Fmarketprotocol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarketprotocol%2Fmarketprotocol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarketprotocol%2Fmarketprotocol/lists"}