Optimizing NoSQL Performance Through Observability
Solidity Tutorials- Function call in solidity
1. + 9 1 9 5 0 1 7 0 7 7 4 1 T U T O R I A L S D I A R Y
S O L I D I T Y
F U N C T I O N C A L L S
2. + 9 1 9 5 0 1 7 0 7 7 4 1 T U T O R I A L S D I A R Y
confidential @Tutorials Diary | www.tutorialsdiary.com
How we can do ?
How a function in
another contract can
be called ?
3. + 9 1 9 5 0 1 7 0 7 7 4 1 T U T O R I A L S D I A R Y
confidential @Tutorials Diary | www.tutorialsdiary.com
Function Calls
There are mainly three ways to call function between contracts.
contractA = contractA(address)
contractA = new contractA()
require(_add.call(bytes4(keccak256("f(datatype)")),value));
4. + 9 1 9 5 0 1 7 0 7 7 4 1 T U T O R I A L S D I A R Y
confidential @Tutorials Diary | www.tutorialsdiary.com
Function Calls
contractA = new contractA()
pragma solidity ^ 0.4.20;
contract member{
uint age;
function setAge(uint _age){ age=_age; }
function getAge() public returns(uint){ return age; }
}
contract teacher{
function set() public{
member m=new member();
m.setAge(12);
}
}
5. + 9 1 9 5 0 1 7 0 7 7 4 1 T U T O R I A L S D I A R Y
confidential @Tutorials Diary | www.tutorialsdiary.com
Function Calls
contractA = contractA(address)
pragma solidity ^ 0.4.20;
contract member{
uint age;
function setAge(uint _age){ age=_age; }
function getAge() public returns(uint){ return age; }
}
contract teacher{
function set(address _add) public{
member m1=member(_add);
m1.setAge(14);
}
}
6. + 9 1 9 5 0 1 7 0 7 7 4 1 T U T O R I A L S D I A R Y
confidential @Tutorials Diary | www.tutorialsdiary.com
Function Calls
require(_add.call(bytes4(keccak256("f(datatype)")),value));
pragma solidity ^ 0.4.20;
contract member{
uint age;
function setAge(uint _age){ age=_age; }
function getAge() public returns(uint){ return age; }
}
contract teacher{
function set(address _add)public{
require(_add.call(bytes4(keccak256("setAge(uint256)")),12));
}
}