melonproject/protocol

Name: protocol

Owner: melonproject

Description: Melon Protocol Implementation

Created: 2016-11-04 23:44:25.0

Updated: 2018-01-17 09:54:11.0

Pushed: 2018-01-18 20:59:33.0

Homepage: http://docs.melon.fund

Size: 11906

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Melon Protocol

Gitter chat Build Status Solidity version License: GPL v3 Dependencies Development Dependencies NSP Status

Melon ([méll?], ?????; Greek for “destined to be”) is blockchain software that seeks to enable participants to set up, manage and invest in technology regulated investment funds in a way that reduces barriers to entry, while minimizing the requirements for trust.

It does so by leveraging the fact that digital assets on distributed quasi-Turing Complete machines can be held solely by smart-contract code, and spent only according to preprogrammed rules within this code. The Melon protocol is a set of rules for how digital assets can be spent once held in a Melon smart-contract, or a Melon investment fund. These rules are meant to protect the investor and fund manager from malevolent behaviour of each other, even when both parites remain private.

Melon is to investment funds as Bitcoin is to accounting: a set of rules, enforced by blockchain technology, legitimized by the consent of its participants.

This repository contains a reference implementation of the Melon protocol written in Solidity, as specified in our paper.

Get started
Installation

You will need the dapp developer tools, which you can install using these steps.

one this repository
clone --recursive git@github.com:melonproject/protocol.git
rotocol
stall dependencies
install
nerate bytecode and abi of smart-contracts using dapp suite
run compile
Deployment and testing

After installation, go to the above protocol directory, open a terminal and:

unch parity dev chain:
run devchain
en a second terminal and deploy the contracts to the development network:
run deploy
n the tests using
test
Kovan Deployment

After installation is complete, go to the above protocol directory, open a terminal and:

unch an ethereum client. For example something similar to this:
ty \
chain kovan      \
rpcport 8545     \
auto-update=all  \
jsonrpc-apis=all \
author <address> \
unlock <address> \
password <password file>

en a second terminal and deploy the contracts:
run deploy:kovan
Troubleshooting
Spec json is invalid when running Parity Devchain

Update your Parity installation to the latest version or try changing "instantSeal": null to "instantSeal": { "params": {} } in chainGenesis.json

Stuck at deploy step

Deploying contracts may stuck indefinitely in case your parity node is not unlocked for some reason. Locked node requires you to enter password for each transaciton manually.

Contributing

As an open-source project, we welcome any kind of community involvement, whether that is by contributing code, reporting issues or engaging in insightful discussions. Please see our contributing instructions for information on the code style we use.

Security Issues

If you find a vulnerability that may affect live or testnet deployments please send your report privately to admin@melonport.com. Please DO NOT file a public issue.

Protocol Design

When considering protocol design proposals, we are looking for:

Please note that protocol design is hard, and meticulous work. You may need to review existing literature and think through generalized use cases.

Implementation Design

When considering design proposals for implementations, we are looking for:


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.