Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 유니티에러
- 레지스터
- 던전앤파이터
- 아두이노우노
- 에러
- 반도체 취업
- 네트워크보안
- neople
- 던파
- 메모리
- 아두이노함수
- 네오플
- 보안
- 아두이노
- 머신러닝
- 컴퓨터구조
- 이더리움
- 암호화
- 면접
- 반도체 엔지니어
- 유니티
- 반도체
- memory
- 게임기획
- 메타마스크
- 인터럽트
- MuchineRunning
- Unity
- 네트워크
- MLAgent
Archives
- Today
- Total
Dreaming Deve1oper
Remix 다루기 본문
함수유형 | |
public | 누구나 호출 가능한 함수. |
private | 계약코드만 호출 가능한 함수. |
view | 데이터를 반환하며 계약의 데이터를 수정하지 않는 함수. |
constant | 데이터를 반환하며 계약의 데이터를 수정하지 않는 함수. |
pure | 계약 데이터를 수정하거나 읽지 않는 함수. |
payable | 호출되면, 이더를 함께 전송할 수 있는 함수. |
set | 일부 인수를 명확하게 수락하고 다음 값을 업데이트/수정하는 함수. |
※ public, private 중 하나만 사용 가능
#Example CODE
pragma solidity ^0.4.17;
contract Inbox {
string public message;
function Inbox(string initialMessage) public {
message = initialMessage;
}
function setMessage(string newMessage) public {
message = newMessage;
}
function getMessage() public view returns (string){
return message;
}
}
Remix IDE
- Environment: 개발환경
- Account: 개발환경을 JavaScript VM으로 설정할 경우 표시되며 내부 가상 네트워크를 활성화하고 자동으로 100 이더를 가지고 있는 테스트 계정을 생성해준다. (이는 브라우저 내부에만 존재하는 계정이며 당연하게도 실제 가치는 없는 이더이다)
- GAS LIMIT:
- VALUE: 트랜잭션을 수행하는데 사용되며 트랜잭션과 함꼐 일정량의 이더가 전송된다.
- Contract: 실행 중인 로컬 테스트 네트워크에 배포하려는 계약을 선택하는 것.
- InitialMessage: 문자열을 입력 후 Deploy 버튼을 통해 Inbox의 인스턴스를 생성한다.
- 테스트 네트워크에 생성된 Inbox 인스턴스.
- X: 인스턴스 삭제
getMessage
- 문자열의 반환값.
- 0: 이후에는 반환된 데이터 값을 얻는다.
SetMessage
- 콘솔 내부에서 Inbox Contract의 SetMessage 함수를 호출한다.
- 값(Hello world!)은 자동으로 업데이트되지 않으며 해당 값을 업데이트하려면 getMessage를 눌러야한다. (string: Hello world! -> getMessage -> string: Goodbye world!)
#Distributed Contract Diagram
- 스토리지엔 메시지의 변수가 존재하며 getMessage를 통해 수정/접근이 가능하다.
- Remix 내에 일정 금액의 계약이 존재하며 본 계약이 솔리디티 컴파일러에 의해 자동으로 컴파일 되도록 한다.
- Bytecode로 컴파일.
- 가짜 이더리움 네트워크에 배포된다.
- 수신 인스턴스가 제공된다.
'Solidity, Ethereum' 카테고리의 다른 글
[ERROR] cannot find babel register, polyfill (0) | 2022.08.14 |
---|---|
Web3 트랜잭션 모니터링 사이트 만들기 (0) | 2022.05.19 |
로컬 파일 Remix로 읽어오기 (0) | 2022.05.15 |
크립토 좀비 (0) | 2022.04.20 |
테스트넷에 토큰 발행하기 (0) | 2022.03.27 |
Comments