load data from ethereum contract

This commit is contained in:
2017-02-04 18:43:20 +08:00
parent 1771a63dfe
commit 26ae9b033f
6 changed files with 27 additions and 17 deletions
-11
View File
@@ -11,15 +11,4 @@ export default Ember.Controller.extend({
kredits: service(), kredits: service(),
contributorsCount: computed('model.contributors.[]', function() {
return this.get('model.contributors').length;
}),
kreditsSum: computed('model.contributors.[]', function() {
let kredits = this.get('model.contributors').mapBy('kredits');
return kredits.reduce(function(previousValue, currentValue) {
return currentValue + previousValue;
});
})
}); });
+3 -1
View File
@@ -15,9 +15,11 @@ let fixtures = [
export default Ember.Route.extend({ export default Ember.Route.extend({
kredits: Ember.inject.service(),
model() { model() {
let contributors = []; let contributors = [];
fixtures.forEach(obj => { this.get('kredits.contributors').forEach(obj => {
contributors.pushObject(Contributor.create(obj)); contributors.pushObject(Contributor.create(obj));
}); });
+20 -1
View File
@@ -23,7 +23,6 @@ export default Ember.Service.extend({
} }
this.set('web3Instance', web3Instance); this.set('web3Instance', web3Instance);
return web3Instance; return web3Instance;
}.property('web3Instance'), }.property('web3Instance'),
@@ -39,6 +38,26 @@ export default Ember.Service.extend({
return this.get('kreditsContract').totalSupply(); return this.get('kreditsContract').totalSupply();
}.property('kreditsContract'), }.property('kreditsContract'),
contributorsCount: function() {
return this.get('kreditsContract').contributorCount();
}.property('kreditsContract'),
contributors: function() {
var c = [];
for(var i = 0; i < this.get('contributorsCount').toNumber(); i++) {
var address = this.get('kreditsContract').contributorAddresses(i);
var person = this.get('kreditsContract').contributors(address);
var balance = this.get('kreditsContract').balanceOf(address);
console.log(person);
c.push({address: address, name: person[0], github_username: person[1], github_uid: person[2], ipfsHash: person[3], kredits: balance.toNumber()});
};
return c;
}.property('kreditsContract', 'contributorCount'),
balanceOf: function(address) {
return this.get('kreditsContract').balanceOf(address).toNumber();
}.property('kreditsContract'),
logKreditsContract: function() { logKreditsContract: function() {
Ember.Logger.debug('kreditsContract', this.get('kreditsContract')); Ember.Logger.debug('kreditsContract', this.get('kreditsContract'));
}.on('init') }.on('init')
+1 -1
View File
@@ -9,7 +9,7 @@
<p class="stats"> <p class="stats">
<span class="number">{{kredits.totalSupply}}</span> kredits issued and distributed among <span class="number">{{kredits.totalSupply}}</span> kredits issued and distributed among
<span class="number">{{contributorsCount}}</span> contributors. <span class="number">{{kredits.contributorsCount}}</span> contributors.
</p> </p>
</div> </div>
+2 -2
View File
@@ -24,12 +24,12 @@ module.exports = function(environment) {
}, },
kreditsContract: { kreditsContract: {
ABI: contracts['Kredits'] ABI: contracts['Kredits'].abi
} }
}; };
if (environment === 'development') { if (environment === 'development') {
ENV.kreditsContract.address = 'abcdef123456'; ENV.kreditsContract.address = '0xa624dc6c2539eed38273f03fc7c9fe05bfaddf66';
// ENV.APP.LOG_RESOLVER = true; // ENV.APP.LOG_RESOLVER = true;
// ENV.APP.LOG_ACTIVE_GENERATION = true; // ENV.APP.LOG_ACTIVE_GENERATION = true;
// ENV.APP.LOG_TRANSITIONS = true; // ENV.APP.LOG_TRANSITIONS = true;
+1 -1
View File
File diff suppressed because one or more lines are too long