NCD(Near Certified Developer) 후기

채동기·2023년 4월 4일
2

Near

목록 보기
1/1

NCD(Near certified develper) DemoDay를 마치고 작성하는 후기입니다.
NCD에 대한 설명과 하면서 제가 느낌 점 위주의 글입니다.

NCD 프로그램이란?

https://learnnear.club/courses/near-certified-developer/

NEAR 플랫폼에서 스마트 계약을 디자인, 개발, 테스트 및 배포할 수 있는 능력을 대표하는 수료증인 NEAR 인증 개발자(NCD) 자격증을 취득하는 프로그램입니다.

프로그램의 목적은?

  • web3 애플리케이션에 대한 이해
  • NEAR에서 구축된 web3 애플리케이션의 스마트 컨트랙트의 이해
  • 자바스크립트 및/또는 Rust로 자신의 컨트랙트를 작성하고 수정할 수 있는 능력
  • 애플리케이션에서 단위 테스트와 통합 테스트를 사용
  • 테스트넷에 앱을 배포하고 NEAR CLI를 사용하여 상호 작용할 수 있음
  • 자신의 프로젝트 빌드

프로그램의 대상은?

  • 기본적인 프로그래밍 지식을 가지고 있는 개발자, 1년 이상의 경험을 가진 사람
  • NEAR 프로토콜 위에 자신의 web3 제품을 만들고자 하는 경험이 있는 개발자

인증받기 위해 해야되는 것은?

6단계의 원격 프로그램을 해야합니다. 단계당 적게는 2시간에서 6시간정도 필요합니다. 개발자의 역량에 따라 다를 것 같습니다.

모든 단계를 완료하고 데모 데이에 어플리케이션을 데모 데이에서 발표까지 해야 인증을 받을 수 있습니다.
인증을 받게 되면 최대 500달러의 NEAR 토큰을 받을 수 있습니다!!!

Web3에 대한 이해가 충분하다면, 프로그램을 따라오는 데에는 문제가 없을 것 같습니다.
하지만, 개발에 대한 사전 지식이 없다면 어플리케이션을 만들는데에 문제가 있을 수도 있다는 생각이 듭니다.
프론트엔드에 대한 지식과 스마트 컨트랙트에 대한 사전 지식이 있어야 어플리케이션을 만들 수 있을 꺼 같습니다. 언어 같은 경우에는 TypeScript나 Rust를 알아야 컨트랙트를 작성할 수 있습니다.
프론트엔드는 각자 자신이 쓰는 라이브러리를 사용하면 됩니다.
그리고 데모데이 발표는 무조건 1명이 한개의 프로덕트를 만드는 것이 아니라 팀으로 준비해도 괜찮습니다.
저같은 경우에는 4명이서 한팀을 이루어 준비하였습니다.
저는 프론트엔드 직무를 준비하다가 멋쟁이 사자처럼 블록체인 스쿨에서 블록체인과 솔리디티 언어에 대해서 학습하였습니다.
그리고 Rust를 배우고 싶어 조금씩 준비를 하다가 NCD를 준비하게 되어서 컨트랙트를 Rust로 작성하였습니다. 물론, Rust를 잘하는 팀원의 역할이 컸습니다.

NCD 프로그램 단계별로 해야하는 것들

사전준비

Near 계정이 필요합니다.
그리고 Near 계정에는 충분한 니어가 있어야합니다.
저는 10달러만큼의 Near를 준비했습니다.
하지만 니어에서 교육관련 NFT(링크를 남겨두었으니 관심있으시면 구경해 보세요. 그래도 한정판이긴 합니다.)를 구매를 해서 조금 부족했습니다.
NFT를 구매안했다면, 10달러로 충분할꺼 같습니다.
중간 중간에 스팸을 막기위해 과제제출이나 다른 페이지로 넘어갈때 인증을 해야하는데 이때마다 0.5Near를 내야해서 충분히 있어야 좋을 것 같습니다.

Intro

1단계는 다음 단계들을 듣기 위해 준비하는 단계라고 생각하면 될 것 같습니다.

가장 처음 해야할 것들

  1. 텔레그램 참여
  2. Learn Near 트위터 팔로우
  3. 테스트넷 계정 생성
  4. 계정을 모니터링할 수 있는 텔레그램 봇 추가

사전 지식

  1. JavaScript 클라이언트 및 서버 측 개발
  2. 터미널 제어
  3. git 명령

앞으로 할 것들

  1. 인간 역사의 맥락에서 웹 3을 인식하는 것
  2. Rust와 JavaScript에서 컨트랙트 코드 읽기
  3. Rust와 JavaScript를 사용하여 컨트랙트 작성
  4. 단위 및 시뮬레이션 테스트를 사용하여 컨트랙트 테스트
  5. 컨트랙트 및 합리적인 사용자 인터페이스 배포

1단계

Web3와 NEAR에 대해서 배우게 됩니다.

2단계 - 여기부터 core step

Near의 다양한 프로젝트를 보게 될 것입니다.
그리고 3개이상의 컨트랙트를 봐야하고, 본 컨트랙트에 대해 리뷰해야 합니다.

3단계

Near 생태계에 컨트랙트를 작성하고 어플리케이션을 만드는 방법에 대해 배우게 됩니다.

4단계

컨트랙트를 test하는 것에 대해서 배우게 됩니다.

5단계

만든 어플리케이션을 배포하게 됩니다.

여기까지의 과정중에 가장 마음에 들었던 부분은 create-near-app을 해서 프로덕트를 시작하게 되면 near-wallet.js 파일에 Wallet을 연결하고 컨트랙트의 함수를 불러오는 기능들이 이미 구현되어 있다는 점이다. 물론 좀 더 디테일하게 사용하려면 공부를 해야겠지만, 내가 사용하려고 했던 기능들을 이미 구현되어 있는 기능들로 충분했다. 이 점이 개발자들에게 빠른 프로덕트를 만들 수 있도록 도움이 될 것 같다.

6단계 - Demo Day!!!

개인적으로 가장 중요한 과정이라고 생각합니다.
여태까지 과정을 보여주는 시간입니다.
매달 마지막 금요일에 진행되고, 시간은 한국시간으로 밤 12시에 진행되었습니다.
줌을 통해 진행됩니다.
저의 팀이 발표할때는 저희 팀 한팀만 참가했습니다.
원래 한팀 정도 참가하는건지, 이번에만 그랬던건지는 잘 모르겠어요.
줌으로 예정되어 있던 시간은 1시간 정도였는데, 실제로는 30분 정도하고 끝났습니다. 아마 널널하게 계획되어 있거나, 여러팀이 참가하는걸 생각해서 1시간 정도 일정을 잡은 것 같습니다.
저희 팀 같은 경우에는 짧은 시연 영상과 Github에 Readme를 발표자료로 준비하였습니다.
정말 긴장을 많이 했었지만, 아무 문제 없이 잘 발표가 마무리 되었고 어떤 도움을 줄 수 있을지 일주일 뒤에 다시 연락준다고 하였습니다.
아마 Near에 확실하게 온보딩 할 수 있도록 도와주려고 하는 느낌이었습니다.

MY Project

마지막으로 Demo Day 후기를 작성해야합니다.

Project name : Sto_project
Team Name : T.rust
GitHub repo : https://github.com/DonggiChae/sto_project

One thing you liked the MOST about your Demo project :
한국에서 요즘 가장 많은 이야기가 나오는 STO를 주제로 만들었다는 점이 가장 마음에 든다. 최근 이 주제에 대한 많은 관심을 가지고 있었기 때문입니다. 자산을 NFT로 등록하고, 다시 여러 조각으로 분할하여 거래할 수 있는 컨셉이 가장 마음에 드는 부분입니다. 더 발전시켜 더욱 유용한 제품으로 만들어 나갈 수 있도록 노력하고 싶습니다.

One thing you liked the LESS about your Demo project :
컨셉 자체는 매우 흥미롭다고 생각한다. 그러나 토큰을 분할한 후 토큰의 가격 형성과 거래 과정이 아직 불명확하다는 것은 아쉽다. 오라클을 활용하여 이 문제를 해결하고자 했지만, 아직 그렇게 하지 못한 것이 너무 아쉽다.
프로덕트를 더욱 발전시켜 실제로 사용자들에게 도움이 되는 프로덕트가 되도록 노력해야 겠다.

후기

NCD를 준비하면서 Near Protocol을 처음 사용해보았습니다. 사용자와 개발자 모두에게 편리한 환경을 제공해준다고 들었었는데, 이번에 직접 사용해보면서 그 편의성을 느낄 수 있었습니다.

지갑을 따로 다운로드하지 않고도 바로 사용할 수 있다는 것이 큰 장점 중 하나였습니다. 다른 지갑들은 익스텐션을 설치하는 과정이 필요한 경우가 많았는데, Near Protocol에서는 https://wallet.near.org/ 에서 바로 계정을 생성하고 사용할 수 있습니다.

또한, 지갑 주소가 사람이 읽기 쉽게 되어 있어 사용하기 편했습니다. 지갑 주소를 항상 적어놓아야 했거나 복사, 붙여넣기를 했던 경험이 있는데, Near Protocol에서는 xxxx.near 또는 xxxx.testnet 이렇게 사용하면 되기 때문에 매우 편했습니다.

그리고, 월렛에 로그인되거나 거래가 발생하면 텔레그램 봇이 알람을 준다는 것도 너무 좋았습니다. 이런 기능들이 Web3로의 진입장벽을 낮춰줄 것 같은 느낌을 주었습니다.

하지만 단점으로는, Solidity를 사용하다가 Rust나 TypeScript를 사용해서 컨트랙트를 만들어야 한다는 점이 조금 불편했습니다. Rust 경험이 많이 없어서 그랬지만, TypeScript도 사용할 수 있기 때문에 어떤 언어를 사용하냐에 따라 다르게 느낄 것 같습니다.

전반적으로, Near Protocol은 사용자와 개발자 모두에게 많은 장점을 제공하고 있다고 느껴졌고 많은 서비스가 생겨난다면 많은 유저들이 유입될 것이라고 기대가 됩니다.

profile
what doesn't kill you makes you stronger

2개의 댓글

comment-user-thumbnail
2023년 5월 2일

Near NCD 해볼 생각이었는데 좋은 글 감사합니다:) 궁금한 점이 있습니다. (1) NCD를 수료하기 위해서는 기간을 얼마나 잡아야하나요? (2) 1~5단계 동안 배우고 나서 프로젝트를 준비하면 되나요? 프로젝트 준비 기간이 얼마나 되는지 궁금합니다!

답글 달기
comment-user-thumbnail
2023년 5월 8일

오 멋사 채동기님이시군요 글 잘 봤습니다!

답글 달기