Skip to content
Crowdsale Smart Contract
Branch: develop
Clone or download
cbruguera Merge pull request #99 from cbruguera/feature/test_fix
[Bug fix] Fixed error on crowdsale testing
Latest commit 6752990 Jul 12, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
test Fixed testing error Jul 12, 2018
.eslintignore n/a fixed some linting Dec 8, 2017
.gitignore n/a updated Readme with deploy to Ropsten notes Jan 8, 2018
.solcover.js KEY-19 major refactor with linting, test coverage reporting, and trav… Nov 23, 2017
.solhint.json KEY-19 major refactor with linting, test coverage reporting, and trav… Nov 23, 2017
.travis.yml Document fix Nov 27, 2017 n/a updated readme Feb 9, 2018
package.json include airdrop changes on latest release Mar 26, 2018

SelfKey Token

Greenkeeper badge

An ERC20 token used to fuel a wide range of KYC related dapps

  • develop Build Status codecov
  • master Build Status codecov



The smart contracts are being implemented in Solidity 0.4.19.


  • NodeJS, version 9+ (I use nvm to manage Node versions — brew install nvm.)
  • truffle, which is a comprehensive framework for Ethereum development. npm install -g truffle — this should install Truffle v4.0.6 or better. Check that with truffle version.
  • Access to the KYC_Chain Jira

Optional but very useful

  • Docker (don't brew install docker as it's nowhere near as relaible. Use the official Docker For Mac installer.)
  • ethereum-docker — run geth and any monitoring tools within docker using docker-compose up -d


    npm install


From within Truffle

Run the truffle development environment

truffle develop

then from the prompt you can run


as well as other truffle commands. See for more.



npm test

To generate code coverage reports run

npm run test:cov

Note Generating code coverage reports takes a bit longer to run than just running the tests.


We provide the following linting options

  • npm run lint:sol — to lint the solidity files, and
  • npm run lint:js — to lint the javascript.

Deploying to ropsten

You'll need an address on the Ropsten blockchain with some ETH in it.

Use MetaMask to create a wallet and use to get some ETH for it.

You will need to supply a file called wallet.json in the root of the project.

  "name": "my awesome wallet",
  "mnemonic": "the sequence of twelve words you used to keep your wallet secure"

Then run

npm run deploy:ropsten


Contributions are welcomed. Please see the contributing notes

You can’t perform that action at this time.