본문 바로가기

cryptozombies

CrytoZombies_Lesson3_고급 솔리디티 개념 1. 컨트랙트의 불변성 및 외부 의존성 (1)불변성 이더리움 컨트랙트를 배포한 이후에는 컨트랙트는 변경하거나 업데이트 할 수 없습니다. 최초 배포한 코드는 이더리움 블록체인에 영구적으로 존재하게 됩니다. 만약 컨트랙트 코드에 결함이 있는채로 배포했다면 이를 고칠수 있는 방법이 전혀 없게 됩니다. 이것이 바로 솔리디티에 있어서 보안이 굉장히 큰 이슈인 이유입니다. 그러나 이것 또한 스마트 컨트랙트의 한 특징입니다. 누군가가 스마트 컨트랙트 함수를 호출할 때마다, 코드에 쓰여진 그대로 함수가 실행될것이라고 확실 할 수 있습니다. 그 누구도 배포 이후에 함수를 수정하거나 예상치 못한 결과를 발생시키지 못하기 때문입니다. (2)외부 의존성 우리가 이전에 크립토키디 컨트랙트의 주소를 Dapp에 직접써넣었습니다. .. 더보기
CrytoZombies_Lesson1_기본문법 1. 컨트랙트 pragma solidity ^0.4.19; contract ZombieFactory { } 모든 Solidity 소스 코드는 "version pragma"로 시작하게 됩니다. 이는 해당 코드가 이용해야 하는 솔리디티 버전을 선언함으로써, 이후에 새로운 컴파일러 버전이 나와도 기존 코드가 깨지지 않도록 예방하는 것입니다. 솔리디티 코드는 컨트랙트 안에 싸여 있습니다. 컨트랙트는 이더리룸 애플리케이션의 기본적인 구성 요소로, 모든 변수와 함수는 어느 한 컨트랙트 안에 속하게 됩니다. 2. 상태 변수 & 정수 pragma solidity ^0.4.19; contract ZombieFactory { uint dnaDigits = 16; } 상태 변수는 컨트랙트 저장소에 영구적으로 저장되는 변수를.. 더보기