🔑 코인 투자 추천 링크 🔑
4. openzeppelin 사용하여 ERC20 토큰 만들기
6. web3.js 와 자바스크립트를 활용한 간단한 예제
10. 솔리디티 조건문, 반복문(if, else, for)
11. 솔리디티 암호화폐 지불(호텔룸 예약하기 프로그램)
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
블록체인 교육 문의는 아래 링크 참고 바랍니다.
댓글