전체 글65 [AWS] EBS Volume Ubuntu 서버 마운트 이번 포스트에서는 AWS EC2 인스턴스에 EBS 볼륨(스토리지 디스크)을 추가 등록하는 방법에 대해 정리한다. Ubuntu 서버 기준으로 EBS 확인, 경로 지정, 마운트 등 일련의 과정을 기록해두었다. EBS Volume을 추가하는 경우 기존에 사용중인 인스턴스에 디스크 용량이 부족하거나, 특정 데이터를 다른 디스크에 분류해서 저장하고 싶을 경우 새로운 EBS를 붙여 사용할 수 있다. 이때, 추가된 디스크는 서버에서 마운트(mount) 작업이 필요하다. 나의 경우 EC2 서버에 블록체인 노드 관련 2TB 가량의 추가 디스크가 필요해 기존 20G 스토리지에 2TB EBS 볼륨을 추가하였다. 서버 용량 및 연결 디스크 확인 먼저 EBS를 추가하려는 서버 파일시스템을 확인해야 한다. df 명령어와 lsbl.. 2022. 4. 5. [AWS] RDS 파라미터 그룹(Parameter Groups) 설정 오늘 포스트에서 AWS RDS에서 파라미터 그룹 설정법을 정리하고자 한다. 파라미터 그룹이란 무엇인지, AWS RDS에서 어떻게 설정하는지 등을 담았다. 파라미터 그룹(Parameter Groups)이란? 파라미터 그룹이란 쉽게 말해 데이터베이스의 설정 옵션값을 말한다. MySQL이든 MsSQL이든 각 데이터베이스에 맞는 설정값이 있을 것이다. AWS에서는 거의 모든 타입의 데이터베이스를 RDS에서 제공하고 있고, 개발자가 원하는 설정을 할 수 있게 서비스를 제공한다. 이것을 AWS 환경에서 파라미터 그룹으로 관리할 수 있다. 파라미터 그룹 설정 화면 이동 설정 화면으로 이동하는 방법은 매우 간단하다. AWS Console 검색창에 RDS를 검색하고, 왼쪽 메뉴 목록에서 Parameter Groups를 .. 2022. 4. 1. [NodeJS] Swagger 3.0 설정 오늘은 API 개발에서 유용하게 활용할 수 있는 GUI 라이브러리 하나를 소개하려고 한다. Swagger라는 오픈 소스 라이브러리로 HTML 화면에서 API의 URL을 직접 보고 테스트할 때 사용할 수 있는 개발 툴이다. 이번 포스트에서 Swagger란 무엇인지 알아보고, 설치 및 설정, 마지막 사용 방법까지 내용을 공유할 것이다. 들어가기 앞서 이후 가이드는 NodeJS 환경에서 작성되었고, 라이브러리 3.0 버전을 기준을 했음을 밝힌다. (Swagger는 2.x 버전과 3.x 버전 두 개가 있다.) Swagger 란 Swagger는 HTML 환경에서 REST API의 설계부터 구성, 테스트, 문서화를 가능하게하는 오픈 소스 라이브러리다. 프론트가 아직 만들어지지 않았거나, API 로직을 체계적으로 관.. 2022. 3. 31. [Ethereum] 이더리움, 블록체인 프로그래밍 참고 도서 이번 포스트에서는 블록체인, 그중 이더리움과 스마트 컨트렉트 관련 3개의 추천 도서를 소개하려고 한다. 블록체인 네트워크를 직접 운영하거나, 스마트 컨트렉트를 구현한 DApp 개발에 전문적인 지식이 필요한 사람에게 추천해주고 싶은 책들이다. 혹은 블록체인 기반 서비스 운영에 대한 전체적인 이해가 필요한 사람에게도 유용하지 않을까 싶다. 본격적인 책 소개에 앞서 내 개인적인 얘기를 한다면, 회사에서 블록체인 노드 구축 및 관리를 담당하고 있으며, 글을 쓰는 날짜(22년 03월 27일) 기준으로 NFT 관련 API와 DApp 개발에 참여하고 있다. 아직도 배워야 할게 많은 미숙한 개발자지만 지금 블록체인 관련 개발을 조금이나마 따라갈 수 있었던 것은 유용한 소스를 많이 알아두고 잘 활용했기 때문이라고 생각한.. 2022. 3. 27. [Ethereum] ERC-721 소스 분석(4) - Enumerable ERC-721 Enumerable 인터페이스 'Enumerable'이란 '나열이 가능한'의 뜻으로 해당 인터페이스의 기능은 발행한 ERC-721 토큰의 전체 리스트를 읽고 필요한 토큰 데이터를 찾게 도와주는 것이다. 메타 데이터와 같이 선택적으로 구현하는 기능이다. Enumerable이 구현되면 토큰 Index를 통해 특정 토큰 ID를 읽어오는 것이 가능하며, 특정 주소에서 소유한 ERC-721 토큰 역시 찾을 수 있다. 인터페이스에 선언된 함수 totalSupply : 총 발행된 토큰 수량 tokenByIndex : 토큰 리스트에서 특정 토큰 ID 조회 (토큰 Index 참조) tokenOfOwnerByIndex : 특정 주소 토큰 리스트에서 토큰 ID 조회 (토큰 Index 참조) // SPDX-Li.. 2022. 3. 25. [Ethereum] ERC-721 소스 분석(3) - 메타 데이터 ERC-721 메타 데이터 인터페이스 ERC-721 메타 데이터는 토큰 이름 및 토큰 상세 정보를 제공한다. ERC-721 컨트렉트를 구현할 때 필요에 따라 선택적으로 구현한다. 메타 데이터 인터페이스에서 제공하는 데이터 토큰 이름 : ERC-721 토큰 풀 네임 토큰 심볼 : ERC-721 토큰 약어 토큰 URI : ERC-721 토큰 이미지 및 상세 정보를 불러오는 URI 주소 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // [Optional] ERC-721 메타 데이터 인터페이스 // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md. interface ERC721Metadata { .. 2022. 3. 25. [Ethereum] ERC-721 소스 분석(2) - 토큰 이전 포스트에서 공유한 ERC-721 인터페이스에 이어서 해당 인터페이스들을 구현한 ERC-721 토큰 컨트렉트를 공유한다. 이 소스는 깃허브의 ERC-721 오픈 소스를 참고하여 작성하였다. 해당 오픈 소스 코드는 ERC-721 규칙을 잘 따르고 있고, 개발자 입장에서 확장성 있는 코드를 추가하기에 적합하다 판단하해 참조 자료로 선택하게되었다. ERC-721 주요 기능 이 컨트렉트 코드에서 구현된 기능은 다음과 같다. 주소 및 토큰 유효성 검증 에러 핸들링 토큰 소유 관계 매핑 토큰 권한 관계 매핑 소유자와 오퍼레이터 관계 매핑 토큰 전송 - 일반 전송(transfer)과 Receiver 인터페이스이 포함된 안전 전송(safeTransfer) 권한(Approval) 관리 토큰 발행 토큰 소각 자산 확인.. 2022. 3. 24. [Ethereum] ERC-721 소스 분석(1) - 인터페이스 ERC-721 인터페이스 ERC-721 인터페이스에 명시된 함수는 ERC-20에 비해 상대적으로 많은 편이다. 토큰 정보 확인부터 전송, 권한 설정, 주소 추적 기능이 명시되어 있다. 인터페이스 함수 목록 balanceOf : 파라미터로 전달받은 주소가 보유하고 있는 NFT 수량 반환 ownerOf : 파라미터로 전달 받은 NFT 토큰 주소를 소유하고 있는 주소 반환 safeTransferFrom : 전전송받을 주소(_to)가 NFT 토큰을 받을 수 있는지 검증하고 전송 진행(주소 종류가 EOA, CA에 따라 전달 파라미터 형식이 달라진다. 아래 코드 참조) transferFrom : NFT 소유 주소로부터 다른 주소로 토큰 전송 approve : 파라미터로 전달 받은 주소에 NFT 전송 권한 부여 se.. 2022. 3. 23. [Ethereum] ERC-721 디지털 자산에 대한 소유권(Ownership)과 관련해 ERC-721 토큰이 많이 언급된다. ERC-721이라는 이름보다 NFT으로 더 많이 알려진 이 토큰에 대해 알아보자. ERC-721란? ERT-721은 이더리움 네트워크에서 발행된 디지털 토큰이다. 다른 ERC 계열 토큰과 구분되는 가장 큰 특징은 이 토큰이 대체 불가 토큰(Non-fungible)이라는 점이다. 하나하나의 토큰이 동일한 가치를 가지는 ERC-20와 달리 ERC-721은 하나의 토큰이 고유한 가치를 가진다. 대체 불가하다는 말은 각각의 토큰이 이름은 같지만 가지고 있는 가치가 다르다는 말이다. 영화 티켓을 예로 들어보자. 티켓이 100장 있다. 어떤 티켓은 스크린이 잘 보이는 좌석에 대한 티켓일 것이고, 어떤 티켓은 스크린이 잘 안.. 2022. 3. 23. [Ethereum] ERC-20 지난 포스트에서 ERC에 대해 알아보았다. 이번에는 ERC 토큰 그룹 중 시장에서 가장 활발하게 거래되고 있는 ERC-20 토큰에 대해 알아보려고 한다. ERC-20 ERC-20 토큰이란 이더리움 네트워크에 배포된 대체 가능 토큰(Fungible Token) 중 하나다. 이더리움 네트워크에서 가장 많이 사용되는 토큰 그룹이며, 마치 우리가 사용하는 화폐처럼 계정(Account)들 간의 거래에 사용된다. 여기서 대체 가능 토큰(Fungible Token)이란 1개의 토큰은 다른 1개와 그 가치가 동일함을 의미한다. 실생활에서 100원짜리 동전을 생각하면 된다. 내가 가지고 있는 100원은 다른 사람이 가지고 있는 100원과 같다. 그렇기 때문에 지금 가지고 있는 100원이 다른 사람의 100원으로 바뀌어도.. 2022. 3. 23. [Ethereum] ERC란? 이더리움 블록체인을 공부하다 보면 ERC-20, ERC-721, ERC-1155 같은 ERC 계열 토큰 그룹이 있다는 것을 알게 된다. 이더리움 네트워크에서 발행된 토큰이면 다 똑같은 것 아닌가 싶지만, 블록체인 프로그래밍을 공부하면서 ERC란 무엇을 나타내는지, 또 뒤의 넘버링에는 각각의 의미가 있음을 알게 되었다. 이 포스트에서는 ERC란 정확히 어떤 개념인지 공부하면서 정리한 내용을 공유하려고 한다. ERC (Ethereum Request for Comments) ERC는 의미 그대로 해석하면 이더리움 네트워크에 보내는 요청 혹은 의견이라는 뜻이다. 직관적으로 이해되기에 모호한 감이 없지 않다. 조금 더 쉬운 이해를 위해 스마트 컨트렉트(Smart Contract)를 생각해보면 된다. ERC 역시 .. 2022. 3. 22. [Quorum] 쿼럼(Quorum) 기본 구성 및 설정 쿼럼 설치 후 내부 구성 및 기본 설정에 대해서 알아보자. 참고로 설치 시점 실행 클라이언트는 GoQuorum으로 설정했음을 밝힌다.( 선택 옵션으로 Hyperledger Besu와 GoQuorum 두 개가 있다.) 쿼럼 설치가 정상적으로 잘 되었다면, 서버에 아래 이미지와 같은 파일들이 구성이 되어있을 것이다. 실행 스크립트들(.sh)과 도커 파일(.yml), 실행 프로세스 관련 디렉토리들이 세팅된다. 이번 포스트에서는 전체 패키지 구성 중 블록체인 노드, 블록 익스플로러 실행 및 운영에 관련된 내용을 중점적으로 다루고자 한다. 기본 구성 쿼럼의 구성은 크게 아래와 같이 나눌 수 있다. 도커(Docker) 실행 스크립트(.sh) 노드(Node) 로그(Log) 도커(Docker) 쿼럼은 도커에 저장된 이.. 2022. 3. 22. 이전 1 2 3 4 5 6 다음