Skip to content
Snippets Groups Projects
Commit 2bfbe2c7 authored by Robert Martin-Legene's avatar Robert Martin-Legene
Browse files

Arreglando MasterDistiller

parent 0d8f5afa
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/node
"use strict"
const Libbfa = require( process.env.BFAHOME + '/bin/libbfa.js');
const rl = require('readline').createInterface(
{ input: process.stdin, output: process.stdout }
......@@ -25,6 +27,8 @@ function init()
bfa = new Libbfa();
web3 = bfa.newweb3();
Distillery = bfa.contract( web3, 'Distillery' );
if ( undefined == Distillery )
fatal('Can not initialise Distillery contact.');
web3.eth.getBalance( Distillery.contractaddress ).then(
function receivedOwnBalance(val) {
Distillery.contractbalance = val;
......@@ -128,7 +132,7 @@ function editAccount( entry, pallet )
if ( entry == "x" )
{
// trigger distribution
Distillery.methods.distribute().send( {"from": bfa.account, "gas": 1000000 } )
Distillery.methods.distribute().send( {"from": bfa.account, "gas": 4000000 } )
.then(
function distOK(x) {
console.log(
......@@ -155,7 +159,15 @@ function editAccount( entry, pallet )
return;
}
else
if ( entry == "" )
{
// Do nothing, basically just update the display
return;
}
else
{
bfa.fatal("I don't know what to do with \""+entry+"\"." );
}
rl.question(
"Adjust the "
+ notation[2]
......
// 20180724 Robert Martin-Legene <robert@nic.ar>
"use strict"
module.exports = class Libbfa
{
constructor() {
this.fs = require('fs');
this.Web3 = require('web3');
this.fs = require('fs');
this.Web3 = require('web3');
//
// BFAHOME
if ( undefined == process.env.BFAHOME )
fatal( "$BFAHOME not set. Did you source bfa/bin/env ?" );
// BFANETWORKID
this.home = process.env.BFAHOME;
if ( undefined == process.env.BFANETWORKID )
process.env.BFANETWORKID= 47525974938;
process.env.BFANETWORKID = 47525974938;
this.networkid = process.env.BFANETWORKID;
// BFANETWORKDIR
if ( undefined == process.env.BFANETWORKDIR )
process.env.BFANETWORKDIR = process.env.BFAHOME + '/network';
process.env.BFANETWORKDIR = process.env.BFAHOME + '/network';
this.networkdir = process.env.BFANETWORKDIR;
// BFANODEDIR
if ( undefined == process.env.BFANODEDIR )
process.env.BFANODEDIR = this.networkdir + "/node";
process.env.BFANODEDIR = this.networkdir + "/node";
this.nodedir = process.env.BFANODEDIR;
// ACCOUNT
if ( undefined == process.env.BFAACCOUNT )
{
var files = new Array();
this.fs.readdirSync( process.env.BFANODEDIR + '/keystore' ).forEach( function(filename) {
if ( filename.includes('--') )
files.push( filename );
});
if ( this.fs.existsSync( process.env.BFANODEDIR + '/keystore' ) )
{
this.fs.readdirSync( process.env.BFANODEDIR + '/keystore' ).forEach( function(filename) {
if ( filename.includes('--') )
files.push( filename );
});
}
// found none?
if ( files.length == 0 )
fatal( "Found no accounts in your keystore." );
files.sort();
process.env.BFAACCOUNT = '0x' + files[0].replace( /^.*--/, '' );
if ( files.length > 0 )
{
files.sort();
process.env.BFAACCOUNT = '0x' + files[0].replace( /^.*--/, '' );
}
}
//
this.home = process.env.BFAHOME;
this.networkid = process.env.BFANETWORKID;
this.networkdir = process.env.BFANETWORKDIR;
this.nodedir = process.env.BFANODEDIR;
this.netport = Number.parseInt( this.setfromfile( this.nodedir+'/netport', 30303 );
this.rpcport = Number.parseInt( this.setfromfile( this.nodedir+'/rpcport', 8545 );
this.account = process.env.BFAACCOUNT;
this.netport = Number.parseInt( this.setfromfile( this.nodedir+'/netport', 30303 ));
this.rpcport = Number.parseInt( this.setfromfile( this.nodedir+'/rpcport', 8545 ));
this.account = process.env.BFAACCOUNT;
}
contract(w3, name)
{
this._networkdir();
var contractdir = [ this.networkdir, 'contracts', name ].join('/');
var contractaddress = this.fs.realpathSync( contractdir ).replace(/^.*\//, '');
var contractdir = [ this.networkdir, 'contracts', name ].join('/');
if ( ! this.fs.existsSync( contractdir ) )
return;
var contractaddress = this.fs.realpathSync( contractdir ).replace(/^.*\//, '');
if ( undefined == contractaddress )
return;
var abistr = this.fs.readFileSync( contractdir + '/abi' ).toString();
var abistr = this.fs.readFileSync( contractdir + '/abi' ).toString();
if ( undefined == abistr )
return;
var abi = JSON.parse( abistr );
var abi = JSON.parse( abistr );
if ( undefined == abi )
return;
var c = new w3.eth.Contract( abi, contractaddress );
c.abi = abi;
c.contractaddress = contractaddress;
var c = new w3.eth.Contract( abi, contractaddress );
c.abi = abi;
c.contractaddress = contractaddress;
return c;
}
......@@ -69,9 +76,8 @@ module.exports = class Libbfa
newweb3()
{
this._nodedir();
var provider = 'http://127.0.0.1:' + this.rpcport;
var w3 = new this.Web3( provider );
var provider = 'http://127.0.0.1:' + this.rpcport;
var w3 = new this.Web3( provider );
w3.eth.extend({
//property: 'bfaclique',
methods: [{
......@@ -80,6 +86,9 @@ module.exports = class Libbfa
params: 0
}]
});
if ( undefined != process.env.BFAACCOUNT ) {
w3.eth.defaultAccount = this.account;
}
return w3;
}
isNumeric(n) {
......@@ -92,7 +101,7 @@ module.exports = class Libbfa
setfromfile( filename, defval )
{
if ( this.fs.statSync( filename ).isFile() )
if ( this.fs.existsSync( filename ) )
return this.fs.readFileSync( filename );
return defval;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment