본문 바로가기

전체 글71

레슨2 챕터2, 3, 4 - 매핑, 주소 / msg.sender / require 주소(address) 이더리움 블록체인에는 은행계좌처럼 계정들이 있다. '주소'는 특정 계정을 가리키는 고유 식별자 역할을 한다. 매핑(mapping) 데이터를 저장하거나 검색해서 접근하는데에 사용된다 매핑에는 키-값(key-value) 이 들어가고 사용방법은 다음과 같다 // 키 값 사용할이름 mapping (address => uint) public abcd; public은 함수처럼 다른 컨트랙트에서도 사용할 수 있게 만들어준다 msg.sender msg.sender는 솔리디티 자체에 있는 내장변수같은것이다. msg.sender는 해당 컨트랙트, 함수 등에 접근하는 외부 호출자(사용자)를 의미한다 msg.sender와 매핑을 활용하는 예시 // favoriteNumber라는 이름으로 address를 .. 2022. 2. 12.
리믹스 이더리움으로 SimpleCoin 트랜잭션 만들어보기 컴파일러 버전은 0.4.26을 사용했고 자동 컴파일 기능을 사용하였다 워크스페이스에 simpleCoin.sol 파일을 만들고 코드를 입력한다 pragma solidity ^0.4.0; contract SimpleCoin { mapping(address => uint256) public coinBalance; event Transfer(address indexed from, address indexed to, uint256 value); constructor(uint256 _initalSupply) public { coinBalance[msg.sender] = _initalSupply; } function transfer(address _to, uint256 _amount) public { require(.. 2022. 2. 11.
storage, memory storage는 블록체인에 영구적으로 저장되는 변수이고 memory는 호출되었다가 지워지는 임시적인 변수이다 storage는 하드디스크, memory는 램과 같다고 보면 된다. 보통 함수 외부에서 선언된 변수는 storage로 자동 선언되고 함수 내부에서 선언된 변수는 memory로 자동 선언된다 임의로 storage로 선언하는 변수는 포인터가 될 수 있고 memory로 선언하는 함수는 값을 복사하는 용도로 사용될 수 있다. 2022. 2. 11.
레슨1 챕터 11, 12, 13 - 형변환, 종합, 이벤트 필요에 따라 자료형(타입)을 바꿔야 할 때가 있다. 이번 챕터에 활용할 것이 string형을 uint형으로 바꾸는것이다. 안의 내용물이 바뀐 결과인 자료형이 되는데에 문제가 없으면 변환이 된다 챕터 11 답 // 매개변수 _str을 keccak256()을 통해 16진수 난수를 만들고 // 그것을 uint()로 string에서 uint로 형변환을 해주어 rand 변수에 담고 // 그것을 10^16승으로 나눈 나머지를 반환한다 uint rand = uint(keccak256(_str)); return rand % dnaModulus; 챕터 12 답 // 랜덤좀비생성 함수를 public으로 선언 function createRandomZombie(string _name) public { // _name을 매개변.. 2022. 2. 11.