Method for setting up Kredits

This commit is contained in:
galfert 2021-01-07 22:19:54 +01:00
parent 7626c6c1b2
commit 59d991d0a6
3 changed files with 2456 additions and 1 deletions

View File

@ -2,6 +2,19 @@ require('dotenv').config()
const GiteaReviews = require('./lib/gitea-reviews');
const GithubReviews = require('./lib/github-reviews');
const ethers = require('ethers');
const Kredits = require('kredits-contracts');
const util = require('util');
const providerUrl = process.env.KREDITS_PROVIDER_URL;
const daoAddress = process.env.KREDITS_DAO_ADDRESS;
const ipfsConfig = {
host: process.env.IPFS_API_HOST || 'localhost',
port: process.env.IPFS_API_PORT || '5001',
protocol: process.env.IPFS_API_PROTOCOL || 'http'
};
const kreditsAmounts = {
'kredits-1': 100,
'kredits-2': 300,
@ -26,3 +39,35 @@ async function getAllReviews(repos, startDate, endDate) {
});
}
async function initializeKredits () {
//
// Ethereum provider/node setup
//
let ethProvider;
if (providerUrl) {
ethProvider = new ethers.providers.JsonRpcProvider(providerUrl);
} else {
ethProvider = new ethers.getDefaultProvider('rinkeby');
}
//
// Kredits contracts setup
//
const opts = { ipfsConfig };
if (daoAddress) {
opts.addresses = { Kernel: daoAddress };
}
let kredits;
try {
kredits = await new Kredits(ethProvider, null, opts).init();
} catch(error) {
console.log('Could not set up kredits:', error);
process.exit(1);
}
return kredits;
}

2408
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -10,6 +10,8 @@
"license": "ISC",
"dependencies": {
"axios": "^0.21.1",
"dotenv": "^8.2.0"
"dotenv": "^8.2.0",
"ethers": "^5.0.24",
"kredits-contracts": "^6.0.0"
}
}