Files
kredits-web/app/services/ipfs.js
T
basti 26cebc11c6 Add IPFS service (#4)
Add IPFS service

Add the `ipfs-api` JS library and a service using the browserified
version of it. The service has functions for storing and reading file
contests.
2017-02-18 09:48:26 +00:00

32 lines
692 B
JavaScript

import Ember from 'ember';
import ipfsAPI from 'npm:ipfs-api';
import config from 'kredits-web/config/environment';
export default Ember.Service.extend({
ipfsInstance: null,
ipfs: function() {
if (this.get('ipfsInstance')) {
return this.get('ipfsInstance');
}
let ipfs = ipfsAPI(config.ipfs);
this.set('ipfsInstance', ipfs);
return ipfs;
}.property('ipfsInstance'),
storeFile(content) {
let ipfs = this.get('ipfs');
return ipfs.add(new ipfs.Buffer(content)).then(res => {
return res[0].hash;
});
},
getFile(hash) {
return this.get('ipfs').cat(hash, { buffer: true }).then(res => {
return res.toString();
});
}
});