Cardano에서 거래를 구축하는 기술 가이드
저자:Adaverse
Cardano가 어떻게 작동하는지를 완전히 이해하려면 몇 가지 개념을 이해해야 합니다 --- Cardano 메커니즘은 비트코인과 매우 유사하지만 몇 가지 추가 기능이 확장되었습니다:
- UTXOs
- 네이티브 자산(토큰 및 NFT)
- 스마트 계약
간단히 말해, Cardano는 비트코인 UTXO 모델을 채택하고 이를 확장했으며, 진정으로 중요한 기능은 두 가지, 네이티브 자산과 스마트 계약입니다.
UTXOs
Cardano를 이해하는 데 가장 중요한 개념은 아마도 UTXO 모델일 것입니다 --- UTXO 모델은 처음에 비트코인에서 사용되었지만, 스마트 계약 개발에는 많은 제한이 있습니다. 이더리움은 스마트 계약을 구현하기 위해 이 모델을 포기하고 계좌 모델을 채택했습니다(스마트 계약을 지원하는 공공 블록체인 대부분이 이와 같습니다).
Cardano는 합의 계층에서 비트코인의 장점을 계승하고, 상태 선택에서는 스마트 계약의 구현 요구 사항을 고려하여 이더리움의 설계 아이디어를 참고하여 수정된 UTXO 버전(EUTXO)을 사용하여 스마트 계약을 지원합니다.
Cardano문서에는 많은 개념을 높은 수준에서 설명하는 일련의 비디오 튜토리얼이 있으며, 각 거래가 어떻게 이루어지고 UTXO가 어떻게 작동하는지를 설명합니다.
그중 첫 두 개의 UTXO 및 거래에 대한 비디오는 매우 중요한 개념으로 이해해야 하며, 이를 통해 자산이 Cardano에 어떻게 저장되는지와 각 거래에 저장된 정보에 대해 알 수 있습니다.
UTXO와 거래의 고급 개념을 이해한 후, 가장 좋은 방법은 실제로 거래를 구축하고 제출하는 것입니다. 이는 3단계로 나뉩니다:
- 거래를 구축합니다;
- 개인 키로 이 거래에 서명합니다;
- 거래를 Cardano 노드에 제출합니다;
Cardano-cli
거래를 구축하고 서명하며 제출하는 첫 번째 방법은 "Cardano-cli"를 사용하는 것입니다. 이 방법은 매우 친숙하며 거래의 성공을 거의 보장하지만, 사용자가 직접 Cardano 노드를 설정해야 합니다.
많은 일반 사용자에게 이는 분명히 큰 장벽입니다 --- 상당히 강력한 하드웨어와 많은 여유 메모리가 필요합니다.
하지만 Cardano 문서에는 노드와 CLI를 실행하는 방법에 대한가이드도 있습니다.
노드를 이미 설정했다면, 여기에서 시도할 수 있는 매우 간단한 거래에 대한가이드가 있습니다.
Cardano-serialization-lib + 경량 지갑
거래를 구축하고 제출하는 두 번째 방법은 Cardano-serialization-lib와 경량 지갑을 결합하여 사용하는 것입니다.
사용자는 원하는 어떤 경량 지갑도 사용할 수 있지만, 저는 Cardano-serialization-lib와 Yoroi 지갑을 사용하여 거래를 구축, 서명 및 테스트넷에 제출하는 방법을 보여주는 예제 프로젝트를 만들었습니다.
주요 시연은 NFT를 생성하고 이를 스크립트 주소로 전송하는 방법입니다:
- 먼저Yoroi Nightly (Yoroi 지갑의 개발 버전, 테스트넷 지원)를 설치합니다.
- 그런 다음수조에서 일부 테스트넷 ADA를 가져옵니다;
- 그런 다음 이Github 저장소를 복사하고 개발자로서 npm을 실행합니다(기본 서비스 위치는 http://localhost:8080/입니다).
토큰과 NFT
기본 거래의 작동 방식을 이해한 후, Cardano에서 토큰과 NFT가 작동하는 방식을 더 깊이 이해할 필요가 있습니다.
Cardano 문서에는 토큰과 NFT에 대한 긴 소개기사가 있으며, 사실 토큰과 NFT는 Cardano에서 "네이티브 자산"이라고 불리며, Cardano는 블록체인 계층에서 사용자 정의 토큰과 NFT를 지원하고, 이더리움은 이러한 자산을 나타내기 위해 스마트 계약을 사용합니다.
Cardano에서 토큰과 NFT의 처리 방식은 ADA와 동일하며, 본질적으로 각 자산은 고유한 ID를 가지며, ADA는 빈 문자열을 고유한 ID로 사용합니다.
토큰과 NFT에 대해 이해해야 할 두 가지 중요한 개념이 있습니다:
- 민트 전략
- 메타데이터(Metadata)
토큰의 ID는 실제로 그 민트 전략의 해시(hash)이며, 민트 전략은 민트할 수 있는지 여부를 지시하는 일련의 지침입니다.
토큰의 메타데이터는 토큰의 다른 중요한 정보가 있는 곳이며, 현재CIP25에서 토큰 메타데이터 형식을 표준화하기 위한 표준을 제공합니다.
민트 토큰
CLI를 사용하여 serialization-lib + 경량 지갑 사용,
Plutus 스크립트(스마트 계약)
Cardano를 완전히 이해하기 위해 마지막으로 해결해야 할 문제는 그 스마트 계약 시스템을 이해하는 것입니다.
하지만 이 부분을 배우는 데는 간단한 방법이 없으며, 많은 시간 투자가 필요합니다. IOG에서 발표한 일련의 비디오를 따라가는 것보다 더 나은 학습 방법은 없습니다 --- --- "Plutus Pioneer Program".
이 비디오 시리즈는 Plutus Scripts를 제작하고, 테스트하고, 배포하는 방법을 알려주며, Cardano에서 스크립트를 구축할 수 있는 많은 좋은 예제를 제공합니다.
Cardano 기술에 대한 더 많은 정보와 지식을 원하시면 Adaverse에 문의하시기 바랍니다.