페이지상단으로이동

메타마스크 확장: 파일코인을 위한 스냅

    • 이은혜 기자
    • |
    • 입력 2022-08-03 09:42
    • |
    • 수정 2022-08-03 09:42
▲메타마스크 플라스크의 첫 번째 스냅으로 파일코인과 이더리움을 더욱 가깝게 만들기

웹3가 계속 성장하고 생태계 간 상호운용성이 확장됨에 따라 세계 최고의 인센티브 스토리지 계층인 파일코인과 이더리움(Ethereum) 간의 통합은 시간문제였다. 그런 점에서 체인세이프(ChainSafe)는 메타마스크 내에서 파일코인 지원을 실험적 기능으로 활성화하기 위해 메타마스크플라스크(MetaMask Flask)에 파일스냅을 출시한 것을 자랑스럽게 여긴다.

스냅이란?

먼저 메타마스크 플라스크가 무엇인지 이해해야 한다. 플라스크(Flask)는 메타마스크가 최근 발표한 잘 알려진 암호 확장의 카나리아 배포판이다. 이는 가드레일이 없는 메타마스크의 실험 버전, 즉 개발자를 위한 시험장이다.

⚠ 면책 사항: 메타마스크 플라스크는 테스트 목적으로만 사용된다. 모든 기능은 새롭고 실험적이며 실제 개인 키를 플라스크로 가져와 가능한 악용에 노출된다.

더 나아가 플라스크에서 출시된 첫 번째 기능인 스냅에 대해 알아보자. 스냅을 통해 개발자는 핵심 메타마스크 팀의 개입 없이 런타임에 메타마스크의 기능을 확장할 수 있다. 이것은 확장성을 만들고 개발자에게 자신의 기능을 추가하여 대중에게 공개할 수 있는 유연성을 제공한다.

스냅은 기본적으로 메타마스크용 플러그인이다. 즉, 격리된 환경에서 실행할 수 있고 맞춤형 방식으로 지갑 환경을 지정하는 데 사용할 수 있는 사용자 지정 프로그램입니다. 메타마스크에 새로운 API, 새로운 기능을 추가하고, 내부 메타마스크 API를 사용하여 기존 기능을 수정할 수 있으며, 다른 프로토콜에 대한 사용자 키를 가장 강력하게 관리할 수 있다.

스냅 사용에 대한 자세한 내용은 여기에서 설명서를 확인하면 된다.

현재 메타마스크 UI를 수정할 수 없고 스냅과 메타마스크 간의 제한된 API를 포함하여 스냅의 반복에는 여전히 몇 가지 기술적 한계가 있다. 이러한 것들이 작업되고 있지만, 그런데도, 현재 스냅의 릴리스는 체인세이프에게 메타마스크, 이더리움, 파일코인 모든 것에 대한 도메인 전문 지식을 융통할 기회를 주었다.

필스냅(FilSnap)이란?

간단히 말해서, 필스냅을 사용하면 dApp 개발자가 메타마스크 확장자를 통해 파일코인 지원을 통합하는 웹3 애플리케이션을 구축할 수 있다. 아직 사용할 수 없지만, 스냅이 파일코인 네트워크에 대한 관련 정보와 상호 작용을 통해 메타마스크 UI를 확장하는 것이 궁극적인 목표이다.

현재 상태에서 dApp 자체는 필스냅과 상호 작용하기 위해 프런트 엔드를 표시해야 한다. 이와 연관된 다양한 기능을 보여주기 위해 데모 dApp를 만들었다. 여기서 사용자는 파일코인 계정과 잔액을 보고, FIL 트랜잭션을 보내고, 파일코인 키로 암호화 서명된 메시지를 생성할 수 있다. 해당 링크는 이것이 어떻게 생겼는지에 대한 데모이다.

다음은 dApp가 보다 일반적으로 필스냅을 사용하는 방법을 보여 주는 예다.

일부 세부 사항을 확대하기 위해, 필스냅은 정확히 어떻게 파일코인 주소를 생성하나? 스냅 전용 RPC method snap_getBip44를 통해 메타마스크에서 제공하는 엔트로피를 사용한다. 엔트로피에서 필스냅은 최종 주소를 도출한다. 이 구현 방법에 대한 자세한 내용은 여기에서 확인할 수 있다.

또한 스냅 전용 RPC 메서드인 snap_manageState를 사용하여 상태 개체를 유지하는 기능을 가지고 있다. 임의 개체를 상태에 저장할 수 있다. 필스냅은 이를 사용하여 스냅 구성(파생 경로, RPC 끝점 등)과 실행된 트랜잭션에 대한 세부 정보를 유지한다.

메타마스크 Snap을 개발하며 발생하는 여러 가지 문제들.

첫 번째 문제는 스냅샷이 SES(Secure EcmaScript)라는 가상 환경에서 실행되고 있다는 것이다. 이는 개발자가 일부 표준 자바스크립트(javascript)방식을 사용할 수 없으며, 사용하려는 모든 라이브러리가 SES 환경과 호환되어야 한다는 것을 의미한다.

필스냅 개발 중에 SES에 몇 가지 장애물에 부딪혔지만, 항상 추가 코드를 작성하거나 대체 라이브러리를 찾아 해결책을 찾았다. SES를 사용하면 표준 자바스크립트 프로젝트에서 가져오는 코드 오버헤드를 더 잘 알 수 있다.

모든 스냅은 현재 npm 패키지로 배포되고 있으며, 여기에서 확인할 수 있다. 이 npm URL은 필스냅 설치 시 스냅온 설치 프롬프트의 원본으로도 표시된다.

dApp 개발자가 필스냅 지원을 쉽게 추가하기를 원했기 때문에 추가 패키지인 Filnsap 어댑터를 만들었다. TypeScript 맥시멀리스트인 경우 여기에서 어댑터에 적합한 유형도 찾을 수 있다.

이 두 패키지를 통해 필스냅에 유형화된 API를 노출하고 특정 FilSnap RPC 메서드를 호출하기 위한 상용구 코드를 패킹할 수 있다. 또한 스냅 설치 프로세스를 단일 방법으로 표시한다. 노출된 API에 대한 자세한 내용은 여기에서 확인하실 수 있다.

아래에서는 FILsnap API를 사용하여 기본 FIL 트랜잭션을 전송하는 방법을 볼 수 있다.

필스냅 데모

좀 더 자세히 알고 싶다면

데모 dApp을 확인하고 필스냅을 설치한 후 메타마스크를 사용하여 첫 번째 파일코인 트랜잭션을 보내면 된다. 버그를 발견했거나 보고 싶은 기능이 있으면 저장소를 확인하고 문제를 제기하면 된다.
문서: https://github.com/chainsafe/filsnap/wiki

체인세이프 정보

체인세이프는 탈중앙화된 웹을 위한 인프라 솔루션을 전문으로 하는 선도적인 블록체인 연구개발 기업이다. 이더리움, 폴카도트(Polkadot), 파일코인 및 미나(Mina)에 대한 클라이언트 구현과 함께 파일, 스토리지, Gaming SDK체인브릿지(ChainBridge)와 같은 웹3 제품 포트폴리오를 구축하고 있다. 체인세이프는 사용자를 위한 혁신적인 제품과 개발자를 위한 더 나은 도구를 구축하기 위한 사명의 일환으로 오픈 소스와 커뮤니티 지향의 정신을 구현한다. 자세한 내용을 보려면 여기를 클릭하면 된다.

웹3의 기반 구축에 도움을 줄 수 있는 방법

질문, 의견 또는 제안이 있는 경우, 디스코드(Discord) 대화에 참여하면 된다.

또한 체인세이프는 항상 재능 있는 인재들을 찾고 있다. 관심이 있다면 채용 공고를 확인하고 [email protected]로 연락하면 된다.

웹사이트 | 트위터 | 링크인 | 유튜브 | 깃허브

더욱 다양한 정보 및 방송 관련 소식은

공식 SNS 채널을 통해 확인 가능합니다.

이은혜 기자 | [email protected]

댓글 [ 0 ]
댓글 서비스는 로그인 이후 사용가능합니다.
댓글등록
취소
  • 최신순
닫기