Add Web3 library and service
This commit is contained in:
@@ -1,11 +1,16 @@
|
||||
import Ember from 'ember';
|
||||
|
||||
const {
|
||||
computed
|
||||
computed,
|
||||
inject: {
|
||||
service
|
||||
}
|
||||
} = Ember;
|
||||
|
||||
export default Ember.Controller.extend({
|
||||
|
||||
kredits: service(),
|
||||
|
||||
contributorsCount: computed('model.contributors.[]', function() {
|
||||
return this.get('model.contributors').length;
|
||||
}),
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
import Ember from 'ember';
|
||||
import Web3 from 'npm:web3';
|
||||
|
||||
export default Ember.Service.extend({
|
||||
|
||||
web3Instance: null,
|
||||
|
||||
web3: function() {
|
||||
if (Ember.isPresent(this.get('web3Instance'))) {
|
||||
return this.get('web3Instance');
|
||||
}
|
||||
|
||||
let web3Instance;
|
||||
|
||||
if (typeof window.web3 !== 'undefined') {
|
||||
Ember.Logger.debug('[web3] Using user-provided instance, e.g. from Mist browser or Metamask');
|
||||
web3Instance = window.web3;
|
||||
} else {
|
||||
Ember.Logger.debug('[web3] Creating new instance from npm module class');
|
||||
let provider = new Web3.providers.HttpProvider("http://localhost:8545");
|
||||
web3Instance = new Web3(provider);
|
||||
}
|
||||
|
||||
this.set('web3Instance', web3Instance);
|
||||
|
||||
return web3Instance;
|
||||
}.property('web3Instance'),
|
||||
|
||||
contract: function() {
|
||||
// let web3 = this.get('web3');
|
||||
let contract = null;
|
||||
|
||||
return contract;
|
||||
}.property('web3'),
|
||||
|
||||
totalSupply: function() {
|
||||
return 23000;
|
||||
}.property()
|
||||
|
||||
});
|
||||
@@ -8,7 +8,7 @@
|
||||
{{contributor-list contributors=model.contributors}}
|
||||
|
||||
<p class="stats">
|
||||
<span class="number">{{kreditsSum}}</span> kredits issued and distributed among
|
||||
<span class="number">{{kredits.totalSupply}}</span> kredits issued and distributed among
|
||||
<span class="number">{{contributorsCount}}</span> contributors.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
+3
-1
@@ -17,6 +17,7 @@
|
||||
"devDependencies": {
|
||||
"broccoli-asset-rev": "^2.4.5",
|
||||
"ember-ajax": "^2.4.1",
|
||||
"ember-browserify": "^1.1.13",
|
||||
"ember-cli": "2.10.0",
|
||||
"ember-cli-app-version": "^2.0.0",
|
||||
"ember-cli-babel": "^5.1.7",
|
||||
@@ -34,7 +35,8 @@
|
||||
"ember-export-application-global": "^1.0.5",
|
||||
"ember-load-initializers": "^0.5.1",
|
||||
"ember-resolver": "^2.0.3",
|
||||
"loader.js": "^4.0.10"
|
||||
"loader.js": "^4.0.10",
|
||||
"web3": "^0.18.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.12.0"
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import { moduleFor, test } from 'ember-qunit';
|
||||
|
||||
moduleFor('service:kredits', 'Unit | Service | kredits', {
|
||||
// Specify the other units that are required for this test.
|
||||
// needs: ['service:foo']
|
||||
});
|
||||
|
||||
// Replace this with your real tests.
|
||||
test('it exists', function(assert) {
|
||||
let service = this.subject();
|
||||
assert.ok(service);
|
||||
});
|
||||
Reference in New Issue
Block a user