λͺ©λ‘μ 체 κΈ (1103)
KoreanFoodie's Study
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bTrgY7/btrNMGAwEEb/96SrYcMgCiX3D9EX3uvYZK/img.jpg)
μΈλ¦¬μΌ μμ§μ κ°λ κ³Ό λμ μ리 λ³΅μ΅ μ΄λμ°λμ λΈλ‘κ·Έλ₯Ό 보며, λ°°μ΄ λ΄μ©μ κ°λ¨ν μ 리ν΄λ³΄λ € νλ€! μΈλ¦¬μΌμ μ²μ μμνλ€λ©΄, μ΄λμ°λμ΄ μ°μ μ± μΈ "μ΄λμ°μ μΈλ¦¬μΌ C++ κ°μ κ°λ°μ μ μ" μ κΌ μ½μ΄λ³΄λ κ²μ μΆμ²νλ€! μ΄ λΈλ‘κ·Έμλ κ°μ’ λ΄μ©μ μ λ¦¬ν΄ λμμ§λ§, μ€μ λ‘ μ½μ΄λ³΄λ κ²μ μ κ·Ή μΆμ²νλ€. 8. μ‘ν°μ μ μ μ‘ν°λ μλμ λ°°μΉλ μ μλ, μλ νΈλμ€νΌμ΄ μλ μΈλ¦¬μΌ μ€λΈμ νΈλΌκ³ ν μ μλ€. κ²μ 컨ν μΈ μ μ€κ³λ μ‘ν°μμλΆν° μμνλ€κ³ ν μ μλ€. μ‘ν°λ₯Ό μΈν ν λλ μλμ κ°μ΄ μ μ μ λΆλ¬μ μ ν©ν λ©μμ μ μ©νλ©΄ λλ€. μμΈν ꡬνμ μ΄ κΈμ μ°Έκ³ νμ. static ConstructorHelpers::FObjectFinder SK_BlackKnight(TEXT("SkeletalM..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/F2eJE/btrNOTydRHB/fm4hHRudyihKsKYS5K37Ak/img.jpg)
μΈλ¦¬μΌ μμ§μ κ°λ κ³Ό λμ μ리 λ³΅μ΅ μ΄λμ°λμ λΈλ‘κ·Έλ₯Ό 보며, λ°°μ΄ λ΄μ©μ κ°λ¨ν μ 리ν΄λ³΄λ € νλ€! μΈλ¦¬μΌμ μ²μ μμνλ€λ©΄, μ΄λμ°λμ΄ μ°μ μ± μΈ "μ΄λμ°μ μΈλ¦¬μΌ C++ κ°μ κ°λ°μ μ μ" μ κΌ μ½μ΄λ³΄λ κ²μ μΆμ²νλ€! μ΄ λΈλ‘κ·Έμλ κ°μ’ λ΄μ©μ μ λ¦¬ν΄ λμμ§λ§, μ€μ λ‘ μ½μ΄λ³΄λ κ²μ μ κ·Ή μΆμ²νλ€. 1. μΈλ¦¬μΌ μμ§λ κ²°κ΅ λͺ¨λμ μ§ν©μ΄λ€. κ²μμ λ§λ€λ©΄μ, κ°λ°μλ μλ‘μ΄ κΈ°λ₯μ κ³μ μΆκ°νκ² λλλ°, μ΄κ²μ μ¬μ©μ κ²μ λͺ¨λμ΄λΌκ³ νλ€. ꡬ쑰λ λ€μκ³Ό κ°λ€. 2. μΈλ¦¬μΌ μμ§μ ν¬λ‘μ€ νλ«νΌ(Windows μ MacOS) μ μ§μνλ€. Config, Content, Plugins, Source, .uproject λ§ μμΌλ©΄ "Generate Visual Studio project files"..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cAqYJa/btrMPnum75G/cYIkhwakJWVi2PGUpEtTN0/img.png)
ν¬λ¦½ν μ’λΉμμ μ 곡νλ νν 리μΌμ ν΅ν΄ λ°°μ°λ Solidity λ¬Έλ²μ μ 리νκ³ μμ΅λλ€! Lesseon 6 μμλ Web3.js λ₯Ό μ΄μ©ν΄ μ΄λ리μκ³Ό front-end μ¬μ΄μ λμμ λν΄ λ°°μΈ μ μμλ€. index.html μ΄λΌλ μ½λμ νμν μλ°μ€ν¬λ¦½νΈ μ½λλ₯Ό μ λ¦¬ν΄ λμλ€. μ΄λ² μ₯μ μ 리ν λ΄μ©μ λ€μκ³Ό κ°λ€. 1. Web3.js smart contract μμμ ν¨μλ₯Ό νΈμΆνκ³ μΆμΌλ©΄, λ Έλμκ² λ€μκ³Ό κ°μ λ΄μ©μ μ λ¬ν΄μΌ νλ€. smart contract μ μ£Όμ νΈμΆν ν¨μμ μ λ¬ν 맀κ°λ³μ μ΄λ, μ΄λ리μ λ Έλλ JSON-RPC λΌλ μΈμ΄λ‘ μν΅νλ€. JSON-RPC 쿼리문μ λ€μκ³Ό κ°μ νμμΌλ‘ μ΄λ£¨μ΄μ Έ μλ€. // Yeah... Good luck writing all your fun..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BFlMY/btrMKWqFJsI/mvR1TU5AB9et1lbWLH9E60/img.png)
ν¬λ¦½ν μ’λΉμμ μ 곡νλ νν 리μΌμ ν΅ν΄ λ°°μ°λ Solidity λ¬Έλ²μ μ 리νκ³ μμ΅λλ€! Lesseon 5 μμλ ERC721 μ μ μ©κ³Ό SafeMath μ λν κ°λ¨ν μμ λ₯Ό λ€λ£¨κ³ μλ€. κΈ°μ‘΄ μ½λμ zombieownership.sol μ μΆκ°νλ€. 1. ERC721 μ°λ¦¬κ° νν NFT λΌκ³ λΆλ₯΄λ ν ν°μ, κ° ν ν°μ΄ 'unique' νλ€λ νΉμ§μ κ°μ§λ€. μλ₯Ό λ€μ΄, "Steve" λΌλ μ΄λ¦μ μ’λΉκ° μκ³ , μ΄κ²μ ν ν°μΌλ‘ λ§λ€λ©΄, λ€λ₯Έ μ΄λ¦μ κ°μ§ ν ν°λ€κ³Όλ ꡬλ³λμ΄μΌ(distinguishable) νλ€. λν ERC721 ν ν°μ μͺΌκ°€ μ μλ€. "Steve" λΌλ μ’λΉκ° μλ€κ³ νμ λ, 0.237 λ§νΌμ "Steve" λ‘ μͺΌκ°μ΄ λ³΄λΌ μ μλ€λ λ»μ΄λ€(λ¬Όλ‘ μ΅κ·Όμλ NFT λ μͺΌκ°λ λ Όμκ° ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/deHGLq/btrMIWjIwF8/oXUg3KzkbUzhkMjXyWnqD0/img.png)
ν¬λ¦½ν μ’λΉμμ μ 곡νλ νν 리μΌμ ν΅ν΄ λ°°μ°λ Solidity λ¬Έλ²μ μ 리νκ³ μμ΅λλ€! Lesseon 4 μμλ payable κ°λ μ λν΄μ μ‘°κΈ λ λ€λ£¬λ€. μ΄μ κ²μκΈμμ zombieattack.sol μ μΆκ°ν΄, μ’λΉκ° 곡격ν μ μλλ‘ λ§λ€μλ€! μ΄λ² μ₯μ μ 리ν λ΄μ©μ λ€μκ³Ό κ°λ€. 1. payable Modifier μ΄λ리μμλ Ether λ₯Ό μ£Όκ³ λ°μ μ μλ, payable ν¨μλΌλ λ μμ΄ μ‘΄μ¬νλ€. contract OnlineStore { function buySomething() external payable { // Check to make sure 0.001 ether was sent to the function call: require(msg.value == 0.001 ethe..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dGxyYK/btrMIOyo0T0/pBVCU4CFQF8VQxiYY5EHxK/img.png)
ν¬λ¦½ν μ’λΉμμ μ 곡νλ νν 리μΌμ ν΅ν΄ λ°°μ°λ Solidity λ¬Έλ²μ μ 리νκ³ μμ΅λλ€! Lesseon 3 μμλ κ°μ€ μλͺ¨μ μ½λ ν¨μ¨μ± λ±μ λν΄ κ³΅λΆν μ μμλ€. κΈ°μ‘΄μ zombiefactory.sol κ³Ό zombiefeeding.sol λ‘ λλμ΄μ§ μ½λμ zombiehelper.sol κ³Ό ownable.sol μ μΆκ°νλ€. μ΄λ² μ₯μ μ 리ν λ΄μ©μ λ€μκ³Ό κ°λ€. 1. Immutability of Contracts μ΄λ리μμ 컨νΈλνΈλ₯Ό λ°°ν¬νλ©΄, ν΄λΉ 컨νΈλνΈλ λΆλ³(immutable) μ΄ λλ€. λ°λΌμ, contract μ λ¬Έμ κ° μκΈ°λ©΄ μ΄λ₯Ό μμ νλ κ²μ΄ μλλΌ λ€λ₯Έ smart contract μ μ£Όμλ₯Ό μ μ μκ² μ 곡νλ μμΌλ‘ ν¨μΉλ₯Ό ν΄μΌ νλ€. 2. Ownable Contracts λ§μ½ ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cXY8OV/btrMCHAU0IZ/VoEW863zKaKVK69vjVlVUK/img.png)
ν¬λ¦½ν μ’λΉμμ μ 곡νλ νν 리μΌμ ν΅ν΄ λ°°μ°λ Solidity λ¬Έλ²μ μ 리νκ³ μμ΅λλ€! μ΄μ κ²μκΈμμ μμ±νλ μ½λλ₯Ό μ‘°κΈ νμ₯ν΄μ, μ’λΉλ₯Ό μμ±νλ κ² λ§κ³ λ λ€λ₯Έ μ¬λ¬ κ°μ§ κΈ°λ₯μ μΆκ°μ μΌλ‘ ꡬννλ€. λ€λ₯Έ κ°μ²΄λ₯Ό λ¨Ήκ³ λ€λ₯Έ κ°μ²΄μ dna μ μμΈ μλ‘μ΄ μ’λΉλ₯Ό μμ±νκ±°λ, cryptokitty μ dna λ₯Ό λΆλ¬μμ μ’λΉλ₯Ό λ§λ€μ΄λ³΄λ λ±μ ν¨μκ° κ΅¬νλμ΄ μλ€. νΈμλ₯Ό μν΄, μ½λλ₯Ό zombiefactory.sol κ³Ό zombiefeeding.sol λ‘ λλμλ€. μ΄λ² μ₯μ μ 리ν λ΄μ©μ λ€μκ³Ό κ°λ€. 1. Ethereum blockchaing μ accounts λ‘ μ΄λ£¨μ΄μ Έ μκ³ , κ° accounts μλ address κ° μλ€. 2. mapping μ ν΅ν΄ C++ μμμ map κ°μ κΈ°λ₯μ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zZQMg/btrMEIEsdba/pMVg7PlTHDQxpjYNLUEffk/img.png)
λ¨Όμ , Solidity λ μ½λκ° contract λ¨ μλμμ μμ±λμ΄μΌ νλ€. μ΄κ² κ°μ₯ κΈ°μ΄μ μΈ νλͺ©μΌλ‘, μλ μμ μ½λμμλ ZombieFactory λΌλ contract λ΄λΆμμ μ½λλ₯Ό μμ±νλ€. // μ΄λ€ λ²μ μ μΈ κ²μΈμ§ λͺ μ. 0.5.0 μ΄μ, 0.6.0 λ―Έλ§ pragma solidity >=0.5.0
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dXRbns/btrKZ012L7K/CjVHxLtxQqr8KtKTU4q9bK/img.jpg)
MoveTo μ μ λλ©μ΄μ λΉν€μ΄λΉμ΄ νΈλ¦¬ λ‘μ§μ μ§λ©΄μ MoveTo λ₯Ό ν μ€νΈνλλ°, ν΄λΉ μ§μ μΌλ‘ μ΄λν λ κ±·λ μ λλ©μ΄μ μ΄ μ¬μλλ κ²μ΄ μλλΌ μΊλ¦ν° λ©μ μμ²΄κ° λ―Έλλ¬μ§λ―μ΄ μ¬λΌμ΄λ©νλ νμμ΄ μκ²Όλ€. μ λλ©μ΄μ μ μ΄λ»κ² νλ©΄ μ¬μν μ μμ§? λΌκ³ μκ°νλ©° AnimBP λ₯Ό μ μ°κ²°ν΄μ€¬λλ°λ λμμ΄ μ λλ‘ μλλ μν©μ΄ μμλ€. μΈλ¦¬μΌ ν¬λΌμμλ λ€μν ν΄κ²°μ± μ μ μνλ€. 1. μ λλ©μ΄μ λΈλ£¨νλ¦°νΈ μ°κ²° νμΈνκΈ° 2. CharacterMovement -> NashMovement μμ Use Acceleration for Paths 체ν¬νκΈ° κ·Όλ° λλ μ΄ λκ°μ§ μ λΆ μλμλ€. λμ κ²½μ°, μλμ κ°μ΄ Speed κ°μ λ°λΌ μ λλ©μ΄μ μ λ³κ²½νλ λΈλ λ μ€νμ΄μ€λ₯Ό λ§λ€μλλ°, μκ³ λ³΄λ Speed ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cGY7g5/btrKOhwDNuB/UC7sM7gn7vBjUkKWeVFkiK/img.jpg)
κ°μ²΄μ§ν₯μ λ³Έμ§ μ¬μ€ λλΆλΆμ μ¬λλ€μ΄ κ°μ²΄μ§ν₯μ΄λΌλ λ§μ λ€μμ λ λ μ¬λ¦¬λ λ¬Έμ₯μ λ€μκ³Ό κ°μ κ²μ΄λ€. κ°μ²΄μ§ν₯μ΄λ μμ€ν μ μνΈμμ©νλ μμ¨μ μΈ κ°μ²΄λ€μ 곡λμ²΄λ‘ λ°λΌλ³Έλ€ μμ¨μ μΈ κ°μ²΄λ μνμ νμλ₯Ό ν¨κ» μ§λλ©°, μ€μ€λ‘ μκΈ° μμ μ μ± μμ§λ€ κ°μ²΄λ μμ€ν μ νμλ₯Ό ꡬννκΈ° μν΄ λ€λ₯Έ κ°μ²΄μ νλ ₯νλ€. κ° κ°μ²΄λ νλ ₯ λ΄μμ μ ν΄μ§ μν μ μννλ©° μν μ κ΄λ ¨λ μ± μμ μ§ν©μ΄λ€. κ°μ²΄λ λ€λ₯Έ κ°μ²΄μ νλ ₯νκΈ° μν΄ λ©μμ§λ₯Ό μ μ‘νκ³ , λ©μμ§λ₯Ό μμ ν κ°μ²΄λ λ©μμ§λ₯Ό μ²λ¦¬νλ λ° μ ν©ν λ©μλλ₯Ό μμ¨μ μΌλ‘ μ ννλ€ (μΊ‘μνλΌλ κ²μ, λ©μμ§λ₯Ό μ μ‘ν κ°μ²΄λ μμ ν κ°μ²΄κ° μ΄λ»κ² λμν μ§λ₯Ό λͺ¨λ₯΄κ³ , μμ ν κ°μ²΄κ° μμ² μ¬νμ λ©μμ§λ‘ λ°μ ν μμμ μ²λ¦¬νλ€λ κ²μ μλ―Ένλ€. λ°λΌμ λ©μμ§λ₯Ό μ μ‘νλ ..