Solidity

[CryptoZombie] 1-1 Making the Zombie Factory

๐Ÿงก Solidity private ๊ด€๋ก€

Solidity์—์„œ๋Š” private ์ง€์‹œ์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ํ•จ์ˆ˜๋ช… ์•ž์— _์„ ๋ถ™์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ๊ด€๋ก€๋ผ๊ณ  ํ•œ๋‹ค.

uint[] numbers;

function _addToArray(uint _number) private {
  numbers.push(_number);
}

 

๐Ÿงก ํ•จ์ˆ˜ ์ œ์–ด์ž

Solidity์—์„œ๋Š” view, pure ํ•จ์ˆ˜ ์ œ์–ด์ž๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

view๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ๋งŒ ํ•˜๊ณ  ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ œ์–ด์ž์ด๋‹ค.

function sayHello() public view returns (string) {

}

pure๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์ง€๋„ ์•Š๊ณ  ์ธ์ž์— ๋”ฐ๋ผ ๋ฐ˜ํ™˜๊ฐ’์ด ๋‹ฌ๋ผ์งˆ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

function _multiply(uint a, uint b) private pure returns (uint) {
  return a * b;
}

 

๐Ÿงก Keccak256

Solidity์—์„œ Keccak256์€ ๊ต‰์žฅํžˆ ์ค‘์š”ํ•œ ์—ญํ• ์„ ๋‹ด๋‹นํ•œ๋‹ค. ์ด๋”๋ฆฌ์›€์€ SHA3์˜ ์ข…๋ฅ˜์ธ Keccak256์„ ํ•ด์‹œ ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉํ•œ๋‹ค. Keccak256์€ ๋žœ๋ค 256bit๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

//6e91ec6b618bb462a4a6ee5aa2cb0e9cf30f7a052bb467b0ba58b8748c00d2e5
keccak256("aaaab");
//b1f078126895a1424524de5321b339ab00408010b7cf0e6ed451514981e58aa9
keccak256("aaaac");

 

๐Ÿงก Event

Solidity์—์„œ Event๋Š” ๋‚ด ์ปจํŠธ๋ž™ํŠธ๊ฐ€ ๋ธ”๋ก์ฒด์ธ ์ƒ์—์„œ ์–ด๋– ํ•œ ์•ก์…˜์ด ๋ฐœ์ƒํ–ˆ์„ ๊ฒฝ์šฐ ์‹คํ–‰๋˜๋Š” ์ด๋ฒคํŠธ๋‹ค.

event IntegersAdded(uint x, uint y, uint result);

function add(uint _x, uint _y) public {
  uint result = _x + _y;

  IntegersAdded(_x, _y, result);
  return result;
}

 

https://share.cryptozombies.io/ko/lesson/1/share/bjloed?id=Y3p8MTIwMjIz