배경 23년 9월, MailBadara 구독 서비스를 처음 개발할 당시부터 생각했던 "모바일 앱" 개발에 들어갔다. 원래 23년도 겨울방학에 구현할 생각이었는데 예정에 없던 인턴을 하게 되면서 많이 밀렸다. 저번주부터 구상에 들어가 현재 초기 모델을 구현하는 중이다! 안 바빠서 개발하는 건 아니고, 이 이상 늦어지면 졸업과제가 할 게 너무 많아질 것 같아서 병행이 불가능할 것 같았기 때문에, 차라리 미리 해버리기로 마음 먹었다. MailBadara의 접근성 이슈 모바일의 구현은 항상 머릿속에 두고 있었다. 현재의 MailBadara는 학과 소식을 매일 특정 시간마다 이메일로 보내주는 뉴스레터이다. 직접 학과 홈페이지를 들락거리지 않아도 되고, 구독만 하면 알아서 새로운 소식을 알려주기 때문에, "쉽고, ..
배경 Near Github에서 제공하는 Cookbook을 따라 계정 생성을 시도해보았다. Wallet dapp을 구현하기 위해서는 localstorage에 키를 저장해야 했기에 BrowserLocalStorageKeyStore를 사용해야 했는데 도저히 안 됐다. 니어코리아 공식 디스코드 채널의 도움으로 CLI에서 새 계정을 생성하는 데 성공해서 그 과정을 적어보고자 한다. 개발 환경 WSL: near core는 windows를 지원하지 않는다고 한다. mac/linux면 문제 없다. Node 16+ Creator Account: 새 계정을 생성하기 위해서는 일정 near를 보유한 기존 계정(Named Account, kimcookieya.testnet)이 있어야 한다. testnet에서는 계정 생성 시 ..
배경 니어프로토콜(NEAR Protocol)에서 개발하기 위해 니어를 공부해보기로 했다. 우선 니어에서 내세우는 Named Account에 관한 개념이다. 공식 Docs가 깔끔해서 어렵지 않았다. 커뮤니티 서비스를 개발하는 데 있어서 사용자 접근성이 무엇보다 중요한데 니어프로토콜의 Named Account는 읽기 쉽고 생성하기도 간편해서 매력적이다. 정리하고 보니, 우리팀은 현재 서비스를 NEAR Protocol 메인넷에 올릴 계획도 하고 있는데, 일반 유저들의 계정을 생성하기 위해서는 토큰(최소 0.001near)가 요구된다는 점이 아쉬웠다. 비용 문제보다는 "블록체인도 잘 모르는 웹2 유저들에게 NEAR 토큰을 구매하고 계정으로 옮기는 작업"이 어렵고 복잡하기 때문이다. 계정 생성은 무조건 간단하고 ..
배경 졸업과제에 사용할 블록체인 메인네트워크로 NEAR Protocol을 선택했다. ZK + DID를 기반으로 개인 정보 공개를 최소화한 신원 증명 프로토콜을 구현하기 위해 여러 네트워크를 고려해본 결과이다. 왜 NEAR Protocol인가? NEAR Protocol은 NightShade라 불리는 샤딩 기술을 내재하여 확장성에 대한 블록체인의 문제를 해결하고자 하는 프로젝트이다. 또한, 기존의 블록체인들과 달리 사람이 읽기 쉬운 형태의 계정 주소(Named Account)를 지원한다. 이 밖에도 1초 이하의 빠른 트랜잭션 속도나 접근 권한 키를 다양하게 생성하고 하위 계정 생성을 지원하는 등 다른 블록체인들과 차별화되는 여러 장점들을 갖고 있다. 이러한 장점들은 DID Method로써 채택하기에도 충분한..
배경 졸업과제의 주요 프로토콜에 DID(Decentralized Identifier)를 사용하게 되면서 DID를 이해해보려 노력해봤다. 탈중앙 ID라는 말만 들어서 굉장히 추상화된 개념이었고 실제 구현 사항과 생성 방법 같은 건 몰랐는데, 이번 기회에 DID를 파악할 수 있었다. DID는 블록체인과 독립적인 개념이기 때문에 특정 네트워크에 종속적이지 않고, DID 표준만 맞추면 문제가 없다고 한다. 졸과 프로젝트를 Near Protocol에서 구현하기로 했는데 니어프로토콜에 특화된 DID 라이브러리가 없기도 해서, SpruceKit의 DIDKit 라이브러리를 사용할 것 같다. 본격적인 프로젝트 구현에 들어가기 전에 팀원들과 같이 예제 코드를 돌리면서 DID에 대한 이해도를 최대한 끌어올릴 계획이다. 개념..