added mongo suport
This commit is contained in:
parent
e5546f3cad
commit
bbccb592f8
|
@ -6,6 +6,8 @@ const IpfsClient = require('ipfs-http-client');
|
||||||
const OrbitDB = require('orbit-db');
|
const OrbitDB = require('orbit-db');
|
||||||
//Instance of IPFS locally in IPFS daemon
|
//Instance of IPFS locally in IPFS daemon
|
||||||
const node = IpfsClient('http://localhost:5001');
|
const node = IpfsClient('http://localhost:5001');
|
||||||
|
const MongoClient = require('mongodb').MongoClient;
|
||||||
|
const url = "mongodb://"+process.env.USERDB+":"+process.env.PASSDB+"@localhost:27017/"+process.env.DBNAME;
|
||||||
|
|
||||||
//Module for get prices
|
//Module for get prices
|
||||||
var getEth = require('./getEth');
|
var getEth = require('./getEth');
|
||||||
|
@ -35,41 +37,59 @@ async function index() {
|
||||||
indexBy: 'dates'
|
indexBy: 'dates'
|
||||||
});
|
});
|
||||||
await db3.load();
|
await db3.load();
|
||||||
const db4 = await orbitdb.docs('decaCCT', {
|
const db4 = await orbitdb.docs('decaCCTS', {
|
||||||
indexBy: 'dates'
|
indexBy: 'dates'
|
||||||
});
|
});
|
||||||
await db4.load();
|
await db4.load();
|
||||||
|
const dbm = await MongoClient.connect(url, { useUnifiedTopology: true }).catch(err => { console.log(err); });
|
||||||
//Flag to save the following data
|
//Flag to save the following data
|
||||||
let dates = 1591980300;
|
let dates = 1593553845;
|
||||||
while (true) {
|
while (true) {
|
||||||
//Get Carbon Credits Data
|
//Get Carbon Credits Data
|
||||||
const data = db.get('');
|
const data = db.get('');
|
||||||
//Compare flag and unixtime to add data
|
//Compare flag and unixtime to add data
|
||||||
if (Math.round(new Date().getTime() / 1000) == dates) {
|
if (Math.round(new Date().getTime() / 1000) == dates) {
|
||||||
dates += 300;
|
var dbo = dbm.db("DECA");
|
||||||
//Get data from functions
|
//Get data from functions
|
||||||
let elemsGeth = await getGethElems(dates);
|
let elemsGeth = await getGethElems(dates);
|
||||||
let elemsDECAPrice = await getEth(dates);
|
let elemsDECAPrice = await getEth(dates);
|
||||||
let ccTotalEth = await getEthSum(data, dates);
|
let ccTotalEth = await getEthSum(data, dates);
|
||||||
//checks every 2 minutes to see if the data has already been inserted into the DBs if not
|
//checks every 2 minutes to see if the data has already been inserted into the DBs if not
|
||||||
setTimeout(function () {
|
setTimeout(async function () {
|
||||||
const query1 = db2.query((doc) => doc.dates == dates);
|
const query1 = db2.query((doc) => doc.dates == dates);
|
||||||
const query2 = db3.query((doc) => doc.dates == dates);
|
const query2 = db3.query((doc) => doc.dates == dates);
|
||||||
const query3 = db4.query((doc) => doc.dates == dates);
|
const query3 = db4.query((doc) => doc.dates == dates);
|
||||||
if(query1.length > 0){
|
dbo.collection("decaPrice").insertOne(elemsDECAPrice, function(err, res) {
|
||||||
|
if (err) throw err;
|
||||||
|
console.log("Insert decaPrice")
|
||||||
|
});
|
||||||
|
dbo.collection("decaGeth").insertOne(elemsGeth, function(err, res) {
|
||||||
|
if (err) throw err;
|
||||||
|
console.log("Insert decaGeth")
|
||||||
|
});
|
||||||
|
dbo.collection("decaCCTS").insertOne(ccTotalEth, function(err, res) {
|
||||||
|
if (err) throw err;
|
||||||
|
console.log("Insert decaCCTS")
|
||||||
|
});
|
||||||
|
if (query1.length > 0) {
|
||||||
|
let elemsDECAPrice = await getEth(dates);
|
||||||
const hash1 = await db2.put(elemsDECAPrice);
|
const hash1 = await db2.put(elemsDECAPrice);
|
||||||
console.log(hash1);
|
console.log(hash1);
|
||||||
}
|
}
|
||||||
if(query2.length > 0){
|
if (query2.length > 0) {
|
||||||
|
let elemsGeth = await getGethElems(dates);
|
||||||
|
|
||||||
const hash2 = await db3.put(elemsGeth);
|
const hash2 = await db3.put(elemsGeth);
|
||||||
console.log(hash2);
|
console.log(hash2);
|
||||||
}
|
}
|
||||||
if(query3.length > 0){
|
if (query3.length > 0) {
|
||||||
|
let ccTotalEth = await getEthSum(data, dates);
|
||||||
|
|
||||||
const hash3 = await db4.put(ccTotalEth);
|
const hash3 = await db4.put(ccTotalEth);
|
||||||
console.log(hash3);
|
console.log(hash3);
|
||||||
}
|
}
|
||||||
|
dates += 60;
|
||||||
}, 20000);
|
}, 10000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,11 +1,12 @@
|
||||||
//Load Environment Variables
|
//Load Environment Variables
|
||||||
require('dotenv').config()
|
require('dotenv').config()
|
||||||
|
|
||||||
//IPFS
|
//IPFS
|
||||||
const IpfsClient = require('ipfs-http-client');
|
const IpfsClient = require('ipfs-http-client');
|
||||||
const OrbitDB = require('orbit-db');
|
const OrbitDB = require('orbit-db');
|
||||||
//Instance of IPFS locally in IPFS daemon
|
//Instance of IPFS locally in IPFS daemon
|
||||||
const node = IpfsClient('http://localhost:5001');
|
const node = IpfsClient('http://localhost:5001');
|
||||||
|
const MongoClient = require('mongodb').MongoClient;
|
||||||
|
const url = "mongodb://accountUser:Asd123456!@localhost:27017/DECA";
|
||||||
|
|
||||||
//Module for get prices
|
//Module for get prices
|
||||||
var getEth = require('./getEth');
|
var getEth = require('./getEth');
|
||||||
|
@ -18,8 +19,7 @@ const Web3 = require('web3');
|
||||||
const web3 = new Web3(new Web3.providers.WebsocketProvider(process.env.INFURAKEY));
|
const web3 = new Web3(new Web3.providers.WebsocketProvider(process.env.INFURAKEY));
|
||||||
|
|
||||||
//DECA Contract instance
|
//DECA Contract instance
|
||||||
const decaContract = new web3.eth.Contract(abi, '0xD60DC0805f44d10cAc6594f1a501c67929448957');
|
const decaContract = new web3.eth.Contract(abi, '0xE453a11fC1925605638cC590897498375973D301');
|
||||||
|
|
||||||
|
|
||||||
async function index() {
|
async function index() {
|
||||||
//Open and load orbitdb databases
|
//Open and load orbitdb databases
|
||||||
|
@ -28,7 +28,7 @@ async function index() {
|
||||||
indexBy: 'CCID'
|
indexBy: 'CCID'
|
||||||
});
|
});
|
||||||
await db.load();
|
await db.load();
|
||||||
const db2 = await orbitdb.docs('decaPrices', {
|
const db2 = await orbitdb.docs('decaPrice', {
|
||||||
indexBy: 'dates'
|
indexBy: 'dates'
|
||||||
});
|
});
|
||||||
await db2.load();
|
await db2.load();
|
||||||
|
@ -36,43 +36,54 @@ async function index() {
|
||||||
indexBy: 'dates'
|
indexBy: 'dates'
|
||||||
});
|
});
|
||||||
await db3.load();
|
await db3.load();
|
||||||
const db4 = await orbitdb.docs('decaCCT', {
|
const db4 = await orbitdb.docs('decaCCTS', {
|
||||||
indexBy: 'dates'
|
indexBy: 'dates'
|
||||||
});
|
});
|
||||||
await db4.load();
|
await db4.load();
|
||||||
|
const dbm = await MongoClient.connect(url, { useUnifiedTopology: true })
|
||||||
|
.catch(err => { console.log(err); });
|
||||||
//Flag to save the following data
|
//Flag to save the following data
|
||||||
let dates = 1592331780;
|
let dates = 1593552592;
|
||||||
while (true) {
|
while (true) {
|
||||||
//Get Carbon Credits Data
|
|
||||||
const data = db.get('');
|
|
||||||
//Compare flag and unixtime to add data
|
//Compare flag and unixtime to add data
|
||||||
if (Math.round(new Date().getTime() / 1000) == dates) {
|
if (Math.round(new Date().getTime() / 1000) == dates) {
|
||||||
dates += 120;
|
dates += 30;
|
||||||
//Get data from functions
|
//Get data from functions
|
||||||
try{
|
var dbo = dbm.db("DECA");
|
||||||
let elemsDECAPrice = await getEth(dates);
|
try{
|
||||||
console.log(elemsDECAPrice);
|
let elemsDECAPrice = await getEth(dates);
|
||||||
const hash1 = await db2.put(elemsDECAPrice);
|
const hash1 = await db2.put(elemsDECAPrice);
|
||||||
console.log(hash1);
|
dbo.collection("decaPrice").insertOne(elemsDECAPrice, function(err, res) {
|
||||||
}catch{
|
if (err) throw err;
|
||||||
console.error("Error in DECA Prices");
|
console.log("Insert decaPrice")
|
||||||
}
|
});
|
||||||
try{
|
console.log(hash1);
|
||||||
let elemsGeth = await getGethElems(dates);
|
}catch{
|
||||||
console.log(elemsGeth);
|
console.error("Error in DECA Prices");
|
||||||
const hash2 = await db3.put(elemsGeth);
|
}
|
||||||
console.log(hash2);
|
try{
|
||||||
}catch{
|
let elemsGeth = await getGethElems(dates);
|
||||||
console.error("Error in GETH");
|
const hash2 = await db3.put(elemsGeth);
|
||||||
}
|
dbo.collection("decaGeth").insertOne(elemsGeth, function(err, res) {
|
||||||
try{
|
if (err) throw err;
|
||||||
let ccTotalEth = await getEthSum(data, dates);
|
console.log("Insert decaGeth")
|
||||||
console.log(ccTotalEth);
|
});
|
||||||
const hash3 = await db4.put(ccTotalEth);
|
console.log(hash2);
|
||||||
console.log(hash3);
|
}catch{
|
||||||
}catch{
|
console.error("Error in GETH");
|
||||||
console.error("Error in CCDB")
|
}
|
||||||
}
|
try{
|
||||||
|
const data = await db.get('');
|
||||||
|
let ccTotalEth = await getEthSum(data, dates);
|
||||||
|
const hash3 = await db4.put(ccTotalEth);
|
||||||
|
dbo.collection("decaCCTS").insertOne(ccTotalEth, function(err, res) {
|
||||||
|
if (err) throw err;
|
||||||
|
console.log("Insert decaCCTS")
|
||||||
|
});
|
||||||
|
console.log(hash3);
|
||||||
|
}catch{
|
||||||
|
console.error("Error in CCDB")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -99,10 +110,10 @@ const getEthSum = async (elemsCC, dates) => {
|
||||||
let sumCC = 0;
|
let sumCC = 0;
|
||||||
for (let key in elemsCC) {
|
for (let key in elemsCC) {
|
||||||
sum += elemsCC[key]['conversionPrice']['ETH'];
|
sum += elemsCC[key]['conversionPrice']['ETH'];
|
||||||
sumCC +=1;
|
sumCC += 1;
|
||||||
}
|
}
|
||||||
ret.ccTotal = sumCC;
|
ret.ccTotal = sumCC;
|
||||||
ret.ccTS = sum;
|
ret.ccTS = sum;
|
||||||
ret.dates = dates;
|
ret.dates = dates;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
Loading…
Reference in New Issue