1. storage 영속적인 읽고/ 쓰기 가능한 저장 공간 가스 비용이 비쌈 함수의 외부나, 함수가 저장 2. memory 휘발적인 읽고/ 쓰기 가능한 저장 공간 함수의 내부에 정의된 변수, 매개변수, 반환값 등에 사용 3. calldata 읽기 가능한 공간 external 의 매개변수에 적용 4. stack EVM (Ethereum Virtual machine)에서 Stack data를 관리할때 쓰는 영역 1024MB 제한 함수 모디파이어(함수의 행동을 제한) 1. pure 순수하게 함수 안에 있는 변수만 사용할 때 2. view 함수 밖에 있는 변수, 함수를 읽어 올 때 참고: https://www.inflearn.com/course/lecture?courseSlug=%EC%86%94%EB%A6%AC..
변수 : 값을 지속적으로 변경 가능 상수 : 한번 지정된 값은 변경 불가. //변수 uint public type1 = 1; type1 = 2; //상수 uint public constant type2 = 1; type2 = 2; // 에러 자료형 타입 값 타입 vs 참조 타입 값 타입 uint, int, bool, address (고정 길이), bytes1...bytes3 (고정 길이) 참조 타입 bytes(동적 길이), string (동적 길이), array(배열), mapping(매핑) , struct(구조체) int : 기호 있는 integer ex ) int8 : -2^7 ~ 2^7-1 uint: 기호 없는 Integer ex) uint8 : 0~ 2^8-1 산술연산자 : + - * / 논리 연..
이번에는 웹에서 스마트 컨트랙트의 함수를 실행 시켜 볼거에요. 실행에 대한 결과를 말하면 test.sol 의 renderTest함수를 실행해서 String 값을 가져오고 http://127.0.0.1:8080/test 접속시 해당 함수 실행 값을 가져올거에요. 시작해 볼게요. 아래의 코드들을 프로젝트에 옮겨 주세요. 1. test.sol // SPDX-License-Identifier: MIT pragma solidity 0.8.7; contract Test { function renderTest () public pure returns (string memory greeting) { greeting = "Hello World!"; } } 2. index.js const express = require(..
가나슈는 이더리움 개발을 위한 개인 블록체인으로 계약을 배포하고, 앱을 개발해 실행 테스트를 할 수 있는 개인 블록체인이다 1. 가나슈 설치 https://trufflesuite.com/ganache/ Ganache - Truffle Suite Features VISUAL MNEMONIC & ACCOUNT INFO Quickly see the current status of all accounts, including their addresses, private keys, transactions and balances. trufflesuite.com 2. 가나슈 url 확인 RPC SERVER 항목에 HTTP://127.0.0.1:7545 해당값을 기억하자 3. Remix 로 돌아와서 Deploy & ru..
1. Infura 회원가입 및 로그인 https://app.infura.io/ 2. 프로젝트 생성 - NETWORK 는 web3 API 선택 - NAME은 자유롭게 3. 본인 테스트 네트워크 선택 후 링크 복사 (소스코드 rpcURL 에 사용예정) 4. 적당한 위치에 프로젝트 디렉터리 생성 후 해당 폴더에서 아래 명령어 입력 npm init npm install web3 5. 해당 프로젝트에 디렉터리에 test.js 파일 하나 생성후 아래 코드 복붙 const Web3 = require("web3"); const url = "여기에 infura 사이트에서 복사한 URL 추가"; const web3 = new Web3(url); const account = "여기에 지갑 주소 입력"; web3.eth.ge..