본문 바로가기

솔리디티23

리믹스 이더리움으로 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.
레슨1 챕터10 - 함수 제어자 함수선언에 public / private 처럼 추가로 넣을 수 있는 함수 제어자라는것이 있다 함수제어자는 view와 pure, modifier가 있다 함수 내에서 실행하는것들이 어떤 값을 변경시키지 않는 경우에 view로 선언하고 함수가 매개변수로 받은 값 외에는 어떤 데이터에도 접근하지 않는 것은 pure로 선언한다. string 인사 = "안녕?"; function 인사해() public view returns (string) { return 인사; } 위와 같은 함수는 함수밖의 데이터에 접근은 하지만 그 값을 변경시키지는 않는다. 그래서 view함수로 선언할 수 있다. function _계산좀하자(uint a, uint b) private pure returns (uint) { return a * .. 2022. 2. 11.