🌈 unit + string + bytes

RoRAΒ·2023λ…„ 5μ›” 7일
0

Solidity (use_ Remix)

λͺ©λ‘ 보기
2/10

πŸͺ‚ 2023. 05. 03. Wednesday_ μ˜€λŠ˜μ€ ν˜„μ§„ν•˜λŠ” λ‚ πŸ’š πŸͺ‚


βœ… Intro

​

μ•ˆλ…•ν•˜μ„Έμš”!😁

λͺ¨λ‘ ν•¨κ»˜ 4κ°œμ›” λ™μ•ˆ ν•˜λ‚˜μ˜ 멋진 ν”„λ‘œμ νŠΈλ₯Ό μ™„μ„±ν•˜λŠ” κ·Έλ‚ κΉŒμ§€ ν™”μ΄νŒ…ν•©μ‹œλ‹€ !πŸ‘πŸ‘πŸ‘
​
* 이 κ³³μ—μ„œλŠ” 당일에 배운 λ‚΄μš©μ„ λ³΅μŠ΅ν•˜λŠ” μš©λ„λ‘œ 글을 μž‘μ„±ν•˜λ €κ³  ν•©λ‹ˆλ‹€.
​
* μ˜€λŠ˜λ„ 'Part-3μ—μ„œ REMIX 기초 ' λ‚΄μš©μ„ λ³΅μŠ΅ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.


​
​

βœ…REMIX 기초

​

πŸ‘‰ λ³€μˆ˜

βœ”οΈ μ§€μ—­λ³€μˆ˜

β €β €β–ͺ️ ν•¨μˆ˜ λ‚΄μ—μ„œλ§Œ μ μš©κ°€λŠ₯ν•œ λ³€μˆ˜λ₯Ό μ˜λ―Έν•œλ‹€.
β €β €β–ͺ️ 체인에 기둝이 μ•ˆλŒ(=κ°€λ²Όμš΄ 친ꡬ)
​

βœ”οΈ μƒνƒœλ³€μˆ˜

β €β €β–ͺ️ μ½”λ“œ μ „μ²΄μ—μ„œ 영ν–₯λ ₯을 끼칠 수 μžˆλŠ” λ³€μˆ˜λ₯Ό μ˜λ―Έν•œλ‹€.
β €β €β–ͺ️ 체인에 기둝이 됌(=무거운 친ꡬ)
​

βœ”οΈ κ°€μŠ€λΉ„ λ°œμƒ Yes or Not

β €β €β–ͺ️ κ°€μŠ€λΉ„ λ°œμƒ YES
β €β €β € β €β €πŸ”Έex) μƒνƒœλ³€μˆ˜λ₯Ό λ³€κ²½ν•  경우

β €β €β–ͺ️ κ°€μŠ€λΉ„ λ°œμƒ NO
β €β €β € β €β €πŸ”Έex) μƒνƒœ λ³€μˆ˜λ₯Ό λ³€κ²½ν•˜μ§€ μ•Šμ„ 경우
​

βœ”οΈ pure ν•¨μˆ˜ vs view ν•¨μˆ˜

β €β €β–ͺ️ gas μ‚¬μš©ν•˜μ§€ μ•ŠμŒ == μƒνƒœλ³€μˆ˜

β €β €β–ͺ️ pure ν•¨μˆ˜μ™€ view ν•¨μˆ˜ λͺ¨λ‘ state variable의 값을 λ³€ν™”μ‹œν‚€μ§€ μ•ŠλŠ”λ‹€. (=gasλΉ„ μ‚¬μš© μ—†μŒ)

β €β €β–ͺ️ view
β €β €β € β €β €πŸ”Έμƒνƒœλ³€μˆ˜μ˜ 값을 λ³€κ²½ν•˜μ§€ μ•ŠλŠ”λ‹€.
β €β €β € β €β €πŸ”ΈREAD μ •λ„λŠ” ν•œλ‹€ ~!~
β €β €β–ͺ️ pure
β €β €β € β €β €πŸ”Έμƒνƒœλ³€μˆ˜μ˜ 값을 λ³€κ²½ν•˜μ§€ μ•ŠλŠ”λ‹€.
β €β €β € β €β €πŸ”Έν•¨μˆ˜ λ‚΄μ—μ„œ λͺ¨λ“ κ²ƒμ΄ 이루어진닀

​

πŸ‘‰unitν˜• λ³€μˆ˜ μ„ μ–Έ (= μˆ«μžν˜• )

​
βœ”οΈ λ³€μˆ˜ μ„ μ–Έ ν•˜λŠ” 방법!
​
β €β €β–ͺ️ μƒνƒœ λ³€μˆ˜ μ„ μ–Έ

	uint λ³€μˆ˜λͺ…;
    uint a;

β €β €β–ͺ️ μƒνƒœλ³€μˆ˜λ₯Ό 가져와 값을 λ³€κ²½ν•  경우(= set ν•¨μˆ˜μ‚¬μš©!)

	function set(unit 인풋 κ°’) public {
		μ €μž₯ν• λ³€μˆ˜ = 인풋값;
	}
    function set(unit _a) public {
        a= _a;
    }

β €β €β–ͺ️ μƒνƒœλ³€μˆ˜λ₯Ό λ°›μ•„μ˜€κΈ°λ§Œ ν•  경우 (= get ν•¨μˆ˜ μ‚¬μš©!)

	function get() public view returns(uint) {
    	return μƒνƒœλ³€μˆ˜;
    }
    

​

πŸ‘‰Stringν˜• λ³€μˆ˜ μ„ μ–Έ (= λ¬Έμžν˜•)

​
βœ”οΈ λ³€μˆ˜ μ„ μ–Έ ν•˜λŠ” 방법!
​
β €β €β–ͺ️ μƒνƒœ λ³€μˆ˜ μ„ μ–Έ

	string λ³€μˆ˜λͺ…;
    string b;

β €β €β–ͺ️ μƒνƒœλ³€μˆ˜λ₯Ό 가져와 값을 λ³€κ²½ν•  경우(= set ν•¨μˆ˜μ‚¬μš©!)

	function set(string memory 인풋 κ°’) public {
		μ €μž₯ν• λ³€μˆ˜ = 인풋값;
	}
    function setB(string memory _b) public {
        b= _b;
    }
    
    //input 값이 μ—†λŠ” κ²½μš°λ„ μ‘΄μž¬ν•œλ‹€!
	function setBasC() public {
		b = "c";
    }

​
β €β €β–ͺ️ μƒνƒœλ³€μˆ˜λ₯Ό λ°›μ•„μ˜€κΈ°λ§Œ ν•  경우 (= get ν•¨μˆ˜ μ‚¬μš©!)

	function get() public view returns(string memory) {
    	return μƒνƒœλ³€μˆ˜;
    }

​

βœ”οΈ 처음 string μ„ μ–Έμ‹œ λ°œμƒν•  수 μžˆλŠ” 였λ₯˜.zip

β €β €β–ͺ️ memory μ•ˆ μ μ–΄μ€Œ.~
β €β €β–ͺ️ λ³΅λΆ™ν•˜λ‹€ μ‹€μˆ˜~ unit256κ³Ό stringν˜• 일치 μ‹œμΌœμ£ΌκΈ°~
β €β €β–ͺ️ μ €μž₯ν•  λ³€μˆ˜ = "κ°’" 꼴둜 μž‘μ„±ν•΄μ€˜μ•ΌλŒ ~

​

πŸ‘‰bytesν˜• λ³€μˆ˜ μ„ μ–Έ

​
βœ”οΈ λ³€μˆ˜ μ„ μ–Έ ν•˜λŠ” 방법!
​
β €β €β–ͺ️ μƒνƒœ λ³€μˆ˜ μ„ μ–Έ

	bytes λ³€μˆ˜λͺ…;
    bytes a;

β €β €β–ͺ️ μƒνƒœλ³€μˆ˜λ₯Ό 가져와 값을 λ³€κ²½ν•  경우(= set ν•¨μˆ˜μ‚¬μš©!)

	function setA(bytes memory _a) public {
    	a = _a;
    }

β €β €β–ͺ️ μƒνƒœλ³€μˆ˜λ₯Ό λ°›μ•„μ˜€κΈ°λ§Œ ν•  경우 (= get ν•¨μˆ˜ μ‚¬μš©!)

	function getA() public view returns(bytes memory) {
    	return a;
    }

​


​

β €β €β €

πŸ“Œ23. 05. 03

μ˜€μ „ λ³΅μŠ΅μ‹œκ°„ λ„ˆλ¬΄ μ’‹μŠ΅λ‹ˆλ‹€~!~ 덕뢄에 λ°€λ¦° TIL ν•΄κ²° 😎😎😎


Q1 : μž…λ ₯ν•œ 수의 μ œκ³±μ„ λ°˜ν™˜ν•΄μ£ΌλŠ” ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•˜μ„Έμš”.

Q2 : 2개의 Input값을 가지고 1개의 output값을 κ°€μ§€λŠ” 4개의 ν•¨μˆ˜λ₯Ό λ§Œλ“œμ‹œμ˜€. 
	 각각의 ν•¨μˆ˜λŠ” λ”ν•˜κΈ°, λΉΌκΈ°, κ³±ν•˜κΈ°, λ‚˜λˆ„κΈ°(λͺ«κ³Ό λ‚˜λ¨Έμ§€ λ°˜ν™˜)λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

0개의 λŒ“κΈ€