Label 309 · 오픈 소스
Label 309 생태계
하나의 개방형 표준과, 그것을 뒷받침하는 완전한 레퍼런스 구현 모음입니다. 기계가 읽을 수 있는 명세, TypeScript·Python·Rust SDK, 그리고 명령줄 도구를 모두 공개합니다. 코드는 Apache-2.0, 명세는 CC-BY-4.0 라이선스를 따릅니다. 그대로 사용해도 되고, 직접 구현해도 됩니다. Label 309는 표준이며, 누구나 자유롭게 구현할 수 있습니다.
label-309
표준 그 자체
완전하고 기계가 읽을 수 있는 명세 일체입니다. 문서로 작성된 표준 본문, CDDL 문법, 알고리즘 레지스트리, JSON Schema, 그리고 모든 구현이 대조 검사되는 적합성 벡터를 포함합니다.
레퍼런스 SDK
같은 표준을 세 번 구현했습니다. 브라우저와 Node용, Python용, 그리고 Rust용입니다.
TypeScript
브라우저와 Node용 SDK.
단독으로 동작하는 검증기, 게이트웨이를 가리지 않는 HTTP 클라이언트, 그리고 fetch 헬퍼를 갖추고 있습니다. SDK를 설치하면 그 토대가 되는 폐쇄형 카탈로그 암호 프리미티브와 와이어 포맷 라이브러리도 함께 들어오므로, 의존성 하나로 스택 전체를 얻을 수 있습니다.
설치
$ npm install @cardanowall/sdk-ts@cardanowall/sdk-ts
더 낮은 수준의 구성 요소
Python
Python용 SDK.
TypeScript SDK와 바이트 단위까지 동일한 쌍둥이 구현으로, 같은 정규 CBOR 테스트 벡터로 대조 검증합니다. Python에서 레코드를 검증하고, 와이어 포맷을 인코딩하며, 봉인된 존재 증명을 만들 수 있습니다.
설치
$ pip install cardanowall-sdkcardanowall-sdk
Rust
Rust용 SDK.
TypeScript와 Python SDK와 바이트 단위까지 맞춘 쌍둥이 구현입니다. 블로킹 방식으로 동작하고 기본적으로 안전하게 설계되어, 네이티브 애플리케이션과 서비스에 적합합니다. 자세한 API 문서는 docs.rs에 공개되어 있습니다.
설치
$ cargo add cardanowallcardanowall
cardanowall-cli
명령줄
Rust SDK를 바탕으로 한, 게이트웨이를 가리지 않고 원시 시드를 우선하는 명령줄 도구입니다. 레코드 검증, 받은함 작업, Merkle 증명 생성과 확인, 서명, 제출을 터미널이나 CI 파이프라인에서 곧바로 처리할 수 있습니다.
설치
$ cargo install cardanowall-cli바이너리: cardanowall
게이트웨이를 가리지 않고, 원시 시드를 우선합니다.
명령
- verify
- inbox-list
- inbox-decrypt
- inbox-sync
- merkle-verify
- merkle-build
- sign
- submit
설계상 동일함
TypeScript·Python·Rust SDK는 같은 정규 CBOR 테스트 벡터에 대해 바이트 단위로 일치합니다. 한 구현으로 인코딩한 레코드는 다른 구현으로 인코딩한 것과 비트 단위까지 똑같으므로, 어느 구현이 만든 레코드인지에 따라 검증이 달라지는 일은 결코 없습니다.
직접 구현하기
Label 309는 발행자에 구애받지 않고 단독으로 검증할 수 있습니다. 그 어떤 부분도 여기서 소개한 도구나 특정 벤더에 얽매이지 않습니다. 명세는 완성되어 공개되어 있으므로, 누구나 어떤 언어로든, 어떤 플랫폼을 위해서든 새로운 구현을 처음부터 작성하여 이미 제공되는 모든 것과 상호 운용할 수 있습니다. 이것은 제품이 아니라 표준입니다.