Advertisement
Guest User

Untitled

a guest
Feb 11th, 2018
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. updateOrCreateConfig(username, password){
  2.     const directory = process.platform === "win32" ? `${homedir}/appdata/roaming/eccoin` : `${homedir}/.eccoin`;
  3.     const filePath = process.platform === "win32" ? `${homedir}/appdata/roaming/eccoin/eccoin.conf` : `${homedir}/.eccoin/eccoin.conf`;
  4.     return new Promise((resolve, reject) => {
  5.       fs.exists(filePath, (exists) => {
  6.         if(!exists){
  7.            //create
  8.            const toWrite = "maxconnections=100" + os.EOL + "rpcuser=" + username + os.EOL + "rpcpassword=" + password + os.EOL + "addnode=www.cryptounited.io" + os.EOL + "rpcport=19119" + os.EOL + "rpcconnect=127.0.0.1" + os.EOL + "staking=0" + os.EOL + "zapwallettxes=0";
  9.            fsPath.writeFile(filePath, toWrite, 'utf8', (err) => {
  10.                 if (err) {
  11.                   console.log(err)
  12.                   resolve(false);
  13.                   return;
  14.                 }
  15.                 resolve(true);
  16.             });
  17.         }
  18.         else{
  19.           fs.readFile(filePath, 'utf8', (err, data) => {
  20.             if (err) {
  21.                console.log("readFile error: ", err);
  22.                resolve(false);
  23.                return;
  24.             }
  25.             var patt = /(rpcuser=(.*))/g
  26.             var myArray = patt.exec(data);
  27.             var result = data;;
  28.             if(myArray && myArray.length > 2)
  29.             {
  30.               result = result.replace('rpcuser='+myArray[2], 'rpcuser='+username);
  31.             }
  32.             else{
  33.               result += `${os.EOL}rpcuser=${username}`;
  34.             }
  35.  
  36.             patt = /(rpcpassword=(.*))/g
  37.             myArray = patt.exec(data);
  38.             if(myArray && myArray.length > 2)
  39.             {
  40.               result = result.replace('rpcpassword='+myArray[2], 'rpcpassword='+password);
  41.             }
  42.             else{
  43.               result += `${os.EOL}rpcpassword=${password}`;
  44.             }
  45.  
  46.             fs.writeFile(filePath, result, 'utf8', (err) => {
  47.               if(!err)
  48.                 resolve(true);
  49.               else resolve(false);
  50.             });
  51.           });
  52.         }
  53.       });
  54.     });
  55.   },
  56.  
  57.   readRpcCredentials(){
  58.     const directory = process.platform === "win32" ? `${homedir}/appdata/roaming/eccoin` : `${homedir}/.eccoin`;
  59.     const filePath = process.platform === "win32" ? `${homedir}/appdata/roaming/eccoin/eccoin.conf` : `${homedir}/.eccoin/eccoin.conf`;
  60.     var toReturn = null;
  61.     return new Promise((resolve, reject) => {
  62.       fs.exists(filePath, (exists) => {
  63.         if(!exists){
  64.            resolve(toReturn);
  65.            return;
  66.         }
  67.         fs.readFile(filePath, 'utf8', (err, data) => {
  68.           if (err) {
  69.             console.log("readFile error: ", err);
  70.             resolve(toReturn);
  71.             return;
  72.           }
  73.           toReturn = {
  74.             username: "",
  75.             password: ""
  76.           }
  77.           var patt = /(rpcuser=(.*))/g
  78.           var myArray = patt.exec(data);
  79.           if(myArray && myArray.length > 2)
  80.           {
  81.             toReturn.username = myArray[2];
  82.           }
  83.  
  84.           patt = /(rpcpassword=(.*))/g
  85.           myArray = patt.exec(data);
  86.           if(myArray && myArray.length > 2)
  87.           {
  88.             toReturn.password = myArray[2];
  89.           }
  90.           resolve(toReturn);
  91.         });
  92.       })
  93.     });
  94.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement