2020.코딩일지
[solidity] event/indexed/super (feat.솔리디티깨부수기) 본문
728x90
1. event
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
//인덱스는 이벤트의 키워드이다. 여러개의 이벤트중 "특정한 이벤트의 값을 찝어 올때" 사용.
contract lec11 {
event numberTracker(uint256 num, string str);
event numberTracker2(uint256 indexed num, string str);
uint256 num = 0;
function PushEvent(string memory _str) public {
emit numberTracker(num, _str);
emit numberTracker2(num, _str);
num++;
}
}
2. indexed
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract lec10 {
event info(string name, uint256 money);
function sendMoney() public {
emit info("anne", 1000); //log에서 확인가능(블록에저장되어 불변하고 언제든 꺼내어 쓸 수 있다)
}
}
3. super
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract Father {
event FatherName(string name);
function who() public virtual{
emit FatherName("fafa");
emit FatherName("nanacat");
emit FatherName("vivid");
}
}
contract Son is Father {
event sonName(string name);
function who() public override{
super.who(); //Father쪽에 emit이 엄청엄청 많을때! super를 사용한다
//emit FatherName("fafa");
emit sonName("jason");
}
}
'Block Chain' 카테고리의 다른 글
[solidity] struct구조체 (feat.솔리디티깨부수기) (0) | 2022.11.30 |
---|---|
[solidity] mapping/array (feat.솔리디티깨부수기) (11) | 2022.11.29 |
[solidity] instance(분신)-constructor/상속/overriding (feat.솔리디티깨부수기) (0) | 2022.11.28 |
[solidity] 저장영역4가지 (feat.솔리디티깨부수기) (0) | 2022.11.28 |
[solidity] 가시성지정자(public,external,private,internal)/view pure (feat.솔리디티깨부수기) (0) | 2022.11.28 |
Comments