I'm trying to return sender address and value in truffle under private blockchain. When function is called from truffle console I'm not getting proper msg.sender address.
Contract code
pragma solidity ^0.4.13;
contract Sample {
mapping (address => uint) Id;
event log(address sender, uint value);
function getSender() payable returns (uint,address) {
Id[msg.sender] = msg.value;
log(msg.sender,msg.value);
return (Id[msg.sender],msg.sender);
}
}
Truffle console function code
Sample.deployed().then(function(i) {i.getSender(web3.eth.coinbase,2,{from : web3.eth.coinbase, value : web3.toWei(1, "ether")}).then(function(f) {console.log(f)})});
Sample.deployed().then(function(i) {i.getSender.call(web3.eth.coinbase,2,{from : web3.eth.coinbase, value : web3.toWei(1, "ether")}).then(function(f) {console.log(f)})});
Output
truffle(development)> [ BigNumber { s: 1, e: 0, c: [ 0 ] }, '0x' ]
This contracts fine in remix.