본문 바로가기

Blockchain3

[Solidity] 다른 contract 와 상호작용하기 contract 내부에서 블록체인 안에서 내가 소유하고 있지않은 다른 contract 와 상호작용(함수 호출 등)하는 방법 먼저 사용하고자 하는 contract 의 interface 를 정의해야 한다. contract NumberInterface { function getNum(address _myAddress) public view returns (uint); } 위와 같이 getNum 함수의 body(구현부)가 없다. 함수 마지막 (; 세미콜론)으로 바로 끝낸다. contract MyContract { address NumberInterfaceAddress = 0xab38... // ^ The address of the FavoriteNumber contract on Ethereum NumberInt.. 2022. 12. 9.
[Solidity] internal vs private, external vs public internal contract의 해당 내용을 비공개 한다는 의미이다. contract 의 내부에서만 사용한다는 의미이다. stage variable 은 기본이 internal 이다. 상속받은 contract 에서 사용할 수 있다.(protected 와 비슷) private contract의 해당 내용을 비공개 한다는 의미이다. contract 의 내부에서만 사용한다는 의미이다. 상속받은 contract 에서 사용할 수 없다. external contract 의 interface 로 외부 공개 contract 의 외부에서 사용한다는 의미이다. state variable 은 external 이 될 수 없다. contract 내부에서 사용하려면 this 키워들를 이용해야 한다. contract MyExamp.. 2022. 12. 9.
[Solidity] view 와 pure view storage state 를 읽을 수 있다. storage state 값을 변경할 수 없다. contract MyExample { uint myValue = 123; // storage state function testfunc() public view returns(uint) { uint newValue = myValue + 1; return newValue; } } pure storage state 를 읽을 수 없다. storage state 를 변경할 수 없다. contract MyExample { uint myValue = 123; // storage state function testfunc() public pure returns(uint) { //uint newValue = myVal.. 2022. 12. 8.