๐ญ ์๋ก
์๋ฆฌ๋ํฐ๋ฅผ ์ฐ๋จน ํด๋ณด๋ ๊ณผ์ ์์ string ์๋ฃํ ์์ ๊ผญ memory๊ฐ ๋ถ๋๋จ๊ฑธ ์ ์ ์์๋ค. ๋ฌด์จ ์๋ฏธ์ธ์ง ์์ ์๊ฐ์๋ ๊ฐ๋จํ๋ง ์๋ ค์ฃผ์ ์ ๊ทธ๋ฅ "์คํธ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ผญ ๋ถ์ฌ์ผ ํ๋๊ตฐ" ์ ๋๋ก ์ธ์ ์ฐ๊ธฐ๋ง ํ๋ค. ํ๋ฆฐ๋ง์ ์๋์ง๋ง ๋ณ์, ํจ์, ํ๋ผ๋ฏธํฐ ๋ฑ ๋ฐ์ดํฐ๊ฐ ๋ด๊ธฐ๋ ์ ์ฅ์์ญ์ด ๋ค ๊ฐ์ง๊ฐ ์๋จ ๊ฑธ ์๊ฒ ๋์๊ณ ๋ถ์ด๋ ์ด์ ๋ฅผ ์๊ธฐ ์ํด ์ ๋ฆฌํด๋ณด๊ธฐ๋ก ํ๋ค.

์ ์ฝ๋๋ ๋จ์ name์ด๋ ๋ณ์๋ฅผ ๋ฆฌํดํด์ฃผ๋ ์ปจํธ๋ํธ์ด๋ค.
์๋ฆฌ๋ํฐ๋ ํจ์์ ๋ฆฌํด๊ฐ์ด ์์ ๋ ํจ์ ๋์ returns (์๋ฃํ)์ ์ ์ํด์ฃผ์ด์ผ ํ๋๋ฐ ์ฌ์ง์์ ๋ณด์ด๋ฏ string์ memory๋ฅผ ๋ถ์ฌ์ค์ผ ํ๋ค.
์ฐ์ , ์๋ฆฌ๋ํฐ์์๋ string ์๋ฃํ์ด ํ๋ผ๋ฏธํฐ๋ก ์ ๋ ฅ๋๊ฑฐ๋, string ์๋ฃํ์ ํจ์ ๋ด์์ ์ฐ๋ ค๋ฉด memory๋ฅผ ๋ถ์ด๋ ๊ฑธ ๊ฐ์ ํ๋ค.
memoery ์ต์ ์ ๋ถ์ธ ๊ฒ์ ํด๋น ๋ณ์ ๋ฐ์ดํฐ๋ฅผ memory์ ์ ์ฅํ๋ค๋ ๋ป์ผ๋ก storage ํน์ ์ด๋๋ฆฌ์ ๋ธ๋ก์ ํฌํจ์ํค์ง ์๊ฒ ๋ค๋ ๋ป์ด๋ค. ์ด ๋ง์ ์ฆ, memory๋ ํ๋ฐ์ฑ ์ ์ฅ์๋ก ํจ์ ํธ์ถ ๋์๋ง ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๊ธฐ ์์ํ์ง๋ง, ๋ก์ง์ด ์ข ๋ฃ๋๋ฉด ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ์ฌ๋ผ์ง๋ค.
์๋ฆฌ๋ํฐ์ ๋ฐ์ดํฐ ์ ์ฅ ์์ญ ์ข ๋ฅ์๋ storage, memory, Calldata, stack ๋ค ๊ฐ์ง ์ข ๋ฅ๊ฐ ์๋๋ฐ,
์๋ฆฌ๋ํฐ์์๋ '๊ฐ์ค๋น'๋ฅผ ์๊ฐํด์ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋ค. memoery ์ต์ ์ storage๋ณด๋ค ๊ฐ์ค๋น๊ฐ ์ ๋ ดํ๊ธฐ๋ ํ๋ค.
๐ ๋ฐ์ดํฐ ์ ์ฅ ์์ญ
storage
- ๋๋ถ๋ถ์ ๋ณ์, ํจ์๋ค์ด ์ ์ฅ๋๋ ๊ณต๊ฐ์ผ๋ก ์์ํ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ๊ฐ์ค๋น๊ฐ ๋น์ธ๋ค.
- ๋ธ๋ก์ฒด์ธ ๋ธ๋ก์ ์ ์ฅ๋๋ค.
memory
- ํจ์์ ํ๋ผ๋ฏธํฐ, ๋ฆฌํด๊ฐ, ๋ ํผ๋ฐ์ค ํ์ (์ฐธ์กฐํ: ํด๋์ค, ์ธํฐํ์ด์ค, ๋ฐฐ์ด)์ด ์ฃผ๋ก ์ ์ฅ๋๋ค.
- storage ์ฒ๋ผ ์์์ ์ด์ง ์๊ณ ํจ์๊ฐ ํธ์ถ๋ ๋์๋ง ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ storage๋ณด๋ค ๊ฐ์ค๋น๊ฐ ์ ๋ ดํ๋ค.
- ํจ์๊ฐ ํธ์ถ๋ ๋์๋ง ์คํ๋๊ณ ํจ์ ์คํ ์ข ๋ฃ์ ์ญ์ ๋๋ค.
- ์์์ ์ด์ง ์์ ํ๋ฐ์ฑ ์ ์ฅ์์ด๊ธฐ ๋๋ฌธ์ ์ปจํธ๋ํธ ๊ตฌํ์ ๊ผญ ํ์ํ ๋ฐ์ดํฐ๋ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ฉด ์ ๋๊ณ , ํจ์ ์คํ์๋ง ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ ์ ์ฅํด๋์๋ค๊ฐ ์ฌ์ฉํด์ผ ํจ
Colldata
- ํธ๋์ญ์ ๋๋ callํจ์์ ๋งค๊ฐ๋ณ์๊ฐ ์ ์ง๋๋ ์
- calldata๋ก ๋ฐ๊ฒ ๋๋ค๋ฉด ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๊ณ ์ฝ๊ธฐ๋ง ๊ฐ๋ฅํ๋ค.
- ์ฝ๊ธฐ ์ ์ฉ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ค๋น๊ฐ ์ ๋ ดํ๋ค.
- calldata ์์ญ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ ๋ณํ์ง ์์ผ๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ํจ์ ๋ด๋ถ์์ ์ฝ๊ธฐ๋ง ํ ๋ ์ฌ์ฉ๋๋ค. (๋ถ๋ก์ฒด์ธ ์์์๋ ์ ์ฅ๋์ง ์์)
- calldata ์์ญ์ ํฌ๊ธฐ๋ ์ปดํ์ผํ ๋ ๊ฒฐ์ ๋๋ฉฐ, ํจ์ ํธ์ถ์ด ๋๋ ๋ ์๋์ผ๋ก ์ญ์ ๋๋ค. ๋ฐ๋ผ์ ํจ์ ์คํ์ด ์์๋ ์ดํ์๋ ํด๋น ์ธ์๋ค์ ์ ๊ทผํ ์ ์์
stack
- EVM(Ethereum Virtual Machine ์ด๋๋ฆฌ์ ๊ฐ์ ๋จธ์ )์์ ๋ชจ๋ ๊ณ์ฐ์ stack ์์ญ์์ ์คํ๋๋ค.
- ํ๋ฐ์ฑ์ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์ ์ง ๋ฐ ๊ด๋ฆฌํ๋ ๊ณต๊ฐ
์ฐธ๊ณ
'Dev > +@' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฌ์ฉ์ ๊ด์ ์ UI ๊ตฌ์ฑํ๊ธฐ (0) | 2023.09.05 |
---|---|
HTML, CSS๋ก ํ ๊ธ ๋ฒํผ ๋ง๋ค๊ธฐ (0) | 2023.06.09 |
๋๊ธ