본문 바로가기

분류 전체보기

(42)
BSC Testnet Web3j 스터디 (5) 단위 변환 (wei, gwei, eth) - 네트워크: BSC Testnet- 체인 ID: 97---1. 지갑 주소 생성 (Private Key, Public Key)1.1 Private Key로 Public Key 추출1.2 생성된 주소 메타마스크에 등록해보기1.3 Private Key로 서명 생성2. 단위 변환 (wei, gwei, eth)2.1 wei → eth2.2 eth → wei 이더리움 단위 변환 (wei, gwei, ether)이더리움(Ethereum)에서 모든 금액은 가장 작은 단위인 wei로 처리된다.그 이유는 컴퓨터가 소수점 계산에서 발생할 수 있는 오차를 피하기 위해서이다.모든 계산을 정수 단위로만 수행하면 금융 연산에서의 정확성을 보장할 수 있다. web3j에서는 Convert 유틸 클래스를 이용해 wei, gwei, e..
BSC Testnet Web3j 스터디 (4) Private Key로 서명 생성 - 네트워크: BSC Testnet- 체인 ID: 97---1. 지갑 주소 생성 (Private Key, Public Key)1.1 Private Key로 Public Key 추출1.2 생성된 주소 메타마스크에 등록해보기1.3 Private Key로 서명 생성Web3j로 개인키 서명(Signature) 생성 및 검증하기 이더리움 지갑의 개인키를 이용해 디지털 서명(Digital Signature) 을 생성하고, 공개키를 복구하여 검증하는 과정은 블록체인 트랜잭션이 동작하는 기본 원리이다.디지털 서명이란?디지털 서명은 메시지의 무결성과 서명자의 신원을 보장하기 위한 기술이다.이더리움에서는 ECDSA(Elliptic Curve Digital Signature Algorithm) 방식을 사용한다.서명은 크게 ..
BSC Testnet Web3j 스터디 (3) 생성된 주소 메타마스크에 등록해보기 - 네트워크: BSC Testnet- 체인 ID: 97---1. 지갑 주소 생성 (Private Key, Public Key)1.1 Private Key로 Public Key 추출1.2 생성된 주소 메타마스크에 등록해보기메타마스크란? 메타마스크(MetaMask)는 가장 널리 사용되는 이더리움 지갑 확장 프로그램이다.브라우저(Chrome, Edge, Firefox 등)에 설치하여 이더리움 및 EVM 호환 블록체인 네트워크에서 지갑을 관리하고 트랜잭션을 실행할 수 있다.특징은 다음과 같다.지갑 관리: 계정 생성, 가져오기, 내보내기 지원네트워크 관리: 메인넷뿐 아니라 테스트넷, 커스텀 RPC 네트워크 연결 가능DApp 연동: 웹 브라우저에서 탈중앙화 애플리케이션과 직접 상호작용 가능크롬 웹스토어에서 메타마스..
Querydsl에서 columnDefinition으로 인한 cast 에러 해결 경험 querydsl에서 처음 보는 이상한 에러를 마주했다,,, API 작업을 위해 mysql 쿼리를 작성하고 -> 실행하고 -> 결과가 잘 나오면 querydsl로 옮긴다. 게시글 상세조회 쪽을 작성하며 쿼리를 이런 식으로 짰다. 1. MySQL 쿼리내가 글쓴이를 팔로우했는지 여부 (followYn)내 글인지 여부 (myFeedYn)내가 좋아요 했는지 여부 (likeYn)# 로그인한 사용자의 id는 1, 조회하는 글의 id는 5라고 가정하고 하드코딩함CASE WHEN EXISTS ( SELECT 1 FROM community_follow cf WHERE cf.use_yn = 1 AND cf.following_id = 1 AND cf.follower_id = c.user..
BSC Testnet Web3j 스터디 (2) Private Key로 Public Key 추출 회사에서 온보딩으로 진행한 Web3j 학습 내용을 정리한 글입니다.- 네트워크: BSC Testnet- 체인 ID: 97---1. 지갑 주소 생성 (Private Key, Public Key)1.1 Private Key로 Public Key 추출 이더리움 지갑의 핵심은 개인키(Private Key) 하나에 모든 정보가 담겨 있다는 점이다. 개인키만 있으면 언제든 지갑 전체를 복원할 수 있다. 이미 가지고 있는 개인키를 사용해 공개키(Public Key)와 지갑 주소를 복원할 수 있다.1. 단방향 암호화의 원리이더리움 지갑은 개인키로부터 공개키와 주소가 파생되는 단방향 구조를 가진다.개인키 → 공개키 → 주소이 암호학적 관계 덕분에 개인키만 안전하게 보관하면 언제든 지갑 전체를 복원할 수 있다. 이러한 ..
QueryDSL 페이징 Count 쿼리 작성 시 groupBy 사용의 문제점 분석 페이징(Pagination) 구현은 백엔드 개발의 일반적인 요구사항이다. Spring Data JPA와 QueryDSL은 Page 객체를 통해 이를 편리하게 처리하는 기능을 제공한다. 이 과정에서는 데이터 목록을 조회하는 메인 쿼리와 전체 데이터 개수를 조회하는 Count 쿼리를 함께 사용하게 된다.이때 Count 쿼리를 작성하는 과정에서 groupBy를 잘못 사용하면, 페이징 처리에 오류가 발생할 수 있다. 문제 현상: 오류 없이 잘못된 totalCount가 반환되는 코드다음은 '특정 키워드가 포함된 댓글이 달린 게시글(Post)' 목록을 조회하며, 각 게시글에 달린 댓글 수를 집계하여 페이징으로 반환하는 코드이다.// 메인 쿼리JPAQuery query = queryFactory .select(..
BSC Testnet Web3j 스터디 (1) 지갑 주소 생성 (Private Key, Public Key) 회사에서 온보딩으로 진행한 Web3j 학습 내용을 정리한 글입니다. - 네트워크: BSC Testnet- 체인 ID: 97---1. 지갑 주소 생성 (Private Key, Public Key) 이더리움 지갑을 만든다고 하면 흔히 메타마스크 같은 지갑 앱을 떠올리지만, 사실 지갑의 핵심은 단순하다.지갑은 결국 Private Key, Public Key, Address 이 세 가지 값으로 정의된다. 자바에서는 web3j 라이브러리를 사용하여 이를 코드로 구현할 수 있다. 지갑 생성 과정이더리움 지갑은 기본적으로 다음 과정을 거쳐 만들어진다.키 쌍 생성타원곡선 암호화(SECP-256k1)를 사용해 개인키와 공개키를 생성한다.개인키는 서명에 사용되고, 공개키는 이를 검증하거나 주소를 만들 때 사용된다.주소 도..
블록체인의 이해 KOCW 블록체인의 이해 (영남대학교 조행래 교수님) 강의를 듣고 강의자료를 정리한 내용입니다. 강의를 통해 블록체인과 비트코인, 이더리움에 대해 전반적으로 이해하는 데 큰 도움을 받아서 블록체인에 입문하려는 분들께 꼭 추천드리고 싶습니다.각 강의별 시간도 30분 정도이고, 강의하시는 교수님이 진심으로 블록체인을 '재밌다'라고 생각하는 것이 느껴져서 저도 재밌게 강의를 들을 수 있었습니다. 강의 링크 : http://www.kocw.net/home/enrolment/enrolmentView.do?cid=9b27d77dda267def&lid=a0c60d39a3edc0ac 인터넷 옵션에 쿠키 허용이 안될경우 로그인이 안될 수 있습니다. 인터넷브라우저 > 도구 > 인터넷옵션 > 개인정보 > 고급 > 쿠키허용"..