본문 바로가기
블록체인 및 경제/솔리디티

7. 솔리디티 기초, 리믹스로 컨트랙트 작성하기

by kimsfamily 2020. 11. 10.

1. 스마트 계약의 시작, 리믹스 도구 사용해보기

2. 솔리디티 개발환경 구성

3. 스마트컨트랙트 작성 후 배포하기

4. openzeppelin 사용하여 ERC20 토큰 만들기

5. Ropsten 테스트넷에 ERC20토큰 배포하기

6. web3.js 와 자바스크립트를 활용한 간단한 예제

7. 솔리디티 기초, 리믹스로 컨트랙트 작성하기

8. 솔리디티 기본문법 (변수, 데이터타입, 구조체)

9. 솔리디티 배열, 맵핑

10. 솔리디티 조건문, 반복문(if, else, for)

11. 솔리디티 암호화폐 지불(호텔룸 예약하기 프로그램)

12. 솔리디티 상속

13. 리믹스 솔리디티 6.0 버전 ERC20토큰 만들기

14. web3.js 와 자바스크립트를 활용하여 (이더잔액조회) 지갑 만들기

15. 솔리디티 컨트랙트 Web.js 활용하여 웹으로 보여주기


 

이제 본격적으로 솔리디티 언어에 대해서 하나씩 살펴보겠습니다.

먼저 홈페이지에 소개된 솔리디티에 대한 간략한 설명은 아래와 같습니다.

 

Solidity is an object-oriented, high-level language for implementing smart contracts. Smart contracts are programs which govern the behaviour of accounts within the Ethereum state.

Solidity was influenced by C++, Python and JavaScript and is designed to target the Ethereum Virtual Machine (EVM).

Solidity is statically typed, supports inheritance, libraries and complex user-defined types among other features.

With Solidity you can create contracts for uses such as voting, crowdfunding, blind auctions, and multi-signature wallets.

When deploying contracts, you should use the latest released version of Solidity. This is because breaking changes as well as new features and bug fixes are introduced regularly. We currently use a 0.x version number

 

solidity.readthedocs.io/

 

Solidity — Solidity 0.7.4 documentation

1. Understand the Smart Contract Basics 2. Get to Know Solidity Once you are accustomed to the basics, we recommend you read the “Solidity by Example” and “Language Description” sections to understand the core concepts of the language. 3. Install t

solidity.readthedocs.io

 

현재 솔리디티 최신버전은 0.7.4이며 우리의 수업은 0.6.0기준으로 진행하도록 하겠습니다.

(현재 ERC20 라이브러리 등도 0.6.0에 맞추어져 있기에 현재로써는 이 버전이 가장 적절할것 같습니다.)

 

솔리디티에 대한 수업은 웹브라우저에서 코딩이 가능한 리믹스에서 사용하도록 하겠습니다.

remix.ethereum.org/

 

Remix - Ethereum IDE

 

remix.ethereum.org

1. 리믹스를 오픈하고, 파일을 생성하는걸 해보겠습니다.

browser 오른쪽에 + 버튼을 클릭

2.Counter.sol이라는 파일을 생성합니다.

'

3. 아래의 코드를 작성합니다.

 

4. 작성한 파일을 컴파일합니다.

 컴파일은 왼쪽 메뉴의 아래 아이콘을 클릭하고, 작성한 코드랑 컴파일 버전을 동일하게 맞춥니다.

그리고 아래의 컴파일을 하면, 컴파일 버튼 아래에 CONTRACT에 컨트랙트 파일이 생성됩니다.

컴파일이 되면 ABI랑 Bytecode를 확인할 수 있습니다.

아래 메뉴에서 클릭해서 메모장에서 한번 열어보세요!!

대략 아래와 같은걸 확인할 수 있습니다.

 

 

5. 이제 Deploy합니다.

왼쪽 메뉴에서 아이콘을 클릭하면, 아마 아래와 같이 설정되어 있을겁니다.

설정이 다르다면 JavaScript VM으로 선택해주세요!! 

그리고 아래 메뉴의 Deploy를 클릭합니다.

 

Deploy된건 아래 메뉴에서 실행해볼 수 있습니다.

 

getCount 버튼을 클릭해봅니다. uint256 옆에 0이 표시됩니다.

 

incrementCount를 한번 클릭후 다시 getCount해봅니다.

아래와 같이 1로 증가한걸 확인할 수 있습니다.

 

작성된 코드를 아래와 같이 리팩토링하겠습니다.

 

컴파일 후, 정상적으로 작동되는지 확인해봅니다!!

 

 

 

 

 

아래 사이트 참고하여 재작성된 강의안입니다.

www.dappuniversity.com/articles/solidity

 

반응형

댓글0