๐ก์๋ฆฌ๋ํฐ์์ Event
์ด๋ฒคํธ๋ ๋ธ๋ก์ฒด์ธ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ธ๋ก์ฒด์ธ์ ๋ก๊ทธ๋ก ์ ์ฅ๋๋ฉฐ, ์ธ๋ถ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด ๋ก๊ทธ๋ฅผ ๊ฐ์งํ์ฌ ํน์ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ํ ํฐ ์ ์ก์ด ๋ฐ์ํ ๋๋ง๋ค ์ด๋ฒคํธ๋ฅผ ๋ฐ์์์ผ ์ธ๋ถ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ฅผ ๊ฐ์งํ๊ณ ์ฌ์ฉ์์๊ฒ ์๋ฆผ์ ๋ณด๋ผ ์ ์์ต๋๋ค.
๐กreceive์ fallback
์ด๋๋ฅผ ์์ ํ ๋ ํธ์ถ๋๋ ํน๋ณํ ํจ์๋ค์ ๋๋ค.
- receive: ๊ธฐ๋ณธ ์ด๋ ์์ ํจ์, ๋จ์ํ ์ด๋ ์์ ์ ์ฒ๋ฆฌํจ.
- fallback: ํธ์ถ๋ ํจ์๊ฐ ์์ ๋ ์คํ, ์ด๋ ์์ ๋ฐ ํจ์ ํธ์ถ ์คํจ ์ ์๋ํ๋ค.
๐กcall์ delegate call
- call: ๋ค๋ฅธ ์ปจํธ๋ํธ์ ํจ์ ํธ์ถ
(bool success, ) = otherContract.call{value: msg.value}("");
require(success, "Call failed");
- delegatecall: ํธ์ถ๋ ์ปจํธ๋ํธ์ ์ปจํ ์คํธ๋ฅผ ํธ์ถ์ ์ปจํธ๋ํธ์ ์ ์ฉ
(bool success, ) = otherContract.delegatecall(abi.encodeWithSignature("someFunction()"));
require(success, "Delegatecall failed");
'web3 ๊ณต๋ถ (24.7. 15 ~ ) > 3์ฃผ์ฐจ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
3์ฃผ์ฐจ - ์๋ฆฌ๋ํฐ ๋จ์,์ ์ฅ์์ญ, ์ ๊ทผ์ ํ์ 4๊ฐ,์กฐ๊ฑด๋ฌธ (0) | 2024.08.03 |
---|---|
3์ฃผ์ฐจ - ์๋ฆฌ๋ํฐ ์์, ๋ณ์์ ์ธ, ์๋ฃํ(mapping, array, ๊ตฌ์กฐ์ฒด๋ฑ) (0) | 2024.08.03 |