From bbccb592f8e0313022dec1288aef8f66a46ad6f6 Mon Sep 17 00:00:00 2001 From: osmarperez Date: Tue, 30 Jun 2020 17:04:32 -0500 Subject: [PATCH 1/2] added mongo suport --- scriptUpdateNode2.js => scriptChildNode.js | 40 ++++++++--- scriptUpdateNode1.js => scriptMainNode.js | 81 ++++++++++++---------- 2 files changed, 76 insertions(+), 45 deletions(-) rename scriptUpdateNode2.js => scriptChildNode.js (68%) rename scriptUpdateNode1.js => scriptMainNode.js (52%) diff --git a/scriptUpdateNode2.js b/scriptChildNode.js similarity index 68% rename from scriptUpdateNode2.js rename to scriptChildNode.js index 9c53af0..829e511 100644 --- a/scriptUpdateNode2.js +++ b/scriptChildNode.js @@ -6,6 +6,8 @@ const IpfsClient = require('ipfs-http-client'); const OrbitDB = require('orbit-db'); //Instance of IPFS locally in IPFS daemon 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 var getEth = require('./getEth'); @@ -35,41 +37,59 @@ async function index() { indexBy: 'dates' }); await db3.load(); - const db4 = await orbitdb.docs('decaCCT', { + const db4 = await orbitdb.docs('decaCCTS', { indexBy: 'dates' }); await db4.load(); + const dbm = await MongoClient.connect(url, { useUnifiedTopology: true }).catch(err => { console.log(err); }); //Flag to save the following data - let dates = 1591980300; + let dates = 1593553845; while (true) { //Get Carbon Credits Data const data = db.get(''); //Compare flag and unixtime to add data if (Math.round(new Date().getTime() / 1000) == dates) { - dates += 300; + var dbo = dbm.db("DECA"); //Get data from functions let elemsGeth = await getGethElems(dates); let elemsDECAPrice = await getEth(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 - setTimeout(function () { + setTimeout(async function () { const query1 = db2.query((doc) => doc.dates == dates); const query2 = db3.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); console.log(hash1); } - if(query2.length > 0){ + if (query2.length > 0) { + let elemsGeth = await getGethElems(dates); + const hash2 = await db3.put(elemsGeth); console.log(hash2); } - if(query3.length > 0){ + if (query3.length > 0) { + let ccTotalEth = await getEthSum(data, dates); + const hash3 = await db4.put(ccTotalEth); - console.log(hash3); + console.log(hash3); } - - }, 20000); + dates += 60; + }, 10000); } } } diff --git a/scriptUpdateNode1.js b/scriptMainNode.js similarity index 52% rename from scriptUpdateNode1.js rename to scriptMainNode.js index c53eb52..78198a5 100644 --- a/scriptUpdateNode1.js +++ b/scriptMainNode.js @@ -1,11 +1,12 @@ //Load Environment Variables require('dotenv').config() - //IPFS const IpfsClient = require('ipfs-http-client'); const OrbitDB = require('orbit-db'); //Instance of IPFS locally in IPFS daemon const node = IpfsClient('http://localhost:5001'); +const MongoClient = require('mongodb').MongoClient; +const url = "mongodb://accountUser:Asd123456!@localhost:27017/DECA"; //Module for get prices var getEth = require('./getEth'); @@ -18,8 +19,7 @@ const Web3 = require('web3'); const web3 = new Web3(new Web3.providers.WebsocketProvider(process.env.INFURAKEY)); //DECA Contract instance -const decaContract = new web3.eth.Contract(abi, '0xD60DC0805f44d10cAc6594f1a501c67929448957'); - +const decaContract = new web3.eth.Contract(abi, '0xE453a11fC1925605638cC590897498375973D301'); async function index() { //Open and load orbitdb databases @@ -28,7 +28,7 @@ async function index() { indexBy: 'CCID' }); await db.load(); - const db2 = await orbitdb.docs('decaPrices', { + const db2 = await orbitdb.docs('decaPrice', { indexBy: 'dates' }); await db2.load(); @@ -36,43 +36,54 @@ async function index() { indexBy: 'dates' }); await db3.load(); - const db4 = await orbitdb.docs('decaCCT', { + const db4 = await orbitdb.docs('decaCCTS', { indexBy: 'dates' }); await db4.load(); + const dbm = await MongoClient.connect(url, { useUnifiedTopology: true }) + .catch(err => { console.log(err); }); //Flag to save the following data - let dates = 1592331780; + let dates = 1593552592; while (true) { - //Get Carbon Credits Data - const data = db.get(''); //Compare flag and unixtime to add data if (Math.round(new Date().getTime() / 1000) == dates) { - dates += 120; + dates += 30; //Get data from functions - try{ - let elemsDECAPrice = await getEth(dates); - console.log(elemsDECAPrice); - const hash1 = await db2.put(elemsDECAPrice); - console.log(hash1); - }catch{ - console.error("Error in DECA Prices"); - } - try{ - let elemsGeth = await getGethElems(dates); - console.log(elemsGeth); - const hash2 = await db3.put(elemsGeth); - console.log(hash2); - }catch{ - console.error("Error in GETH"); - } - try{ - let ccTotalEth = await getEthSum(data, dates); - console.log(ccTotalEth); - const hash3 = await db4.put(ccTotalEth); - console.log(hash3); - }catch{ - console.error("Error in CCDB") - } + var dbo = dbm.db("DECA"); + try{ + let elemsDECAPrice = await getEth(dates); + const hash1 = await db2.put(elemsDECAPrice); + dbo.collection("decaPrice").insertOne(elemsDECAPrice, function(err, res) { + if (err) throw err; + console.log("Insert decaPrice") + }); + console.log(hash1); + }catch{ + console.error("Error in DECA Prices"); + } + try{ + let elemsGeth = await getGethElems(dates); + const hash2 = await db3.put(elemsGeth); + dbo.collection("decaGeth").insertOne(elemsGeth, function(err, res) { + if (err) throw err; + console.log("Insert decaGeth") + }); + console.log(hash2); + }catch{ + console.error("Error in GETH"); + } + 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; for (let key in elemsCC) { sum += elemsCC[key]['conversionPrice']['ETH']; - sumCC +=1; + sumCC += 1; } ret.ccTotal = sumCC; ret.ccTS = sum; ret.dates = dates; return ret; -} +} \ No newline at end of file From d8dd256d01b333029a3bf5188f6608b63d7703eb Mon Sep 17 00:00:00 2001 From: osmarperez Date: Thu, 23 Jul 2020 18:32:19 -0500 Subject: [PATCH 2/2] fix bugs and readme update --- .envSample | 6 + .gitignore | 1 - ABI.js | 979 ++++++++++++++++------------- README.md | 242 ++++++- index.js | 58 ++ package.json | 21 +- pdf/DECAAnalyticsETHPrice.pdf | Bin 0 -> 201012 bytes scriptChildNode.js | 156 +++-- scriptMainNode.js | 156 ++--- services/decaGraphicsChild.service | 12 + services/decaGraphicsMain.service | 12 + 11 files changed, 1045 insertions(+), 598 deletions(-) create mode 100644 .envSample create mode 100644 index.js create mode 100644 pdf/DECAAnalyticsETHPrice.pdf create mode 100644 services/decaGraphicsChild.service create mode 100644 services/decaGraphicsMain.service diff --git a/.envSample b/.envSample new file mode 100644 index 0000000..ce8846c --- /dev/null +++ b/.envSample @@ -0,0 +1,6 @@ +APIKEY= +USERDB= +PASSDB= +DBNAME= +INFURAKEY= +CONTRACTADDRS= \ No newline at end of file diff --git a/.gitignore b/.gitignore index f5404bb..3fb973e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ /node_modules /orbitdb -package-lock.json .env diff --git a/ABI.js b/ABI.js index 7c198ae..4899cc5 100644 --- a/ABI.js +++ b/ABI.js @@ -1,437 +1,542 @@ -const abi = [{ - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ - "name": "spender", - "type": "address" - }, - { - "name": "tokens", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [{ - "name": "success", - "type": "bool" - }], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ - "name": "spender", - "type": "address" - }, - { - "name": "tokens", - "type": "uint256" - }, - { - "name": "data", - "type": "bytes" - } - ], - "name": "approveAndCall", - "outputs": [{ - "name": "success", - "type": "bool" - }], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ - "name": "spender", - "type": "address" - }, - { - "name": "tokens", - "type": "uint256" - } - ], - "name": "decreaseApproval", - "outputs": [{ - "name": "success", - "type": "bool" - }], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "getETH", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ - "name": "spender", - "type": "address" - }, - { - "name": "tokens", - "type": "uint256" - } - ], - "name": "increaseApproval", - "outputs": [{ - "name": "success", - "type": "bool" - }], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ - "name": "to", - "type": "address" - }, - { - "name": "tokens", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [{ - "name": "success", - "type": "bool" - }], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ - "name": "tokenAddress", - "type": "address" - }, - { - "name": "tokens", - "type": "uint256" - } - ], - "name": "transferAnyERC20Token", - "outputs": [{ - "name": "success", - "type": "bool" - }], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ - "name": "from", - "type": "address" - }, - { - "name": "to", - "type": "address" - }, - { - "name": "tokens", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [{ - "name": "success", - "type": "bool" - }], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ - "name": "_newOwner", - "type": "address" - }], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ - "name": "CCDBAddress", - "type": "string" - }], - "name": "updateCCDBAddress", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": false, - "inputs": [{ - "indexed": true, - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "name": "_to", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "tokens", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ - "indexed": true, - "name": "tokenOwner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "name": "tokens", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "_CCDBAddress", - "outputs": [{ - "name": "", - "type": "string" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "_totalSupply", - "outputs": [{ - "name": "", - "type": "uint256" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [{ - "name": "tokenOwner", - "type": "address" - }, - { - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [{ - "name": "remaining", - "type": "uint256" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [{ - "name": "tokenOwner", - "type": "address" - }], - "name": "balanceOf", - "outputs": [{ - "name": "balance", - "type": "uint256" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "bonus1Ends", - "outputs": [{ - "name": "", - "type": "uint256" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "bonus2Ends", - "outputs": [{ - "name": "", - "type": "uint256" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [{ - "name": "", - "type": "uint8" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "endDate", - "outputs": [{ - "name": "", - "type": "uint256" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [{ - "name": "", - "type": "string" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "newOwner", - "outputs": [{ - "name": "", - "type": "address" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [{ - "name": "", - "type": "address" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "preICOEnds", - "outputs": [{ - "name": "", - "type": "uint256" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [{ - "name": "", - "type": "string" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [{ - "name": "", - "type": "uint256" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - } -] - - - -module.exports = abi \ No newline at end of file +[ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": true, + "inputs": [], + "name": "_CCDBAddress", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "addDays", + "type": "uint256" + } + ], + "name": "appendDays", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "bonus1Ends", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "bonus2Ends", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "endDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "getETH", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getPause", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "preICOEnds", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "p", + "type": "bool" + } + ], + "name": "setPause", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "transferAnyERC20Token", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "newCCDBAddress", + "type": "string" + } + ], + "name": "updateCCDBAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/README.md b/README.md index 5a57dbe..d005706 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,243 @@ # DecaGraphics -Deca Graphics \ No newline at end of file +DECA Charts Code and settings to calculate price, quantity and percentage of reserve in carbon credits. + +**IMPORTANT: Please verify that the database address matches the smart contract address.** + +Official Carbon credits database address ([orbitdb](https://github.com/orbitdb/orbit-db)) +**/orbitdb/zdpuAykPJ4qtBg2toS2vxr5eaPfGEBJmvGerM7V7x8qn5c8hW/decaCCDB** + +## Table of Contents + +[[_TOC_]] + +## General Folder Structure + +```sh +├── ABI.js +├── getEth.js +├── index.js +├── package.json +├── README.md +├── scriptChildNode.js +├── scriptMainNode.js +└── services + ├── decaGraphicsChild.service + └── decaGraphicsMain.service +``` + +## Prerequisites + +Before you begin, ensure you have met the following requirements: + +* Node.js >= 10 + +## Installation + +**Download and install Node.js v10.x and npm.** + +> Using Ubuntu + +```sh + $ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - + $ sudo apt-get install -y nodejs +``` + +> Using Debian, as root + +```sh + $ curl -sL https://deb.nodesource.com/setup_10.x | bash - + $ apt-get install -y nodejs +``` + +**Clone the repo, switch to decagraphics and run npm install** + +```sh + $ git clone https://gitlab.com/deca-currency/decagraphics.git + $ cd decagraphics + $ npm install +``` + +> It's recommended to fix security vulnerabilities in dependencies using the command. + +```sh + $ npm audit fix +``` + +It is necessary to have installed mongodb locally in case of making a connection to another server modify the connection url of mongodb. + +> Once the installation is done, it is necessary to create a database with three collections with the following names: +```sh + $ mongo + use DecaGraphics + db.createCollection("decaPrice") + db.createCollection("decaGeth") + db.createCollection("decaCCTS") +``` + +> After that it is necessary to set the environment variables in an .env file as in the example .envSample file. + +```sh + APIKEY= + USERDB= + PASSDB= + DBNAME= + INFURAKEY= + CONTRACTADDRS= +``` + +In both scripts it is necessary to set the variable 'dates' to the following date in unixtime from there the script will start to run the calculations automatically. + +**Once everything is configured it is necessary to have ipfs running as a service the configuration can be found in [carboncreditsbacklog](https://gitlab.com/deca-currency/carboncreditsbacklog) as well connecting to the nodes mentioned there in order to replicate the orbitdb carbon credits database bd.** + +> The scripts can be tested using node as well the service rest which will take the data from mongodb and expose it in a json format in order to do the calculations on the web page + +```sh + $ node scriptMainNode.js + $ node index.js +``` + +To verify the data can be done from a browser taking into account the use of cors or from a bash. + +```sh + $ curl localhost:5000/decaPrice + $ curl localhost:5000/decaGeth + $ curl localhost:5000/decaCCTS +``` + +## Development + +* The dependencies are already in the package.json +* Ethereum Node +* Bitcoinaverage Api + +The rest service was made in express.js and cors was applied to accept only requests coming from deca.eco as well as helmet.js was used to give a better security to the application and the good practices of [express](https://expressjs.com/es/advanced/best-practice-security.html). + +The main script is scriptMainNode.js performs the calculations found in the document [DECAAnalyticsETHPrice](./pdf/DECAAnalyticsETHPrice.pdf) the other script is backup and is used on another node in case the main one fails. + + +## Deploy + +### Prerequisites + +* Nginx >= 1.14.0 +* Certbot >= 1.6 + +Install Nginx + +```sh + $ sudo apt update + $ sudo apt install nginx +``` + +Install Certbot + +```sh + $ sudo add-apt-repository ppa:certbot/certbot +``` + +> The script is configured as a service to be able to perform the calculations automatically. The configuration file is located in the service folder. + +```sh + $ sudo vim /etc/systemd/system/decaGraphics.service + [Unit] + Description=Deca Graphics Updater + + [Service] + WorkingDirectory=/home/nodemaster/decagraphics/ + ExecStart=/usr/local/bin/node /home/nodemaster/decagraphics/scriptMainNode.js + User=nodemaster + Restart=always + LimitNOFILE=10240 + + [Install] + WantedBy=multi-user.target +``` + +**NOTE: in this example user that runs ipfs, node and orbitdb instance is nodemaster, also the node location is at /usr/local/bin/node** + +**NOTE1: set WorkingDirectory where is the repository, for this example /home/nodemaster/decagraphics/** + +**NOTE2: set where is index.js mostly in the repository as follow path to node path, for this example /home/nodemaster/decagraphics/scriptMainNode.js** + +> Enable the service + +```sh + $ sudo systemctl daemon-reload + $ sudo systemctl enable decaGraphics.service + $ sudo systemctl start decaGraphics.service + $ sudo systemctl status decaGraphics.service +``` +**NOTE: service must be set as active (running), if not please verify the preview steps** + +> It is possible to check in the service logs if any error occurred in the service. + +```sh +● graphicsDeca.service - Graphing Calculator + Loaded: loaded (/lib/systemd/system/graphicsDeca.service; enabled; vendor preset: enabled) + Active: active (running) since Thu 2020-07-23 17:18:50 UTC; 4h 23min ago + Main PID: 629182 (node) + Tasks: 12 (limit: 464185) + CGroup: /system.slice/graphicsDeca.service + └─629182 /usr/bin/node /home/nodemaster/decagraphics/scriptMainNode.js + +Jul 23 21:40:02 icowebsrv node[629182]: zdpuAzCgWw1vAt8yKXFUR49uyhuD4W2jN4fKVmzwXwc9QvKzm +Jul 23 21:40:02 icowebsrv node[629182]: Insert decaPrice +Jul 23 21:40:02 icowebsrv node[629182]: zdpuB1YDWAcW9Ljq6WFo4HKXoaHRYKXfL1B9H4dMDRttcGzXF +Jul 23 21:40:02 icowebsrv node[629182]: Insert decaGeth +Jul 23 21:40:02 icowebsrv node[629182]: zdpuAwMn2mjAMAq9w2siJzi6wqc1W7rDi1fw61iuJdaUTnji8 +Jul 23 21:40:02 icowebsrv node[629182]: Insert decaCCTS +``` + +Once the service is working properly it is necessary to configure the service subtract to be able to access the data from [deca.eco](https://deca.eco/). + +In the nginx config add the proxy pass + + + +```sh +$ vim /etc/nginx/conf.d/example.com.conf +server { + listen 80 default_server; + listen [::]:80 default_server; + server_name example.com www.example.com; + root /var/www/example.com; + index index.html; + try_files $uri /index.html; + location / { + proxy_pass http://localhost:5000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + } +} +``` + +**Remember to open the port in the firewall** + +**Remember to leave the rest service running in a tmux session and check the port.** + +**Now restart up Nginx!** + + +### Add SSL Certificate + +```sh + $ sudo certbot --nginx -d api.deca.eco +``` + +**It is recommended to redirect all http traffic to https** + +Finally renew the certificate with the following command and restart nginx + +```sh +$ sudo certbot renew --dry-run +$ sudo service nginx restart +``` + +# Information and contacts. + +***Developers*** +- Jose [jose@deca.eco](mailto:jose@deca.eco) \ No newline at end of file diff --git a/index.js b/index.js new file mode 100644 index 0000000..4825682 --- /dev/null +++ b/index.js @@ -0,0 +1,58 @@ +require('dotenv').config() +var helmet = require('helmet'); +const MongoClient = require('mongodb').MongoClient; +const url = "mongodb://" + process.env.USERDB + ":" + encodeURIComponent(process.env.PASSDB) + "@localhost:27017/" + process.env.DBNAME +const express = require("express"); +const app = express(); +const cors = require('cors') + +app.use(express.json()); +app.use(cors({ + origin: 'https://deca.eco', + methods: ['GET'] +})); +app.use(helmet()) + +app.listen(5000, () => { + + app.get('/decaPrice', async function (req, res) { + const dbm = await MongoClient.connect(url, { + useUnifiedTopology: true + }).catch(err => { + console.log(err); + }); + var db = dbm.db("DECAGraphics"); + db.collection("decaPrice").find({}).toArray(function (err, response) { + if (err) throw err; + res.json(response); + }); + }); + + app.get('/decaGeth', async function (req, res) { + const dbm = await MongoClient.connect(url, { + useUnifiedTopology: true + }).catch(err => { + console.log(err); + }); + var db = dbm.db("DECAGraphics"); + db.collection("decaGeth").find({}).toArray(function (err, response) { + if (err) throw err; + res.json(response); + }); + }); + + app.get('/decaCCTS', async function (req, res) { + const dbm = await MongoClient.connect(url, { + useUnifiedTopology: true + }).catch(err => { + console.log(err); + }); + var db = dbm.db("DECAGraphics"); + db.collection("decaCCTS").find({}).toArray(function (err, response) { + if (err) throw err; + res.json(response); + }); + }); + + console.log("El servidor está inicializado en el puerto 5000"); +}); \ No newline at end of file diff --git a/package.json b/package.json index 86aab13..fb65a74 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "scriptgraficas", + "name": "decagraphics", "version": "1.0.0", - "description": "", + "description": "Script to generate and send data to show graphs in deca.eco", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" @@ -15,6 +15,19 @@ "orbit-db": "^0.24.1", "orbit-db-docstore": "^1.9.0", "orbit-db-store": "^3.3.0", - "dotenv": "^8.2.0" - } + "body-parser": "^1.19.0", + "cors": "^2.8.5", + "dotenv": "^8.2.0", + "express": "^4.17.1", + "helmet": "^3.23.3", + "mongodb": "^3.5.9" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@gitlab.com:deca-currency/decagraphics.git" + }, + "bugs": { + "url": "https://gitlab.com/deca-currency/decagraphics/issues" + }, + "homepage": "https://gitlab.com/deca-currency/decagraphics" } diff --git a/pdf/DECAAnalyticsETHPrice.pdf b/pdf/DECAAnalyticsETHPrice.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0b78ae7f75c6cd72df6390fbb38994efd681bb31 GIT binary patch literal 201012 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 { console.log(err); }); - //Flag to save the following data - let dates = 1593553845; - while (true) { - //Get Carbon Credits Data - const data = db.get(''); - //Compare flag and unixtime to add data - if (Math.round(new Date().getTime() / 1000) == dates) { - var dbo = dbm.db("DECA"); - //Get data from functions - let elemsGeth = await getGethElems(dates); - let elemsDECAPrice = await getEth(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 - setTimeout(async function () { - const query1 = db2.query((doc) => doc.dates == dates); - const query2 = db3.query((doc) => doc.dates == dates); - const query3 = db4.query((doc) => doc.dates == dates); - 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); - console.log(hash1); - } - if (query2.length > 0) { - let elemsGeth = await getGethElems(dates); - - const hash2 = await db3.put(elemsGeth); - console.log(hash2); - } - if (query3.length > 0) { - let ccTotalEth = await getEthSum(data, dates); - - const hash3 = await db4.put(ccTotalEth); - console.log(hash3); - } - dates += 60; - }, 10000); - } - } -} - -index(); +const decaContract = new web3.eth.Contract(abi, process.env.CONTRACTADDRS); //Function to save data from web3 and contract (ret TotalSupply, Ethereum, Date) const getGethElems = async (dates) => { let ret = {}; - var balanceEthereum = await web3.eth.getBalance('0xD60DC0805f44d10cAc6594f1a501c67929448957'); + var balanceEthereum = await web3.eth.getBalance(process.env.CONTRACTADDRS); var totalSupply = await decaContract.methods.totalSupply().call(); totalSupply = web3.utils.fromWei(totalSupply, 'ether'); balanceEthereum = web3.utils.fromWei(balanceEthereum, 'ether'); @@ -116,12 +41,81 @@ const getEthSum = async (elemsCC, dates) => { let sumCC = 0; for (let key in elemsCC) { sum += elemsCC[key]['conversionPrice']['ETH']; - } - for (let key in elemsCC) { sumCC += 1; } ret.ccTotal = sumCC; ret.ccTS = sum; ret.dates = dates; return ret; -} \ No newline at end of file +} + +async function index() { + //Open and load orbitdb databases + const orbitdb = await OrbitDB.createInstance(node) + const db = await orbitdb.docs('/orbitdb/zdpuAykPJ4qtBg2toS2vxr5eaPfGEBJmvGerM7V7x8qn5c8hW/decaCCDB', { + indexBy: 'CCID' + }); + await db.load(); + const db2 = await orbitdb.docs('/orbitdb/zdpuB1E3gfmmo17cFD2LEgxsjLzU9pxyW1q1Wde5TNL5QjiJG/decaPrice', { + indexBy: 'dates' + }); + await db2.load(); + const db3 = await orbitdb.docs('/orbitdb/zdpuB3ND1iK3NvYQx939ErZ2WXCaDoz4Lw3hazFUkdVupstBv/decaGeth', { + indexBy: 'dates' + }); + await db3.load(); + const db4 = await orbitdb.docs('/orbitdb/zdpuB2ZiX2QX8Qwwc1EXxo1y944tG6JcBk5UTLHm9b9Nv3Gna/decaCCTS', { + indexBy: 'dates' + }); + await db4.load(); + const dbm = await MongoClient.connect(url, { + useUnifiedTopology: true + }).catch(err => { + console.log(err); + }); + //Flag to save the following data + let dates = 1594230300; + while (true) { + //Compare flag and unixtime to add data + if (Math.round(new Date().getTime() / 1000) == dates) { + var dbo = dbm.db(process.env.DBNAME); + //Get data from functions + const data = db.get(''); + let elemsGeth = await getGethElems(dates); + let elemsDECAPrice = await getEth(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 + const query1 = db2.query((doc) => doc.dates == dates); + const query2 = db3.query((doc) => doc.dates == dates); + const query3 = db4.query((doc) => doc.dates == dates); + 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") + }); + await new Promise(r => setTimeout(r, 180000)); + if (query1.length > 0) { + const hash1 = await db2.put(elemsDECAPrice); + console.log(hash1); + } + if (query2.length > 0) { + const hash2 = await db3.put(elemsGeth); + console.log(hash2); + } + if (query3.length > 0) { + const hash3 = await db4.put(ccTotalEth); + console.log(hash3); + } + dates += 300; + } + } +} + +index(); \ No newline at end of file diff --git a/scriptMainNode.js b/scriptMainNode.js index 78198a5..b6dd66a 100644 --- a/scriptMainNode.js +++ b/scriptMainNode.js @@ -6,7 +6,7 @@ const OrbitDB = require('orbit-db'); //Instance of IPFS locally in IPFS daemon const node = IpfsClient('http://localhost:5001'); const MongoClient = require('mongodb').MongoClient; -const url = "mongodb://accountUser:Asd123456!@localhost:27017/DECA"; +const url = "mongodb://" + process.env.USERDB + ":" + encodeURIComponent(process.env.PASSDB) + "@localhost:27017/" + process.env.DBNAME; //Module for get prices var getEth = require('./getEth'); @@ -18,82 +18,13 @@ const abi = require("./ABI.js"); const Web3 = require('web3'); const web3 = new Web3(new Web3.providers.WebsocketProvider(process.env.INFURAKEY)); -//DECA Contract instance -const decaContract = new web3.eth.Contract(abi, '0xE453a11fC1925605638cC590897498375973D301'); - -async function index() { - //Open and load orbitdb databases - const orbitdb = await OrbitDB.createInstance(node) - const db = await orbitdb.docs('/orbitdb/zdpuAykPJ4qtBg2toS2vxr5eaPfGEBJmvGerM7V7x8qn5c8hW/decaCCDB', { - indexBy: 'CCID' - }); - await db.load(); - const db2 = await orbitdb.docs('decaPrice', { - indexBy: 'dates' - }); - await db2.load(); - const db3 = await orbitdb.docs('decaGeth', { - indexBy: 'dates' - }); - await db3.load(); - const db4 = await orbitdb.docs('decaCCTS', { - indexBy: 'dates' - }); - await db4.load(); - const dbm = await MongoClient.connect(url, { useUnifiedTopology: true }) - .catch(err => { console.log(err); }); - //Flag to save the following data - let dates = 1593552592; - while (true) { - //Compare flag and unixtime to add data - if (Math.round(new Date().getTime() / 1000) == dates) { - dates += 30; - //Get data from functions - var dbo = dbm.db("DECA"); - try{ - let elemsDECAPrice = await getEth(dates); - const hash1 = await db2.put(elemsDECAPrice); - dbo.collection("decaPrice").insertOne(elemsDECAPrice, function(err, res) { - if (err) throw err; - console.log("Insert decaPrice") - }); - console.log(hash1); - }catch{ - console.error("Error in DECA Prices"); - } - try{ - let elemsGeth = await getGethElems(dates); - const hash2 = await db3.put(elemsGeth); - dbo.collection("decaGeth").insertOne(elemsGeth, function(err, res) { - if (err) throw err; - console.log("Insert decaGeth") - }); - console.log(hash2); - }catch{ - console.error("Error in GETH"); - } - 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") - } - } - } -} - -index(); +//DECA Contract instance +const decaContract = new web3.eth.Contract(abi, process.env.CONTRACTADDRS); //Function to save data from web3 and contract (ret TotalSupply, Ethereum, Date) const getGethElems = async (dates) => { let ret = {}; - var balanceEthereum = await web3.eth.getBalance('0xD60DC0805f44d10cAc6594f1a501c67929448957'); + var balanceEthereum = await web3.eth.getBalance(process.env.CONTRACTADDRS); var totalSupply = await decaContract.methods.totalSupply().call(); totalSupply = web3.utils.fromWei(totalSupply, 'ether'); balanceEthereum = web3.utils.fromWei(balanceEthereum, 'ether'); @@ -116,4 +47,81 @@ const getEthSum = async (elemsCC, dates) => { ret.ccTS = sum; ret.dates = dates; return ret; -} \ No newline at end of file +} + +async function index() { + //Open and load orbitdb databases + const orbitdb = await OrbitDB.createInstance(node) + const db = await orbitdb.docs('/orbitdb/zdpuAykPJ4qtBg2toS2vxr5eaPfGEBJmvGerM7V7x8qn5c8hW/decaCCDB', { + indexBy: 'CCID' + }); + await db.load(); + const db2 = await orbitdb.docs('/orbitdb/zdpuB1E3gfmmo17cFD2LEgxsjLzU9pxyW1q1Wde5TNL5QjiJG/decaPrice', { + indexBy: 'dates' + }); + await db2.load(); + const db3 = await orbitdb.docs('/orbitdb/zdpuB3ND1iK3NvYQx939ErZ2WXCaDoz4Lw3hazFUkdVupstBv/decaGeth', { + indexBy: 'dates' + }); + await db3.load(); + const db4 = await orbitdb.docs('/orbitdb/zdpuB2ZiX2QX8Qwwc1EXxo1y944tG6JcBk5UTLHm9b9Nv3Gna/decaCCTS', { + indexBy: 'dates' + }); + await db4.load(); + const dbm = await MongoClient.connect(url, { + useUnifiedTopology: true + }) + .catch(err => { + console.log(err); + }); + //Flag to save the following data + let dates = 1595524800; + while (true) { + //Compare flag and unixtime to add data + if (Math.round(new Date().getTime() / 1000) == dates) { + dates += 300; + //Get data from functions + var dbo = dbm.db(process.env.DBNAME); + try { + let elemsDECAPrice = await getEth(dates); + const hash1 = await db2.put(elemsDECAPrice); + dbo.collection("decaPrice").insertOne(elemsDECAPrice, function (err, res) { + if (err) throw err; + console.log("Insert decaPrice") + }); + console.log(hash1); + } catch (error) { + console.log(error); + console.error("Error in DECA Prices"); + } + try { + let elemsGeth = await getGethElems(dates); + console.log(elemsGeth) + const hash2 = await db3.put(elemsGeth); + dbo.collection("decaGeth").insertOne(elemsGeth, function (err, res) { + if (err) throw err; + console.log("Insert decaGeth") + }); + console.log(hash2); + } catch (error) { + console.log(error); + console.error("Error in GETH"); + } + 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 (error) { + console.log(error); + console.error("Error in CCDB") + } + } + } +} + +index(); \ No newline at end of file diff --git a/services/decaGraphicsChild.service b/services/decaGraphicsChild.service new file mode 100644 index 0000000..8c7bb60 --- /dev/null +++ b/services/decaGraphicsChild.service @@ -0,0 +1,12 @@ +[Unit] +Description=Deca Graphics Updater + +[Service] +WorkingDirectory=/home/nodemaster/decagraphics/ +ExecStart=/usr/local/bin/node /home/nodemaster/decagraphics/scriptChildNode.js +User=nodemaster +Restart=always +LimitNOFILE=10240 + +[Install] +WantedBy=multi-user.target diff --git a/services/decaGraphicsMain.service b/services/decaGraphicsMain.service new file mode 100644 index 0000000..d4b59e0 --- /dev/null +++ b/services/decaGraphicsMain.service @@ -0,0 +1,12 @@ +[Unit] +Description=Deca Graphics Updater + +[Service] +WorkingDirectory=/home/nodemaster/decagraphics/ +ExecStart=/usr/local/bin/node /home/nodemaster/decagraphics/scriptMainNode.js +User=nodemaster +Restart=always +LimitNOFILE=10240 + +[Install] +WantedBy=multi-user.target