일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- bfs
- 다이어그램
- 완전탐색
- 반복자
- UML
- 구조패턴
- 디자인패턴
- 클래스다이어그램
- FactoryMethod
- 테트로미노
- 데코레이터패턴
- 빌더패턴
- 이터레이터
- 행위패턴
- C
- 추상팩토리
- 옵저버
- ps
- 회전하는큐
- problemsolving
- C언어
- 14500
- 팩토리메소드
- c++
- 어댑터패턴
- 생성패턴
- AbstractFactory
- 백준
- 알고리즘
- 재귀
- Today
- Total
salsa source
[이더리움 베이직] 컨트랙트 만들기 본문
Mist를 이용하여 스마트 컨트랙트를 만들어봅시다.
Mist의 메인 화면입니다. 오른쪽 위 화살표가 가리키는 '컨트랙트'를 클릭합니다.
화살표가 가리키는 신규 컨트랙트 설치 를 클릭합니다.
스크롤을 내리면 위 화면과 같은 소스코드 편집 영역이 있습니다. 여기에 컨트랙트를 작성합니다.
아래 - 기존 코드
---------------------------------------
pragma solidity ^0.4.18;
contract MyContract {
/* Constructor */
function MyContract() public {
}
}
-----------------------------------------
아래 SimpleStorage 예제로 수정합니다.
--------------------------------------------------------
pragma solidity ^0.4.18;
contract SimpleStorage {
uint storedData;
function set(uint x) public {
storedData = x;
}
function get() public constant returns (uint){
return storedData;
}
}
----------------------------------------------------------
작성된 컨트랙트를 배포하고 실행합니다. 실행을 위해 Geth를 실행합니다.
cmd창에서 명령어를 순서대로 입력합니다.
> cd\ (최상위 디렉토리로 이동. C드라이브로 이동합니다)
> mkdir c:\MiningTest
>geth --datadir "C:\ethereum\data" --rpc -rpcaddr 사용자IP주소(local이면 0.0.0.0) --rpcport "8552" --rpcapi "admin, db, eth, debug, miner, net, shh, txpool, personal, web3" --port 3030 --nodiscover --networkid 2525 console
위 사진과 같은 화면이 뜨고 대기합니다.
miner.start()를 입력하여 채굴을 시작합니다.
이제 컨트랙트를 배포해봅시다.
Mist로 돌아와서 편집창의 오른편에서 설치할 컨트랙트인 Simple Storage 를 선택합니다.
아래에 설치 버튼을 누르면 다음과 같은 창이 뜹니다.
계좌의 비밀번호를 입력하고 SEND TRANSACTION을 누릅니다.
이때도 마찬가지로 채굴을 하고있어야 컨트랙트를 배포할 수 있습니다.
채굴을 하고있지 않다면 cmd창에서 miner.start() 를 입력하여 채굴을 시작합니다.
미스트 메인 화면인 지갑 하단에 트랜잭션이 생성된 것을 볼 수 있습니다.
컨트랙트 버튼을 눌러 보면 주문형 컨트랙트에도 생성된 것을 볼 수 있습니다.
실행 결과를 확인하기 위해 위 사진에서 새로 생성된 컨트랙트를 클릭합니다.
(위 사진에서 SIMPLE STORAGE 6503)
컨트랙트에 쓰기>함수선택 > Set 선택합니다.
입력칸에 100을 입력하고 실행합니다.
비밀번호를 입력하고 트랜잭션을 보내면
잠시 후 왼편의 "컨트랙트에서 읽어옴" 영역에 100이라는 값이 출력되는 것을 볼 수 있습니다.
(안 보인다면 채굴 중인지 확인해주세요)
'STUDY > 블록체인' 카테고리의 다른 글
[이더리움 베이직] Solidity 문법1 (0) | 2018.03.13 |
---|---|
[이더리움 베이직] Remix (0) | 2018.03.13 |
[이더리움 베이직] 이더 송금하기 (0) | 2018.03.13 |
[이더리움 베이직] 새로운 계좌 개설하기 (0) | 2018.03.13 |
[이더리움 베이직] Mist 브라우저 (0) | 2018.03.12 |