/angular-truffle-box

Truffle Box for Angular is a quick-and-easy way to get your Dapp on the road with Truffle and Angular

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Truffle Box for Angular

This Truffle Box provides a base for working with the Truffle Framework and Angular. It provides a basic working example of the MetaCoin contracts with Angular components. This project is generated with Angular CLI.

Prerequisites

In order to run the Truffle box, you will need Node.js (version 6.11.x). This will include npm, needed to install dependencies. In order install these dependencies, you will also need Python (version 2.7.x) and git. You will also need the MetaMask plugin for Chrome.

Building

  1. Install truffle, Angular CLI and an Ethereum client. If you don't have a test environment, we recommend Ethereum TestRPC
npm install -g truffle
npm install -g @angular/cli
npm install -g ethereumjs-testrpc
  1. Download the box.
truffle unbox Quintor/angular-truffle-box
  1. Run your Ethereum client. For TestRPC:
testrpc

Note the mnemonic 12-word phrase printed on startup, you will need it later.

  1. Compile and migrate your contracts.
truffle compile && truffle migrate

Configuration

  1. In order to connect with the Ethereum network, you will need to configure MetaMask
  2. Log into the testrpc test accounts in MetaMask, using the 12-word phrase printed earlier.
    1. A detailed explaination of how to do this can be found here
      1. Normally, the available test accounts will change whenever you restart testrpc.
      2. In order to receive the same test accounts every time you start testrpc, start it with a seed like this: testrpc --seed 0 or testrpc -m "put your mnemonic phrase here needs twelve words to work with MetaMask"
  3. Point MetaMask to testrpc by connecting to the network localhost:8545

Running

  1. Run the app using Angular CLI:
ng serve

The app is now served on localhost:4200

  1. Making sure you have configured MetaMask, visit http://localhost:4200 in your browser.

  2. Send MetaCoins!

Testing

  1. Running the Angular component tests:
ng test
  1. Running the Truffle tests:
truffle test
  1. Running Protactor end-to-end tests
ng e2e

Releasing

Using the Angular CLI you can build a distributable of your app. Will be placed in dist/

ng build

FAQ

  • Where can I find more documentation?

This Truffle box is a union of Truffle and an Angular setup created with Angular CLI. For solidity compilation and Ethereum related issues, try the Truffle documentation. For Angular CLI and typescript issues, refer to the Angular CLI documentation