energywebfoundation / ewc-system-tests

System level tests for EnergyWebChain
http://energyweb.org/
GNU General Public License v3.0
1 stars 2 forks source link

NodeControl not updating #17

Closed danzipie closed 5 years ago

danzipie commented 5 years ago

I send a transaction which data is the output of this script:

var validator='0xEBEe2FC556975c3Dd50c17D13a15Af535FB7bbb3'
var PARITY_CHKSUM='sha256:5aa1a31ac21511acc7fdd34e3f5d010340fcb14bb7c325c1f9435dd219429bab';
var PARITY_VERSION='parity/parity:v2.3.9'
var CHAINSPEC_CHKSUM="bc4706b7e2bdf0ad49064204c1178f8ca67697064e67367184c4159f0a40105f  config/chainspec.json"
var CHAINSPEC_URL="https://raw.githubusercontent.com/energywebfoundation/ewf-chainspec/327a7c653555f423391841b57572b4e4d8cbedf3/Volta.json"

var abi = require('ethereumjs-abi')

var parameterTypes = ["address", "bytes", "string","bytes","string","bool"];
var parameterValues = [validator,PARITY_CHKSUM,PARITY_VERSION,CHAINSPEC_CHKSUM,CHAINSPEC_URL, true];
var encoded = abi.rawEncode(parameterTypes, parameterValues);
console.log(encoded.toString('hex'));

the transaction is mined.

Expected behaviour the validator observes the event and takes action.

observed behaviour

nodecontrol_1  | Checking On-Chain for updates.
nodecontrol_1  | No updates found.

It is needed to clarify how to use NodeControl.

junaidev commented 5 years ago

If you are testing via raw Tx, first encode updateValidator function params and function signature. Then encode multisig submitTransaction params and function signature, use updateValidator call encoded values in its data part. create raw Tx sign and use that. After that encode confirmTransaction param and sig and create Tx from another multisig owner. That will trigger updateValidator.

danzipie commented 5 years ago

probably solved with the latest version of nodecontrol (v0.9.17). I will eventually create a new issue.