본문 바로가기
블록체인교육/솔리디티

9. 솔리디티 배열, 맵핑

by Danny_Kim 2020. 11. 10.

🔑 코인 투자 추천 링크 🔑

  1. 비트코인, 알트코인 투자 노하우 모두 공개
  2. OKX 거래소 - 20% 수수료 할인
  3. 플립스터 거래소 - USDT 15% 이자
  4. 바이비트 거래소 - 공식 파트너 할인

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 활용하여 웹으로 보여주기

* 블록체인 전문가들도 놓치기 쉬운 비트코인, 이더리움의 핵심가치 강의




 

이번시간에는 솔리디티 배열에 대해서 배워보겠습니다.

 

1) 솔리디티 배열예제

솔리디티에서는 두가지 형태의 배열을 사용할 수 있습니다.

 -동적 배열 uint[] public unitArray = [1,2,3];  // 실행시간에 크기가 결정됨

 -정적 배열 uint[3] public unitArray = [1,2,3]; // 배열 선언시 크기가 결정됨

 

 

컴파일 후 depoy후 하나씩 확인해봅니다.

 - add_Value에 데이터 입력후, valuecount를 통해서 카운터 증가된거 확인 후, value에 들어간 값 확인

다른 변수들도 값이 잘 들어왔는지, 어느 배열에 어느 값이 있는지 하나씩 체크해봅니다.

 

 

2) 솔리디티 매핑(Mapping)예제

 

2.1) 맵핑(Mapping) 기본 사용법

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

 

컴파일, Deploy후 잘 되는지 확인합니다.

 

매핑은 일반적인 프로그래밍 언어에서는 해시테이블이나 사전과 유사합니다.

키(Key) - 값(value) 형태로 쌍으로 저장되고 제공된 키(Key)를 가지고 값(value)을 얻어낼 수 있습니다.

 

위 코드에서는,

unit 자료형이 키(Key)이며, string 자료형이 값을 저장하는데 사용됩니다. names는 매핑의 식별자로 사용되었습니다.

 

2.2) 맵핑(Mapping) 구조체 및 함수활용

 

이번에는 아래의 코드를 추가로 작성합니다.

Book이라는 구조체를 만들고 addBook이라는 함수를 추가합니다.

 

Deploy후, addBook에 번호, 타이틀, 저자를 추가해봅니다.

 

 

 

2.3) 맵핑(Mapping) Address 및 스마트컨트랙트 활용

 

마지막으로, 주소를 활용한 맵핑을 코딩해봅니다.

아래 코딩에서 확인할 수 있듯이 맵핑은 중첩(매핑이 다른 매핑을 포함하는것)이 가능합니다. 

(참고 . msg.sender : 솔리디티에서 현재 함수를 호출한 스마트컨트랙트의 주소를 가르킴)

 

Deploy후, Account 주소를 가져옵니다.

 

addMyBook에 1, 이름, 저자를 입력합니다.

그리고 myBooks에 컨트랙트주소, 1을 입력하여 정상적으로 표시되는지 확인합니다.

 

 

 

소스코드

gist.github.com/gwmccubbin/e0e26032466d95ba5dd2273d88889852

 

 

블록체인 교육 문의는 아래 링크 참고 바랍니다. 

https://kimsfamily.kr/414

 

블록체인 교육 커리큘럼 및 프로필

안녕하세요 제 프로필을 간략하게 정리하였습니다. 비즈니스 문의는 dannykim@kakao.com 으로 연락주시기 바랍니다. 감사합니다. 프로필) 블록체인 강의 경력) 1. 블록체인 강의 (20년~현재) 2022년  -

kimsfamily.kr

 

🔑 코인 투자 추천 링크 🔑

  1. 비트코인, 알트코인 투자 노하우 모두 공개
  2. OKX 거래소 - 20% 수수료 할인
  3. 플립스터 거래소 - USDT 15% 이자
  4. 바이비트 거래소 - 공식 파트너 할인

댓글