Switch from Travis CI to GitHub Actions
kredits-web
This README outlines the details of collaborating on this Ember application. A short introduction of this app could easily go here.
Development
Prerequisites
You will need the following things properly installed on your computer.
- Git
- Node.js (with npm)
- Ember CLI
- Google Chrome (only for running tests)
Installation
git clone git@github.com:67P/kredits-web.gitthis repositorycd kredits-webnpm install
Building/running for development
ember serve- by default kredits-web connects to the Ethreum Kovan network- Visit your app at http://localhost:4200.
- Visit your tests at http://localhost:4200/tests.
See working with locally deployed contracts for details on how to develop with locally deployed contracts.
Code generators
Make use of the many generators for code, try ember help generate for more details
Running tests
ember testember test --server
Linting
npm run lint:hbsnpm run lint:jsnpm run lint:js -- --fix
Building
ember build(development)ember build --environment production(production)
Deploying
(You need collaborator permissions on the 5apps Deploy project.)
npm run deploy
Working with locally deployed contracts
The smart contracts and their JavaScript wrapper library are developed in the kredits-contracts repo/package.
You can run kredits-web on your machine, against a local, simulated
blockchain. kredits-contracts
contains all the tools to start and set up such a simulated network, as well as
to deploy the Kredits smart contracts to it.
These are the basic steps to get up and running:
1. IPFS
Run a local IPFS deamon.
- Make sure CORS headers are configured. See IPFS for more info.
ipfs daemon
2. kredits-contracts
Run a local devchain with test data. (See kredits-contracts README for details.
- Clone kredits-contracts
npm installnpm run devchain- runs a local development chainnpm run bootstrap- deploys all contracts and seeds test datanpm link- makes thekredits-contractsmodule linkable askredits-contractson your machine
3. kredits-web
With IPFS and the local devchain running, you can now link the contracts and start the Ember app:
npm link kredits-contracts- links the localkredits-contractspackage (has to be done again after everynpm install)npm run start:local- runs the Ember app with WEB3_PROVIDER_URL=http://localhost:8545 set
4. Metamask network
If you want to interact with the local contracts via a Web3 wallet, switch the
network to a "Custom RPC" one, with the RPC URL http://localhost:8545.
IPFS
If you haven't configured your IPFS node for CORS yet, you can do so by running the following commands:
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["localhost:4200"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'
ipfs config Addresses.Gateway /ip4/127.0.0.1/tcp/8080