[CloneCoding] OpenSea

repedore·2022년 2월 21일
0

블록체인

목록 보기
10/11
post-thumbnail

github 링크

결과물

링크

기능

Client

- Home

메인 화면이고 상단 Search bar에 NFT를 소유하고 있는 계정주소를 넣으면 그 계정이 가지고 있는 NFT list를 서버를 통해 가져온다.

- MyWallet

연결된 계정주소의 NFT list를 서버를 통해 가져온다.

- Deal

- Send

가지고 있는 NFT를 다른 유저에게 전송 할 수 있다.
(현재는 이 App 에서 만든 NFT 만 전송 가능)

- Create

새로운 NFT를 만들 수 있다.

Server

OpenSea API 를 사용하여 계정이 가지고 있는 NFT 리스트를 가져온다.

  • (OpenSea 는 어떤 방식으로 계정이 가지고 있는 NFT list를 조회할까?)
    참고글1
    참고글2

Contract

기본적인 NFT 코드를 사용하여 Send와 Create에 사용.

회고

일주일간 첫 팀프로젝트로 OpenSea CloneCoding을 해보았다.
내가 맡은 부분은 Server와 Contract 부분이었다.
내가 깨달은 프로젝트 시작하기 전과 마치고 난 후의 가장 큰 차이점이 있는데..
그건 바로 어떤 기능을 어느정도 수준으로 구현 할 것인지에 대한 합의다.
시작하기전에는 구현할 Client 페이지를 설계하고 클라이언트에 맞는 기능을 하나하나 구현하면 되겠지 라는 생각을 했었으나 막상 팀 프로젝트로 딱 시작하려니까 Server는 뭘 해야하는지, DB는 있어야 할 것 같긴한데 어디에 쓸지, Contract를 호출하는건 Server랑 Client중 누가 해야하는지, 분업을 어떻게 해야하는지 등등 전혀 감을 잡지 못했다.
일단 각자 포지션에 맞게 무언갈 해보자고는 했으나 머릿속에 구조가 그려지지 않아 답답했고 서로 연결되지 않는 무언가를 하고있었다.
절반가까이 시간이 지나고나서 우리는 다시 모여서 우리가 구현해야할 Client 페이지들을 기준으로 잡고 각 페이지에서 필수로 필요한 기능과 있으면 좋을 기능들로 구분을 먼저 했다.
필수로 필요한 기능이 잡히니 DB는 일단 배제하고 Server는 사용하는 방향으로 가닥을 잡았다.(Server는 Client의 부담을 낮추고 전체적인 확장성을 위해 추가했다고 보는게 맞다. 우리 구현 수준에서는 빼고도 가능.)
이렇게 방향이 잡히니까 각자 해야 할 일, 주고받을 데이터 포맷 등이 정해지게 되었다.
그리고 개발 속도는 덤.
개발 목표가 명확해지니 개발 시간이 촉박하게 느껴지지 않았다. 예상했던 시간보다 시간이 남았다.
이 프로젝트에서는 팀원들과의 커뮤니케이션과 개발 목표를 잘 설정하는게 중요하다는걸 느꼇다.
잘 소통하는 방법이 필요하겠다.
또 이번 경험으로 개인프로젝트를 할 때도 구상과 목표를 잡을 때 도움이 될 것 같다.

profile
관심사는 시장 분석과 자동화입니다. 펌웨어 개발자로 일을 하고 있었으나 더 깊은 백엔드 지식을 학습하고 싶어서 블록체인(백엔드)개발자로 전향을 준비중에 있습니다. 다양한 분야에서 새로운 지식을 쉽게 받아들이는 편이고 적용하려고 노력합니다.

0개의 댓글