3

I'm writing in Solidity using testrpc and truffle.

I wish to test my functions by altering my current address imitate other addresses.

This is what I have tried so far:

function getCurrAddress() constant returns(address currAddr){
    currAddr = msg.sender;
    return currAddr;
}

var accounts = web3.eth.accounts
contract.getCurrAddress() results in  = '0x53a1962e8844b2c9f1eed6e85e4d2026126ade0e'

web3.eth.defaultAccount = accounts[1]
      == '0xab6fa1d299e3b7d67fffd0829341534684d46560'

contract.getCurrAddress() results in  = '0x53a1962e8844b2c9f1eed6e85e4d2026126ade0e'

Is there a way I can change my current address as defaultAccount doesn't seem to be doing the job?

2

You can just put your preferred address in the from field of the call.

i.e.

contract.getCurrAddress.call({from:"myAddress"});
  • Thanks Tjaden Hess! I had actually just read another question about this and it said from:"..." but i didn't know you could specify it in a method. Thanks again. – O. Privacy Jan 25 '17 at 21:06
  • 2
    To call a method that requires parameters: contract.function.call(parameters,{from:'myAddress'}) – O. Privacy Jan 25 '17 at 21:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.