24. Testing with Remix

BlockChain,NFT,Web3.0 2022. 1. 21. 16:51
반응형

첫번째 솔리디티 계약서를 작성하기
스마트 계약을 작성하기 위해 Remix라는 온라인 코드 편집기를 사용할 것이다
계약을 생성하고 테스트 하기 위해 특별히 제작되었다
주소는 다음과 같다
https://remix.ethereum.org

Remix - Ethereum IDE

remix.ethereum.org

MyContract 파일을 만든다

첫불에는 pragma solidity를 작성하고 ^기호와 함께 컴파일러 (solidity)버전을 적어준다

contract 키워드 다음에 계약 이름을 적고 중괄호를 열고 닫는다

인스턴스 변수를 선언해보자
계약 내부에 존재할 message 변수를 정의 한다

<타입> <접근제한자> <변수명>

string 타입은 문자열을 의미 하며
전세계 모든 사람이 엑세스 할수 있게 public을 사용한다

다음으로 이 계약과 관련된 몇가지 다른 기능을 작성해보자

생성자 함수 정의
라이센스 안적어서 생겨나는 문제 
라이센스를 적어주면 해결 
계약이름과 같은 function 이름때문에 생겨나는 문제
아직 문제가 있음 
storage or memory 키워드를 매개변수에 적어줘야 한다 
https://docs.soliditylang.org/en/v0.7.5/070-breaking-changes.html#functions-and-events
생성자 정의 및 매개변수의 값을 상태 변수에 할당

(state variable)의 값을 변경하는 함수 정의

memory or calldata 키워드를 넣어야 한다 

https://solidity-by-example.org/data-locations/

Data Locations - Storage, Memory and Calldata | Solidity by Example | 0.8.10

Data Locations - Storage, Memory and Calldata Variables are declared as either storage, memory or calldata to explicitly specify the location of the data. storage - variable is a state variable (store on blockchain)memory - variable is in memory and it exi

solidity-by-example.org

Variables are declared as either storage, memory or calldata to explicitly specify the location of the data.

storage - variable is a state variable (store on blockchain)
memory - variable is in memory and it exists while a function is being called
calldata - special data location that contains function arguments, only available for external functions

반응형
: