⚠️ Warning⚠️ : This version is deprecated and is kept here for full history.Click here to view the new 2.0 version that has been fully audited and provides a lot of new features.
Mt Pelerin smart contracts repository
Copyright © 2016 - 2018 Mt Pelerin Group SA - All Rights Reserved.
This content cannot be used, copied or reproduced in part or in whole
without the express and written permission of Mt Pelerin Group SA.
Written by Mt Pelerin Group SA, info@mtpelerin.com.
All matters regarding the intellectual property of this code or software are subjects to Swiss Law without reference to its conflicts of law rules.
- Mt Pelerin Share Token [code] [features]
- CMTA blockchain governance and share tokenization poc [code]
- Install Docker (on Ubuntu)
The documentation is available on the official Docker website Install Docker for Ubuntu
- Build the environment
The script build.sh will build the docker image MtPelerin-protocol locally. Therefore, the user need to be a sudoer and it will request root privileges to run.
./build.sh
- Start the environment
The script start.sh will run docker with the MtPelerin-protocol image. Therefore, the user need to be a sudoer and it will request root privileges to run.
./start.sh
- Configure the environment
Copy the .env.example into .env file and edit the values inside
cp .env.example .env
In particular there is the following environment variables to configure:
- MNEMONIC: seed to use for generating the HDWallet to be used with truffle
- ENDPOINT: the rpc endpoint of the node to be use to connect to the blockchain
- Install NodeJS dependencies
Execute the following command:
npm install
truffle test
Running the linting
npm run lint:all
With the coverage
npm run coverage
The latest coverage result may be found here
truffle console --network=mtpelerin-eth-testnet
- zeppelin: contains the awesome open-zeppelin dependencies
- interface: contains the interface to be used by DAPP. Interface can also be easily integrated without the need to know the implementations. Due to solidity limitation with 'interface', Abstract 'contracts' are used instead. The resulting ABI is identical.
- token: contains the various token features (which will be used to tokenize Shares, Fiat, Loans, etc.)
- tokensale: tokensale or crowdsale contracts
- rule: contains the rules on transfers which can be applied to other contracts, in particular tokenWithRules
- claimable: contains the claims which can be provided to other contracts, in particular tokenWithClaims
- multisig: Public/Private multisig. Public multisig offer offchain security at the expense of less privacy. Private does not.
- cmta: Standardization of Security Tokens on behalf of the CMTA
- mock: mock are used for the testcases. There are not meant to be used in real situation.