The repository of the protocol is a monorepo, using lerna. Familiarize yourself with lerna's main commands (bootstrap, add, publish).
The monorepo holds these packages:
requestNetworkSmartContracts: the smart contracts of the protocol
requestNetworkArtifacts: the artifacts of the smart contracts. Public npm package
requestNetwork.js: the javascript wrapper for the smart contracts. Public npm package
The links are:
requestNetwork.js depends on requestNetworkArtifacts
The artifacts are created using the script exportArtifacts.js of requestNetworkSmartContracts and copied to requestNetworkArtifacts
Create an issue https://github.com/RequestNetwork/requestNetwork/issues
Join the requesthub on slack
npm install -g lerna
lerna bootstrap
npm install -g ganache-cli
(from the smart contract directory) npm run ganache
(from the smart contract directory) npm run test
npm install -g lerna
lerna bootstrap
npm install -g ganache-cli
(from the js lib directory) npm run ganache (keep open)
(from the js lib directory) ipfs daemon (keep open)
(from the js lib directory) npm run testdeploy
(from the js lib directory) npm run test
We use Travis-CI to build the projects of the monorepo: https://travis-ci.org/RequestNetwork/requestNetwork
Good readings for anyone interested in developing on the protocol: