본문 바로가기

크립토좀비3

크립토좀비) 챕터3 개념 이더리움 네트워크에 컨트랙트를 배포하고나면 절대로 컨트랙트는 변하지 않는다. 컨트랙트를 소유하기 : OpenZeppelin의 Ownable 컨트랙트 컨트랙트가 생성되면 컨트랙트의 생성자가 owner에 컨트랙트를 배포한 사람을 대입함 특정한 함수들에 대해 오직 소유자만 접근하도록 onlyOwner 제어자 추가함 새로운 소유자에게 해당 컨트랙트의 소유권을 옮길 수 있도록 함. 생성자 - 컨트랙트와 동일한 이름을 가진, 생략할 수 있다. 함수가 실행될 때 한번만 실행된다. contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); // 생성자 f.. 2022. 7. 6.
크립토좀비) 챕터2 개념과 sol 0.8.15버전으로 개선한 코드 mapping & address 이더의 잔액을 가진 계정들로 이루어딘 이더리움 블록체인. 각 계정은 계좌번호와 같은 주소를 가지고 있음 ( 계정을 가르키는 고유 식별자 ) 주소는 특정 유저나 스마트 컨트랙트가 소유한다. 구조화된 데이트를 저장하는 방법으로 key-value(키-값)으로 짝지어진 저장소라 할 수 있다. // 금융 앱용으로, 유저의 계좌 잔액을 보유하는 uint를 저장한다: // key가 address, value가 uint mapping (address => uint) public accountBalance; // 혹은 userID로 유저 이름을 저장/검색하는 데 매핑을 쓸 수도 있다 // key라 uint, value가 string mapping (uint => string) userId.. 2022. 5. 31.
크립토좀비로 솔리디티 기초 알기 - 챕터1 / sol 0.8.15버전으로 개선한 코드 컨트랙트(contract) 생성 이더리움 어플리케이션의 기본적인 구성요소로 솔리디티는 이걸 위해 만들어짐모든 변수와 함수는 반드시 어느 한 컨트랙트에 속해있음. 컨트랙트 내에서 상태변수를 선언할 수 있고, 이는 컨트랙트 저장소에 영구적으로 저장된다. contract HelloWorld { pragma solidity ^0.8.15; } 상태 변수 타입스크립트처럼 변수의 상태를 작성해줘야한다. 상태변수는 컨트랙트 저장소에 영구적으로 저장됨 = 이더리움 블록체인에 기록됨 uint thisIsNumber = 100; uint dnaModulus = 10 ** thisIsNumber; string thisIsStr = 'hello'; 새 구조체(struct) 생성 복잡한 자료형 객체를 생성한다고 생각하면 된다... 2022. 5. 31.