본문 바로가기

프로그래밍/Portfolio Log30

[NFT Furniture Store] 블록체인 포트폴리오 [작품 이름] NFT Furniture Store Furniture Wallet [작품 소개] NFT Furniture Store는 가구 교환권 NFT를 민팅하여 구매, 판매, 사용할 수 있는 플랫폼입니다. 가구 교환권을 사용하면 메타버스 환경에서 사용할 수 있는 가구를 얻을 수 있습니다. Furniture Wallet을 사용하여 트랜잭션 사이닝, 송금, 계정 복구 등의 작업을 수행할 수 있습니다. 메타버스 환경과 디앱을 제공하는 NFT Furniture Store, 크롬 익스텐션인 NFT Furniture Wallet으로 구성되어 있습니다. [개발 기간] 2023.12.10~2024.01.30 [주요 기능] 1. 회원가입과 로그인 2. 비밀번호 찾기 3. 프로필 - 프로필 수정 - 팔로우 기능 - 방명.. 2024. 1. 30.
[Portfolio Log] NFT 가구점 17 오랜만에 글을 쓴다. 사실 개발은 계속 하고 있었는데 귀찮음이 도져서 기록으로 남기지 않았다. 영상 하나 찍어서 올리고 글 20줄 쓰는데 얼마나 걸린다고 그걸 안 하고 있는지 ㅎㅎ;; 트랜잭션 사이닝 처리 이후에, 활동 정보를 출력하도록 처리했다. 활동 항목을 클릭하면 다음과 같은 화면이 나온다. 클라이언트에서 요청한 트랜잭션 요청을 사이닝하고 이에 따른 응답을 전달하는 부분이 작업되었다. (정확히는 app -> background -> content-script -> client로 전달) 트랜잭션 이벤트가 쌓이는 경우 뱃지 수를 카운팅 하고 있다. 또한 트랜잭션 처리 중에는 로딩을 처리하도록 수정했다. 그 외에도 트랜잭션이 쌓인 경우에 대한 처리, 팝업 중복으로 안 뜨도록 처리, 트랜잭션 감지(stor.. 2024. 1. 15.
[Portfolio Log] NFT 가구점 16 연락처, 북마크, 네트워크, 계정 등에 대한 storage 처리를 추가했다. Chrome Extension Local storage로 개발을 하기에는 빌드가 너무 오래 걸려서, 인터페이스 함수를 만들고 config 값에 따라 처리를 분기했다. (웹 스토리지와 익스텐션 스토리지를 분기하여 사용) 아마 익스텐션 설정으로 빌드하면 크롬 익스텐션 로컬 스토리지를 이용하게 될 것이다. 또한 계정 생성/임포트시 니모닉 정보로 계정을 생성하는 코드를 작성했다. 이 부분 역시 로컬 스토리지를 연동해놓아서 정상적으로 동작한다. 니모닉 정보는 따로 저장하지 않는다. 중간에 계정을 생성하는 부분은 미리 10개 계정에 대한 정보를 미리 생성하고 로컬에 저장하는 식으로 처리한다. (아마 메타마스크도 이런 식으로 처리하지 않았을.. 2024. 1. 8.
[Portfolio Log] NFT 가구점 15 2~3일치 한번에 올리는 거라 양이 많다. 프론트엔드에서 추가적으로 해야 하는 부분들을 정리했고 현재는 web3js를 가지고 계정을 생성하는 부분, 니모닉을 통해 계정 복구 하는 부분을 위주로 보고 있다. 하나씩 로컬스토리지와 연동하면서 작업할 예정이다. 아래는 추가된 화면들 2024. 1. 3.
[Portfolio Log] NFT 가구점 14 활동, 네트워크, 계정 다이얼로그를 추가하고 상단 헤더 버튼에 hover 처리를 추가했다. 정보 다이얼로그 및 구문 입력 화면 정도 추가하고 이제 슬슬 백엔드 작업을 처리할 예정이다. 2023. 12. 29.
[Portfolio Log] NFT 가구점 13 당연한 이야기지만, 월렛 개발을 할 때도 프론트엔드와 백엔드 개발을 나눠서 처리해야 했다. 기존에 개발하고 있던 NFT Furniture Store의 백엔드에서 같이 처리해줄까 생각도 했는데, 아무리 생각해도 그건 좀 설계적으로 이상하다고 판단했다. 그래서 일단 메타마스크를 토대로 어떤 기능이 있는지 정리했다. 모든 기능을 구현할 생각은 네트워크 변경, 활동 기록, 트랜잭션 수락/거절, 송금 기능 등을 처리하려고 한다. 일단 프론트엔드부터 작업 진행중에 있다. 생각보다 깔끔하게 작업되고 있고 여기에 Dialog 몇 가지 추가한 이후에 바로 백엔드 DB 설계 진행할 것이다. 월렛이 최종 보스긴 한데 꾸준히 작업해서 잘 마무리 해보자. 2023. 12. 28.
[Portfolio Log] NFT 가구점 12 메인페이지 부분과 블록체인 연동 부분을 작업했다. 그 외에 디테일 다이얼로그에서 처리가 정상적이지 않은 부분 역시 수정했다. 내일은 Wallet 개발을 본격적으로 진행해보려고 한다. 꾸준히 작업해서 메타버스 환경까지 마무리 잘 해보자. ㅎㅎ 2023. 12. 26.
[Portfolio Log] NFT 가구점 11 블록체인 네트워크에 배포할 Contract에 대한 코드를 작성했다. 리믹스 상에서 NFT 민팅, 소각, 판매, 판매 취소, 구매, 정보 가져오기 등 다양한 처리에 대한 테스트를 마쳤으며, 현재 프론트엔드에서 web3js로 통신하고 있다. 대부분의 처리는 이미 완료된 상태이고 메인 페이지 쪽에 판매중인 NFT 정보를 출력하는 부분을 작업하면 어느 정도 마무리가 될 것으로 보인다. 메타마스크를 이용한 블록체인 연동 부분을 마친 이후에는 크롬 익스텐션으로 Wallet 개발을 진행할 예정이다. 나는 메타버스 환경보다 Wallet 개발쪽이 최종보스라고 생각하고 있다. 물론 세부적인 통신 처리는 어느 정도 테스트를 했지만, 디테일한 부분은 아직 해보기 전이니까. 컨트랙트 코드에서 msg.sender, msg.val.. 2023. 12. 26.
[Portfolio Log] NFT 가구점 10 프로필 변경 부분을 작업했으며, Furniture World 정보 API를 연동했다. S3를 연동하였는데 생각보다 그렇게 어렵지 않더라. 아마존 콘솔에서 S3버킷 생성해주고, 버킷 정책 수정해주고 IAM 사용자 추가해주고 그 정보 가지고 server에서 연동하면 된다. 프론트에서 form-data 형태로 값을 던지고, express에서 미들웨어 방식으로 처리하니까 잘 되더라. 개발하다가 약간 루즈해서 switft 문법을 공부하고 있다. 코틀린하고 비슷하면서도 독특한 문법 특히 괄호 잘 안 쓰는 부분이 독특하긴 하더라. 앞으로도 꾸준히 스위프트도 공부해서 iOS앱 개발도 할 줄 알아야 할 것 같다. 블록체인 코드와 연동하여 일단 NFT Furniture Store에서 필요한 코드를 연동해주고(일단 메타마스.. 2023. 12. 24.
[Portfolio Log] NFT 가구점 9 유저 정보 페이지의 가구 API, 팔로워, 팔로잉, 댓글 API를 연동했다. 로그인을 하지 않은 경우나, 자신의 정보 페이지가 아닌 경우 등 각 권한에 맞추어 적절하게 버튼을 숨기거나, 처리를 달리하고 있다. 프로필 편집 기능, 이미지 업로드 기능 등을 작업하고 ethers 라이브러리를 이용하여 블록체인 부분을 연동하고(일단 메타마스크 사용) 이후에 크롬 익스텐션 개발을 진행하면서 Wallet 기능을 구현할 생각이다. 하나씩 해보자. 2023. 12. 23.