mirror of
https://github.com/embarklabs/embark.git
synced 2025-01-22 11:40:09 +00:00
include ipfs lib in embarkjs
This commit is contained in:
parent
3ddd492e83
commit
0b00f99f09
@ -213,6 +213,8 @@ EmbarkJS.Storage.getUrl = function(hash) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
EmbarkJS.Storage.setProvider = function(provider, options) {
|
EmbarkJS.Storage.setProvider = function(provider, options) {
|
||||||
|
console.log("setting provider");
|
||||||
|
console.log(arguments);
|
||||||
var self = this;
|
var self = this;
|
||||||
var promise = new Promise(function(resolve, reject) {
|
var promise = new Promise(function(resolve, reject) {
|
||||||
if (provider.toLowerCase() === EmbarkJS.Storage.Providers.IPFS) {
|
if (provider.toLowerCase() === EmbarkJS.Storage.Providers.IPFS) {
|
||||||
@ -229,8 +231,10 @@ EmbarkJS.Storage.setProvider = function(provider, options) {
|
|||||||
self.ipfsConnection = IpfsApi(options.server, options.port);
|
self.ipfsConnection = IpfsApi(options.server, options.port);
|
||||||
self._getUrl = options.getUrl || "http://localhost:8080/ipfs/";
|
self._getUrl = options.getUrl || "http://localhost:8080/ipfs/";
|
||||||
}
|
}
|
||||||
|
window.ipfsConnection = self.ipfsConnection;
|
||||||
resolve(self);
|
resolve(self);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
self.ipfsConnection = null;
|
self.ipfsConnection = null;
|
||||||
reject(new Error('Failed to connect to IPFS'));
|
reject(new Error('Failed to connect to IPFS'));
|
||||||
}
|
}
|
||||||
@ -673,4 +677,6 @@ EmbarkJS.Utils = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = EmbarkJS;
|
//module.exports = EmbarkJS;
|
||||||
|
|
||||||
|
export default EmbarkJS;
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
let fs = require('../core/fs.js');
|
||||||
|
var utils = require('../utils/utils.js');
|
||||||
|
|
||||||
require('ejs');
|
require('ejs');
|
||||||
const Templates = {
|
const Templates = {
|
||||||
utils: require('./code_templates/utils.js.ejs'),
|
utils: require('./code_templates/utils.js.ejs'),
|
||||||
@ -263,6 +266,28 @@ class CodeGenerator {
|
|||||||
|
|
||||||
return contracts;
|
return contracts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buildEmbarkJS() {
|
||||||
|
let embarkjsCode = fs.readFileSync(fs.embarkPath('js/embark.js')).toString();
|
||||||
|
let code = "";
|
||||||
|
|
||||||
|
code += "\nimport Web3 from '" + utils.joinPath(fs.embarkPath("js/web3-1.0.min.js")) + "'\n";
|
||||||
|
code += "\nimport web3 from 'Embark/web3';\n";
|
||||||
|
|
||||||
|
if (this.storageConfig !== {} && this.storageConfig.provider === 'ipfs' && this.storageConfig.enabled === true) {
|
||||||
|
//code += "\nimport IpfsApi from 'Embark/libs/IpfsApi';\n";
|
||||||
|
code += "\nimport IpfsApi from 'ipfs-api';\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
code += "\n" + embarkjsCode + "\n";
|
||||||
|
|
||||||
|
code += this.generateCommunicationInitialization(true);
|
||||||
|
code += this.generateStorageInitialization(true);
|
||||||
|
|
||||||
|
let filePath = utils.joinPath(fs.dappPath(), ".embark", 'embark.js');
|
||||||
|
fs.mkdirpSync(utils.joinPath(fs.dappPath(), ".embark"));
|
||||||
|
fs.writeFileSync(filePath, code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = CodeGenerator;
|
module.exports = CodeGenerator;
|
||||||
|
@ -114,6 +114,7 @@ class Engine {
|
|||||||
events: self.events
|
events: self.events
|
||||||
});
|
});
|
||||||
codeGenerator.listenToCommands();
|
codeGenerator.listenToCommands();
|
||||||
|
codeGenerator.buildEmbarkJS();
|
||||||
|
|
||||||
self.events.emit('code-generator-ready');
|
self.events.emit('code-generator-ready');
|
||||||
};
|
};
|
||||||
|
@ -23,7 +23,6 @@ class Pipeline {
|
|||||||
|
|
||||||
this.buildContracts(contractsJSON);
|
this.buildContracts(contractsJSON);
|
||||||
|
|
||||||
|
|
||||||
self.buildWeb3JS(function() {
|
self.buildWeb3JS(function() {
|
||||||
|
|
||||||
// limit:1 due to issues when downloading required files such as web3.js
|
// limit:1 due to issues when downloading required files such as web3.js
|
||||||
@ -36,8 +35,10 @@ class Pipeline {
|
|||||||
if (file.filename.indexOf('.js') >= 0) {
|
if (file.filename.indexOf('.js') >= 0) {
|
||||||
let importsList = {};
|
let importsList = {};
|
||||||
|
|
||||||
importsList["Embark/EmbarkJS"] = fs.embarkPath("js/embark.js");
|
//importsList["Embark/EmbarkJS"] = fs.embarkPath("js/embark.js");
|
||||||
|
importsList["Embark/EmbarkJS"] = utils.joinPath(fs.dappPath(), ".embark", 'embark.js');
|
||||||
importsList["Embark/web3"] = utils.joinPath(fs.dappPath(), ".embark", 'web3_instance.js');
|
importsList["Embark/web3"] = utils.joinPath(fs.dappPath(), ".embark", 'web3_instance.js');
|
||||||
|
importsList["Embark/libs/IpfsApi"] = fs.embarkPath('js/ipfs.js');
|
||||||
|
|
||||||
async.waterfall([
|
async.waterfall([
|
||||||
function findImports(next) {
|
function findImports(next) {
|
||||||
@ -93,6 +94,7 @@ class Pipeline {
|
|||||||
externals: function(context, request, callback) {
|
externals: function(context, request, callback) {
|
||||||
if (request === "Embark/contracts/all") {
|
if (request === "Embark/contracts/all") {
|
||||||
return callback(null, fs.readFileSync(utils.joinPath(fs.dappPath(), '.embark', 'embark.js')));
|
return callback(null, fs.readFileSync(utils.joinPath(fs.dappPath(), '.embark', 'embark.js')));
|
||||||
|
// should be .toString() ?
|
||||||
}
|
}
|
||||||
callback();
|
callback();
|
||||||
},
|
},
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
"follow-redirects": "^1.2.4",
|
"follow-redirects": "^1.2.4",
|
||||||
"fs-extra": "^2.0.0",
|
"fs-extra": "^2.0.0",
|
||||||
"globule": "^1.1.0",
|
"globule": "^1.1.0",
|
||||||
"ipfs-api": "^14.0.3",
|
"ipfs-api": "6.0.2",
|
||||||
"merge": "^1.2.0",
|
"merge": "^1.2.0",
|
||||||
"mocha": "^2.2.5",
|
"mocha": "^2.2.5",
|
||||||
"orbit-db": "^0.17.3",
|
"orbit-db": "^0.17.3",
|
||||||
|
@ -2,27 +2,13 @@
|
|||||||
|
|
||||||
import $ from './_vendor/jquery.min';
|
import $ from './_vendor/jquery.min';
|
||||||
//import web3 from 'Embark/web3';
|
//import web3 from 'Embark/web3';
|
||||||
//console.log("new_index");
|
|
||||||
//console.log(web3);
|
|
||||||
//window.web3 = web3;
|
|
||||||
//console.log("finished importing web3");
|
|
||||||
import EmbarkJS from 'Embark/EmbarkJS';
|
import EmbarkJS from 'Embark/EmbarkJS';
|
||||||
|
window.EmbarkJS = EmbarkJS;
|
||||||
import SimpleStorage from 'Embark/contracts/SimpleStorage';
|
import SimpleStorage from 'Embark/contracts/SimpleStorage';
|
||||||
//import web3 from 'Embark/web3';
|
|
||||||
|
|
||||||
console.log("SimpleStorage")
|
|
||||||
console.log(SimpleStorage);
|
|
||||||
|
|
||||||
//console.log(EmbarkJS);
|
|
||||||
window.SimpleStorage = SimpleStorage;
|
|
||||||
|
|
||||||
import test3 from './foo';
|
import test3 from './foo';
|
||||||
import './foo.css';
|
import './foo.css';
|
||||||
|
|
||||||
console.log(test3);
|
|
||||||
|
|
||||||
////window.test_3 = test3;
|
|
||||||
////
|
|
||||||
var addToLog = function(id, txt) {
|
var addToLog = function(id, txt) {
|
||||||
$(id + " .logs").append("<br>" + txt);
|
$(id + " .logs").append("<br>" + txt);
|
||||||
};
|
};
|
||||||
@ -32,7 +18,7 @@ var addToLog = function(id, txt) {
|
|||||||
// ===========================
|
// ===========================
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
console.log([1,2,3].map(v => v + 1));
|
console.log([1,2,3].map(v => v + 1));
|
||||||
alert('hello');
|
//alert('hello');
|
||||||
|
|
||||||
$("#blockchain button.set").click(function() {
|
$("#blockchain button.set").click(function() {
|
||||||
var value = parseInt($("#blockchain input.text").val(), 10);
|
var value = parseInt($("#blockchain input.text").val(), 10);
|
||||||
@ -65,80 +51,80 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
////// ===========================
|
// ===========================
|
||||||
////// Storage (IPFS) example
|
// Storage (IPFS) example
|
||||||
////// ===========================
|
// ===========================
|
||||||
////$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
//// // automatic set if config/storage.json has "enabled": true and "provider": "ipfs"
|
// automatic set if config/storage.json has "enabled": true and "provider": "ipfs"
|
||||||
//// //EmbarkJS.Storage.setProvider('ipfs',{server: 'localhost', port: '5001'});
|
//EmbarkJS.Storage.setProvider('ipfs',{server: 'localhost', port: '5001'});
|
||||||
////
|
|
||||||
//// $("#storage .error").hide();
|
$("#storage .error").hide();
|
||||||
//// EmbarkJS.Storage.ipfsConnection.ping()
|
EmbarkJS.Storage.ipfsConnection.ping()
|
||||||
//// .then(function(){
|
.then(function(){
|
||||||
//// $("#status-storage").addClass('status-online');
|
$("#status-storage").addClass('status-online');
|
||||||
//// $("#storage-controls").show();
|
$("#storage-controls").show();
|
||||||
//// })
|
})
|
||||||
//// .catch(function(err) {
|
.catch(function(err) {
|
||||||
//// if(err){
|
if(err){
|
||||||
//// console.log("IPFS Connection Error => " + err.message);
|
console.log("IPFS Connection Error => " + err.message);
|
||||||
//// $("#storage .error").show();
|
$("#storage .error").show();
|
||||||
//// $("#status-storage").addClass('status-offline');
|
$("#status-storage").addClass('status-offline');
|
||||||
//// $("#storage-controls").hide();
|
$("#storage-controls").hide();
|
||||||
//// }
|
}
|
||||||
//// });
|
});
|
||||||
////
|
|
||||||
//// $("#storage button.setIpfsText").click(function() {
|
$("#storage button.setIpfsText").click(function() {
|
||||||
//// var value = $("#storage input.ipfsText").val();
|
var value = $("#storage input.ipfsText").val();
|
||||||
//// EmbarkJS.Storage.saveText(value).then(function(hash) {
|
EmbarkJS.Storage.saveText(value).then(function(hash) {
|
||||||
//// $("span.textHash").html(hash);
|
$("span.textHash").html(hash);
|
||||||
//// $("input.textHash").val(hash);
|
$("input.textHash").val(hash);
|
||||||
//// addToLog("#storage", "EmbarkJS.Storage.saveText('" + value + "').then(function(hash) { })");
|
addToLog("#storage", "EmbarkJS.Storage.saveText('" + value + "').then(function(hash) { })");
|
||||||
//// })
|
})
|
||||||
//// .catch(function(err) {
|
.catch(function(err) {
|
||||||
//// if(err){
|
if(err){
|
||||||
//// console.log("IPFS saveText Error => " + err.message);
|
console.log("IPFS saveText Error => " + err.message);
|
||||||
//// }
|
}
|
||||||
//// });
|
});
|
||||||
//// });
|
});
|
||||||
////
|
|
||||||
//// $("#storage button.loadIpfsHash").click(function() {
|
$("#storage button.loadIpfsHash").click(function() {
|
||||||
//// var value = $("#storage input.textHash").val();
|
var value = $("#storage input.textHash").val();
|
||||||
//// EmbarkJS.Storage.get(value).then(function(content) {
|
EmbarkJS.Storage.get(value).then(function(content) {
|
||||||
//// $("span.ipfsText").html(content);
|
$("span.ipfsText").html(content);
|
||||||
//// addToLog("#storage", "EmbarkJS.Storage.get('" + value + "').then(function(content) { })");
|
addToLog("#storage", "EmbarkJS.Storage.get('" + value + "').then(function(content) { })");
|
||||||
//// })
|
})
|
||||||
//// .catch(function(err) {
|
.catch(function(err) {
|
||||||
//// if(err){
|
if(err){
|
||||||
//// console.log("IPFS get Error => " + err.message);
|
console.log("IPFS get Error => " + err.message);
|
||||||
//// }
|
}
|
||||||
//// });
|
});
|
||||||
//// });
|
});
|
||||||
////
|
|
||||||
//// $("#storage button.uploadFile").click(function() {
|
$("#storage button.uploadFile").click(function() {
|
||||||
//// var input = $("#storage input[type=file]");
|
var input = $("#storage input[type=file]");
|
||||||
//// EmbarkJS.Storage.uploadFile(input).then(function(hash) {
|
EmbarkJS.Storage.uploadFile(input).then(function(hash) {
|
||||||
//// $("span.fileIpfsHash").html(hash);
|
$("span.fileIpfsHash").html(hash);
|
||||||
//// $("input.fileIpfsHash").val(hash);
|
$("input.fileIpfsHash").val(hash);
|
||||||
//// addToLog("#storage", "EmbarkJS.Storage.uploadFile($('input[type=file]')).then(function(hash) { })");
|
addToLog("#storage", "EmbarkJS.Storage.uploadFile($('input[type=file]')).then(function(hash) { })");
|
||||||
//// })
|
})
|
||||||
//// .catch(function(err) {
|
.catch(function(err) {
|
||||||
//// if(err){
|
if(err){
|
||||||
//// console.log("IPFS uploadFile Error => " + err.message);
|
console.log("IPFS uploadFile Error => " + err.message);
|
||||||
//// }
|
}
|
||||||
//// });
|
});
|
||||||
//// });
|
});
|
||||||
////
|
|
||||||
//// $("#storage button.loadIpfsFile").click(function() {
|
$("#storage button.loadIpfsFile").click(function() {
|
||||||
//// var hash = $("#storage input.fileIpfsHash").val();
|
var hash = $("#storage input.fileIpfsHash").val();
|
||||||
//// var url = EmbarkJS.Storage.getUrl(hash);
|
var url = EmbarkJS.Storage.getUrl(hash);
|
||||||
//// var link = '<a href="' + url + '" target="_blank">' + url + '</a>';
|
var link = '<a href="' + url + '" target="_blank">' + url + '</a>';
|
||||||
//// $("span.ipfsFileUrl").html(link);
|
$("span.ipfsFileUrl").html(link);
|
||||||
//// $(".ipfsImage").attr('src', url);
|
$(".ipfsImage").attr('src', url);
|
||||||
//// addToLog("#storage", "EmbarkJS.Storage.getUrl('" + hash + "')");
|
addToLog("#storage", "EmbarkJS.Storage.getUrl('" + hash + "')");
|
||||||
//// });
|
});
|
||||||
////
|
|
||||||
////});
|
});
|
||||||
////
|
|
||||||
////// ===========================
|
////// ===========================
|
||||||
////// Communication (Whisper) example
|
////// Communication (Whisper) example
|
||||||
////// ===========================
|
////// ===========================
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>Embark - SimpleStorage Demo</title>
|
<title>Embark - SimpleStorage Demo</title>
|
||||||
<link rel="stylesheet" href="css/app.css">
|
<link rel="stylesheet" href="css/app.css">
|
||||||
<script src="js/embark.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js"></script>
|
||||||
|
<script src="js/bootstrap.js"></script>
|
||||||
<script src="js/new_app.js"></script>
|
<script src="js/new_app.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body class="container">
|
<body class="container">
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
"contracts": ["app/contracts/**"],
|
"contracts": ["app/contracts/**"],
|
||||||
"app": {
|
"app": {
|
||||||
"js/webpack_test.js": "app/js/index.js",
|
"js/webpack_test.js": "app/js/index.js",
|
||||||
|
"js/jquery.js": "app/js/_vendor/jquery.min.js",
|
||||||
|
"js/bootstrap.js": "app/js/_vendor/bootstrap.min.js",
|
||||||
"css/app.css": ["app/css/**"],
|
"css/app.css": ["app/css/**"],
|
||||||
"images/": ["app/images/**"],
|
"images/": ["app/images/**"],
|
||||||
"js/app.js": ["app/js/_vendor/jquery.min.js", "app/js/_vendor/bootstrap.min.js", "app/js/**", "!app/js/test.js", "!app/js/foo.js", "!app/js/foo.css", "!app/js/new_index.js"],
|
"js/app.js": ["app/js/_vendor/jquery.min.js", "app/js/_vendor/bootstrap.min.js", "app/js/**", "!app/js/test.js", "!app/js/foo.js", "!app/js/foo.css", "!app/js/new_index.js"],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user