@derin-n/provablyfair
Version:
A provably fair algorithm
64 lines (39 loc) • 1.78 kB
JavaScript
const fs = require('fs');
const seededFair = require('./seededprovablyfair');
//check if first command line argument is "random"
if (process.argv.length == 3 && process.argv[2] == "seed") {
//generate random seed
seededFair.generateRandomSeed(function (resultSeed) {
console.log(resultSeed);
//create a line to write to the file
let seedLine = "seed: " + resultSeed + "\n";
//save the seed to the seeds.txt file
fs.appendFile('seeds.txt', seedLine, 'utf8', function (err) {
if (err)
return console.log(err);
console.log("saved the seed to seeds.txt");
});
});
}
//check if the argument is "games" if so generate games as many as the fourth argument, fifth argument will be a predetermined seed, ideally generated by the function above
else if (process.argv.length == 5 && process.argv[2] == "games" && !(isNaN(process.argv[3]))) {
seededFair.generateChainSeeds(process.argv[4], process.argv[3], function (counter) {
fs.writeFile('games.json', JSON.stringify(counter), 'utf8', function (err) {
if (err)
return console.log(err);
console.log("saved the games to games.json");
});
});
}
//convert games.json into results.json, fourth argument is host seed
else if (process.argv.length == 4 && process.argv[2] == "results") {
fs.readFile('games.json', function(err, data){
if(err) throw err;
let loadedGames = JSON.parse(data);
for(let i = 0; i <= loadedGames['total']; i++){
seededFair.generateResult(process.argv[3], loadedGames[i].gameSeed, function (result) {
console.log(result);
});
}
});
}