Courses
Reviews
- ERC20 Breaking (+ truffle, frontend)
- Breaking Solidity
- Anyone can create NFTs
Posts
Q&A
์ปดํ์ผ ๋ฐ ๋ฐฐํฌ
ํน์ "powershell" ์ด ์๋ "๋ช ๋ นํ๋กฌํํธ"๋ก ํ๋ฒ ์๋ ํด๋ณด์๊ฒ ์ด์???
- 0
- 4
- 76
Q&A
์ปดํ์ผ ๋ฐ ๋ฐฐํฌ
์๋ ํ์ธ์ ๐ ํน์ node.js ๋ฒ์ ์ ์ ์ ์์๊น์? ๋ช ๋ นํ๋กฌํํธ ๊ฐ์ ์ node -v๋ฅผ ํ์๋ฉด ํ์ฌ ์ค์น ๋ฒ์ ์ ์ ์ ์์ต๋๋ค ๐
- 0
- 1
- 75
Q&A
rinkeby testnet ์ฌ์ฉ
์๋ ํ์ธ์ ๐ ๊ฐ์๊ฐ ์ดฌ์๋ ์์ ์ด ์ค๋๋์ด, ๋ง์ ๋ถ๋ถ์ด ๋ณ๊ฒฝ๋์๋ค์. ํ์ฌ Ropsten๊ณผ Rinkeby ํ ์คํธ๋ท์ ๋ ์ด์ ์ด์๋์ง ์์ต๋๋ค.Ethereum Sepolia ๋๋ Linea Sepolia๋ฅผ ์ฌ์ฉํ์ ๋ ๊ด์ฐฎ์ต๋๋ค, ์ฌ์ค ์ด๋ ํ ์คํธ๋ท์ ์ฌ์ฉํ์ ๋ ๋ฌด๋ฐฉํ์ญ๋๋ค.Ethereum Sepolia์ ํ ์คํธ๋ท ETH๋ ์๋ ๋งํฌ์์ ๋ฐ์ ์ ์์ต๋๋ค.https://www.alchemy.com/faucets/ethereum-sepolia๋ค๋ง, ์ต๊ทผ์๋ ๋ด ๋ฌธ์ ๋ก ์ธํด ์ด๋๋ฅผ ๋ฐ์ผ๋ ค๋ ์ง๊ฐ์ Ethereum ๋ฉ์ธ๋ท์์ ์ต์ 0.001 ETH๊ฐ ์์ด์ผ ๋ฌด๋ฃ๋ก ๋ฐ์ ์ ์์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค!!
- 0
- 1
- 47
Q&A
๊ฐ์ ์ ๋ฐ์ดํธ ๋ฌธ์
์๋ ํ์ธ์, ์๋ ๋ถํฐ ๋ฐ๋ก ์๊ฐ์ ํ๊ณ ์์๋๋ฐ์,์คํ์ ๋ชป ํ๊ณ ์์๋ค์ ใ ใ .. NFT ๋ฌด๋ฃ ๊ฐ์๋ ๋ฆฌ๋ฉ์ดํฌ ๋ฌธ์๊ฐ ์์์, ์กฐ๊ธ๋ ์ค์ฉ์ ์ผ๋ก ๋ค์ ์ ์ ํ๊ณ ์์ต๋๋ค, ํด๋น ๋ณธ๊ฐ์๋ ์ฐ์ผ๋ฉด ์ด๋ฒ์๋ hardhat ์ด๋, foundry๋ก ๊ฐ์๋ฅผ ์ ์ํ๊ฒ ์ต๋๋ค.์ด๋ ๊ฒ ์ง๋ฌธ ์ฃผ์ จ๋๋ฐ, ํน์ ๋ฐ๋ก ๊ฐ๋จํ๊ฒ ๋ง๋ค์ด ๋ณด๊ณ ์ถ์ ํ๋ก์ ํธ์์ผ์๋ค๋ฉด, ์ฐธ๊ณ ํด์ ๊ทธ๊ฑฐ ๋ฐํ์ผ๋ก ์ ์ ํด๋ณด๊ฒ ์ต๋๋ค :) ์ข์ ํ๋ฃจ๋์ธ์!!
- 1
- 1
- 426
Q&A
fallback
์๋ ํ์ธ์ ์ ์๋, ๋ค fallback ์์ ๋ก์ง์ด ์๋ค๋ฉด,ํด๋น ๋ก์ง์ด ์ดํ๋ ๋ ๊ฐ์ค๋น๋ฅผ ์๋นํ๊ฒ ๋ฉ๋๋ค:) ์๋นํ๋ ๋น์ฉ์ ํธ๋์ญ์ ์ ๋ณด๋ธ ์ฌ๋์ด ์ง๋ถํฉ๋๋ค!!
- 1
- 1
- 376
Q&A
pure view
์๋ ํ์ธ์ ์ ์๋ :) function balance1(address _a) public view returns (uint256) { return _a.balance; } function fun1(uint256 _a) public pure returns (uint256) { if (_a == 3) { return 555; } return 111; }๋ํจ์๋ฅผ ๋ณด์๋ฉด, balance1(address _a)์ fun1(uint256 _a) ์ด๋ ๊ฒ ๋์ด์์ฃ ,์ฆ ๋ณ์ _a๋ ํจ์์ ํ๋ผ๋ฉํฐ์ ์ต์ด๋ก ์ ์๋ ๊ฒ ์ ์๊ฐ ์์ต๋๋ค.๋ณ์ _a๊ฐ ํ๋ผ๋ฉํฐ๋ก ์ ์๋ฌ๋ค๋ ๋ป์ ํจ์ ๋ด๋ถ์์๋ง ์ฌ์ฉ์ด ๊ฐ๋ฅํ ๋ก์ปฌ๋ณ์ ๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค. ์ฆ _a๋ฅผ ํจ์ ๋ฐ์ผ๋ก ๊ฐ์ ธ๊ฐ์ ์ฌ์ฉํ์ง ๋ชป ํ๊ฒ ์ฃ ์ ๊ทธ๋ฌ๋ฉด, pure์ view๋ ๋ฌด์์ผ๊น์ ? pure์ view๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์์ ๋ ์ฌ์ฉ๋๋ ๋ชจ๋ํ์ด์ด ์ ๋๋ค.๋ ํจ์์์ ๋ณผ ์ ์๋ฏ์ด, ํจ์ ๋ฐ์ ๋ณ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ์ ์ฅํ์ง ์๊ณ ์์ฃ ? ์ ๊ทธ๋ฌ๋ฉด pure์ view์ ์ฐจ์ด์ ์ ๋ฌด์์ผ๊น์?์ผ๋จ balance1(address _a)์ view ๋ถํฐ ๋ณด๊ฒ ์ต๋๋ค.view ๋ ํจ์์ ๋ฐ์ ์๋ ๋ฐ์ดํฐ ๊ฐ์ ์ฝ์ด ์ฌ ๋ ์ฌ์ฉํฉ๋๋ค. _a ๋ ํจ์ ๋ด๋ถ์ ์ ์๋ ๋ก์ปฌ๋ณ์ ์ธ๋ฐ, ์ด๋ป๊ฒ ์ธ๋ถ์ ๊ฐ์ ์ฝ์ด์์ view๋ผ๊ณ ํ์ํ๊ฑธ๊น์?_a๋ ์ฃผ์ํ ํ์ address ์ธ๊ฒ์ ์ ์ ์์ต๋๋ค. ์ฃผ์ํ ํ์ ์ ๊ฒฝ์ฐ ๋ฉค๋ฒ๋ณ์๋ก balance๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.(balance๋ ํ์ฌ ์ฌ์ฉ์ค์ธ ๋ธ๋ก์ฒด์ธ์ ๋ฉ์ธ ์ฝ์ธ์ ์์ก์ ๋ํ๋ ๋๋ค) ์ฆ, _a๋ ๋ก์ปฌ ๋ณ์์ง๋ง, ์ฃผ์ํ์ด๊ธฐ์, ๋ฉค๋ฒ๋ณ์์ธ balance๋ผ๋๊ฒ์ ์กฐํํ๊ธฐ์ view๋ฅผ ์ด๊ฒ์ ์ ์ ์์ต๋๋ค.์ด์ ๋ฐ๋๋ก, fun1(uint256 _a)์ pure๋ uint์ธ ์ ์ํ ํ์ ์ด๋ฉฐ, ๋ฐ์์ ์ฝ์ด ๋ค์ฌ์ค๋๊ฒ ์์ฃ ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ pure๋ฅผ ์ฌ์ฉํ๊ฒ์ ์ ์ ์์ต๋๋ค. ์ ๋ฆฌํ์๋ฉด,pure์ view๋ ํจ์ ๋ฐ์ ๋ณ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์์ ๋, ํจ์์ ์ ์ฉํ๋ค. view๋ ํจ์ ๋ฐ์ ๋ณ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์์ ๋, ํจ์ ๋ฐ์ ๋ณ์์ ๊ฐ์ ์ฝ์ด ์ฌ ๋, ํจ์์ ์ ์ฉํ๋ค.pure๋ ํจ์ ๋ฐ์ ๋ณ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์์ ๋, ํจ์ ๋ฐ์ ๋ณ์์ ๊ฐ์ ์ฝ์ด ์ค์ง์์ ๋ ํจ์์. ์ ์ฉํ๋ค. ๊ฐ์ฌํฉ๋๋ค :)
- 1
- 1
- 409
Q&A
SafeMath ํจ์
์๋ ํ์ธ์ ์ ์๋ :)์ด์ ๋ต๋ณ์ด ๋์์ด ๋์๋ค๋, ๋คํ์ด๋ค์ :) SafeMath๋ ๋ฌธ์๊ทธ๋๋ก ์ดํดํ์๋ฉด, ํธํ์ธ์. ์์ ํ ์ํ์ด์ฃ . ์๋ฆฌ๋ํฐ ๋ฒ์ 0.8๋ฏธ๋ง์์๋ overflow์ underflow๋ฅผ ๋ฐฉ์งํ๋ ๊ธฐ๋ฅ์ด ์์์ต๋๋ค. ์๋ฅผ ๋ค์ด์, uint8์ ๋ฒ์๋ 0~255 ์ ๋๋ค. ๊ทธ๋ฌ๋, ์๋ฆฌ๋ํฐ ๋ฒ์ 0.8๋ฏธ๋ง underflow์ overflow๋ฅผ ๋ฐฉ์งํ๋ ๊ธฐ๋ฅ์ด ์์ด์, 0์์ underflow๊ฐ ์ผ์ด๋ 255๋ก ๊ฐ์๋ ์๊ณ , 255์์ overflow๊ฐ ์ผ์ด๋์ 0์ผ๋ก ๊ฐ ์ ์๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ๊ทธ๋์, ์ด๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด, safeMath๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ฒ๋์์ต๋๋ค.๊ทธ๋ฌ๋, ์๋ฆฌ๋ํฐ 0.8 ์ด์๋ถํฐ๋ underflow์ overflow๋ฅผ ์๋์ผ๋ก ๋ฐฉ์งํ๊ธฐ์, ๋์ด์ safeMath๋ฅผ ์ฐ์์ง ์์ผ์ ๋ ๋ฉ๋๋ค :)
- 1
- 1
- 488
Q&A
์๋ฆฌ๋ํฐ
์๋ ํ์ธ์ ์ ์๋ :)๋จผ์ , lec13_1์ whoIsMsgSender ๋ผ๋ ํจ์๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค. whoIsMsgSender ๋ msg.sender๋ฅผ ๋ฐํ์ ํฉ๋๋ค.msg.sender๋ ํธ๋์ญ์ ์ ๋ณด๋ธ ์ฃผ์ ์ ๋๋ค, ์ฆ ์ฌ๊ธฐ์์๋, whoIsMsgSender ๋ฅผ ์คํํ (ํธ๋์ญ์ ์ ๋ณด๋ธ) ์ฃผ์๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ์ ๊ทธ๋ฌ๋ฉด, lec13์ ํจ์ callWhoIsMsgSender๋ lec13_1์ ํจ์ whoIsMsgSender ๋ฅผ ์คํํ๊ณ (ํธ๋์ญ์ ์ ๋ณด๋ด๊ณ ) ์์ต๋๋ค. ์ฆ lec13_1์ ํจ์ whoIsMsgSender์ ์ ์ฅ์์ ์๊ฐ์ ํ๋ฉด, lec13์ ํจ์ callWhoIsMsgSender๊ฐ ์คํํ๊ฒ์ด๊ธฐ์, whoIsMsgSender์ msg.sender๋ lec13์ฃผ์๊ฐ ๋ฉ๋๋ค. ์ ๊ทธ๋ฌ๋ฉด, lec13์ ํจ์ callWhoIsMsgSender๊ฐ lec13_1์ ํจ์ whoIsMsgSender ๋ฅผ ์คํ์ ์ํค๋ ค๋ฉด, ๋๊ตฐ๊ฐ lec13์ ํจ์ callWhoIsMsgSender๋ฅผ ์คํํด์ผ๊ฒ ์ฃ ? ์๋ฅผ ๋ค์ด์, Alice๊ฐ lec13์ ํจ์ callWhoIsMsgSender ๋ฅผ ์คํ์์ผฐ๋ค๊ณ ๊ฐ์ ํ์๋, lec13์ ํจ์ callWhoIsMsgSender ์ msg.sender๋ Alice์ ์ฃผ์๊ฐ ๋๊ฒ ์ฃ . ์ ๊ทธ๋ฌ๋ฉด, ์ ๋ฆฌํด์ ํ๋ฒ ๋ณผ๊น์? Alice ---ํธ๋์ญ์ ๋ณด๋---> lec13์ ํจ์ callWhoIsMsgSender ---ํธ๋์ญ์ ๋ณด๋---> lec13_1์ ํจ์ whoIsMsgSender ์ ๋๋ค.์ฆ, lec13์ ํจ์ callWhoIsMsgSender ์ ์ฅ์์๋ Alice๊ฐ ์์ ์ ์คํ์์ผฐ์ผ๋, lec13์ ํจ์ callWhoIsMsgSender ์ msg.sender๋ Alice ์ ์ฃผ์๊ฐ ๋๊ฒ ์ฃ . ๋ฐ๋ฉด์, lec13_1์ ํจ์ whoIsMsgSender ๋ lec13์ ํจ์ callWhoIsMsgSender ๊ฐ ์์ ์ ์คํ ์์ผฐ์ผ๋, lec13์ ํจ์ callWhoIsMsgSender ์ msg.sender๋ lec13์ ์ฃผ์๊ฐ ๋๊ฒ ์ฃ . ํน์ ๊ถ๊ธํ์ ์์ผ์๋ฉด, ์ง๋ฌธ ๋จ๊ฒจ์ฃผ์ธ์ :))๊ฐ์ฌํฉ๋๋ค :)
- 1
- 1
- 389
Q&A
์๋ ํ์ธ์ ๊ฐ์ฌ๋ ์ง๋ฌธ์ด ์์ต๋๋ค
์๋ ํ์ธ์, ๋ฆฌ๋ฏน์ค๊ฐ ์ ๋ฐ์ดํธ ๋๊ณ , transaction ๊ณผ execution cost๊ฐ ๊ฐ๊ฒ๋์ค๋ค์..์๋๋ ์๋์ ๊ฐ์ ๋ด์ฉ์ด์๋๋ฐ์. ํ์ฌ๋ ์ ํํ ์ ๊ฐ์ด ๋์ค๋์ง ๋ฆฌ๋ฏน์ค ๋ฌธ์์์ ์ฐพ์ ๋ณผ ์๊ฐ ์๋ค์.. ๋ค๋ง ์๋ ์๋์ ๊ฐ์ ๋ด์ฉ์์๋ค๋ ์ ์ฐธ๊ณ ๋ถํ๋๋ฆฝ๋๋ค. ๋ฆฌ๋ฏน์ค์ ์ด์ ๋ฒ์ ์์๋ ์๋์ ๊ฐ์ ๋ด์ฉ์ด์์ต๋๋ค. gas: ์ต๋ ๊ฐ์ค ๋น์ฉexecution cost : ํจ์๋ฅผ ์คํํ๋๋ฐ ์ฌ์ฉ๋๋ ๊ฐ์ค ๋น์ฉ ( ์ด๋๋ฆฌ์ ํฉ์ opcode์ ๊ฐ์ค๊ฐ๊ฒฉ์ผ๋ก ๊ณ์ฐ)transaction cost : ํธ๋์ญ์ ์ ๋ณด๋ด๋ ๋น์ฉ (ํธ๋์ญ์ ๋น์ฉ + execution cost) ํธ๋์ญ์ ๋น์ฉ : ๋ฐ์ดํธํ ๋ ํจ์์ ๋ช ๊ณผ ๋งค๊ฐ๋ณ์(์๋ค๋ฉด) ๋ฐ์ดํธํ (์: 0x12ab34cd0000000000000000000000000000000000000000000000000000000000000001)๋ ๊ฒ์ ์ด๋๋ฆฌ์ ํฉ์์ ์ธก์ ๋ opecode์ ๊ฐ์ค ๊ฐ๊ฒฉ์ผ๋ก ๊ณ์ฐ๋์ด์ง๋ ๋น์ฉ.
- 1
- 1
- 244
Q&A
function ๋งค๊ฐ๋ณ์์ ๊ดํ ์ง๋ฌธ์ด ์์ต๋๋ค
์๋ ํ์ธ์ :) ๋ค, ๊ฐ ํ์ ์ ๊ฐ์ด ์ ์ฅ๋ ๋ ๊ฐ์์ฒด๊ฐ ์ ์ฅ์ด ๋ฉ๋๋ค. ๊ทธ๋์, ์ ํฌ๊ฐ ํจ์ ๋ด๋ถ์์ ๊ฐํ์ ์ ์ธ ๋, ๋ฐ๋ก memory์ ๊ฐ์ด ์ ์ฅ์ฅ์๋ฅผ ๋ฐ๋ก ์ง์ ํด์ฃผ์ง ์์๋ ๋ฉ๋๋ค.๋ฐ๋ฉด์,์ฐธ์กฐ ํ์ ์, ๊ฐ ์์ฒด๊ฐ ์ ์ฅ๋๋๊ฒ์ด ์๋, ๊ฐ์ ๊ฐ๋ฆฌํค๋ ์ฐธ์กฐ๋๋ ์ฃผ์๋ฅผ ๋ณต์ฌํฉ๋๋ค.๊ทธ๋์, ๊ทธ ์ฐธ์กฐํ ๊ฐ์ ๊ฐ๊ณ ์ค๊ณ ์ถ์ผ๋ฉด, ์ ํฌ๊ฐ ํน์ ํ ์ ์ฅ๊ณต๊ฐ์ ๋ค๊ณ ์ฌ ์ ๊ฐ ์์ต๋๋ค.์๋ฅผ ๋ค์ด memory๋ฅผ ๋ถ์ฌ ์ฃผ์๋ฉด memory ๊ณต๊ฐ์ ์ฐธ์กฐํ ํ์ ์ ์ฃผ์๋ฅผ ์ด์ฉํด ๊ฐ์ ์ ์ฅํ๊ฒ ๋ค๊ฐ ๋๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค :)
- 1
- 2
- 267