개발 학습/블록체인31 S4: Over/Under flow를 막아주는 SafeMath Safe Math 구조 library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b = a); return c; } } 자료형 uint256에 대해서 SafeMath 라이브러리를 사용하도록.. 2021. 11. 26. S4: ERC-20 ERC20Interface interface에서는 솔리디티에서 사용 할 함수의 형태를 선언한다. function은 이더리움에서 제공하는 함수이며 event는 이더리움에서 제공하는 로그이다. function은 작성순서에 주의해야한다. event의 Transfer이벤트는 토큰이 이동할때마다 로그를 남기고 Approval이벤트는 approve함수가 실행 될때 마다 로그를 남긴다. 솔리디티 함수 구성 더보기 function () {internal | external | public | private} [pure | constant | view | payable] [(modifiers)] [returns ()] contract SimpleToken 구성 contract SimpleToken is ERC20Inte.. 2021. 11. 26. S4: Solidity 기본 문법 값 형 데이터 타입 bool로 선언된 변수는 true/false를 갖는다. bool 변수명 = true; 부호가 붙는 정수는 int로 0이상의 값에는 uint가 쓰이며 뒤에 8은 8의배수를 붙여 변수의 크기를 비트단위로 지정한다. int8 변수명 = -20 uint16 변수명 = 10 고정바이트는 bytes1~bytes32까지 선언한다 bytes3 변수명 = 'abc' 변수명[0] = 'a' 변수명[1] = 'b' 주소 address yourAddress = 0x10abb5efEcdc01234f7b2384912398798E089Ab2; address 주소명 = 0x주소값 0.8버전 부터는 address형식은 송금 불가능한 주소값이 됐다. 특정 주소로 송금가능한 것은 address payable형식을 사용.. 2021. 11. 25. S4: EVM과 Geth로 스마트컨트랙트 배포 솔리디티 코드를 solc로 evm이 읽을수 있는 이진코드로 만들기 더보기 solc --optimize --bin simpleStorage.sol solc --bin {컴파일할 sol파일 이름} 은 솔리디티 파일을 이진 형식으로 컴파일하는 명령어입니다. --optimize 옵션은 컴파일 전, 작성한 솔리디티 코드가 약 200회 실행된다고 가정했을 때를 기준으로 컨트랙트를 최적화합니다. ABI만들기 ABI(Application Binary Interface)는 스마트 컨트랙트 코드에 대한 설명이 담긴 JSON 형식의 인터페이스입니다. 컨트랙트내 함수에 어떤인자를 넣고 사용해야하는지 어떤작업을 수행해야 하는지 알려준다. 더보기 solc --abi simpleStorage.sol Geth로 스마트컨트랙트 빌드하.. 2021. 11. 24. S3: dApp 보호되어 있는 글 입니다. 2021. 11. 18. S3: 암호화 기술과 보안 보호되어 있는 글 입니다. 2021. 11. 17. 이전 1 2 3 4 5 6 다음