카우치베이스 카펠라

카우치베이스 카펠라로 스텔라 블록체인 거래 쿼리하기

이전에는 다음과 같은 게시물을 공유했습니다. 스텔라 자산 모니터링 방법 카우치베이스를 사용해 보았습니다. 이번 후속 글에서는 최근 스텔라 블록체인 트랜잭션(예: 거래)을 Capella DBaaS에 로드하여 샘플 애플리케이션에서 쉽게 액세스할 수 있도록 하는 방법을 보여드리겠습니다. Capella에 내장된 웹 관리 UI를 사용하면 테스트 쿼리를 실행하고, 문서를 탐색하고, 블록체인 데이터와 원활하게 상호 작용하기 위한 다양한 작업을 수행할 수 있습니다.

스텔라 거래란 무엇인가요?

스텔라는 빠르고 안전하며 저렴한 거래를 위해 설계된 탈중앙화 블록체인 플랫폼입니다. 개발자와 데이터베이스 백엔드 엔지니어에게 스텔라는 국경 간 결제, 소액 결제, 토큰화된 자산을 대규모로 처리할 수 있는 금융 애플리케이션을 구축할 수 있는 특별한 기회를 제공합니다. 스텔라의 차별점은 합의 알고리즘인 스텔라 합의 프로토콜(SCP)로, 기존 작업 증명 블록체인보다 에너지 효율이 높은 대안을 제공합니다. 이를 통해 개발자는 속도나 확장성을 저하시키지 않고 블록체인 기능을 통합할 수 있습니다.

스텔라의 API와 SDK는 다양한 프로그래밍 언어를 지원하므로 기존 데이터베이스 인프라 내에서 블록체인 기반 애플리케이션을 쉽게 구축, 연결, 관리할 수 있습니다. 개발자는 스텔라를 활용하여 최소한의 마찰과 최대의 효과로 탈중앙화 금융(DeFi)의 힘을 시스템에 도입할 수 있습니다.

Stellar 거래 는 스텔라 블록체인에서 발생하는 작업으로, 계정 간에 자산을 전송하거나 다양한 방식으로 네트워크와 상호 작용하는 것을 용이하게 합니다. 각 트랜잭션은 일련의 작업으로 구성되며 디지털 서명을 통해 개시 계정 소유자의 승인이 필요합니다. 스텔라는 단일 트랜잭션 내에서 여러 유형의 작업을 지원하므로 활용도가 매우 높습니다.

스텔라 거래의 주요 측면은 다음과 같습니다:

    • 자산 이전: 스텔라는 네이티브 XLM(루멘) 및 토큰화된 법정화폐를 포함한 모든 유형의 자산을 계정 간에 전송할 수 있습니다.
    • 경로 결제: 이 기능을 통해 사용자는 한 유형의 자산을 보내고 수신자는 다른 유형의 자산을 받을 수 있습니다. 스텔라의 탈중앙화 거래소(DEX)는 전환을 용이하게 하는 최적의 교환 경로를 자동으로 찾습니다.
    • 계정 만들기 및 관리: 거래는 새 계정을 만들고, 시작 잔액을 할당하고, 트러스트 라인과 같은 다양한 계정 매개변수를 설정할 수 있습니다(새 자산 유형을 허용하기 위해).
    • 스마트 계약(다중 서명): 스텔라는 이더리움과 같은 전통적인 스마트 컨트랙트는 없지만 다중 서명 거래와 시간 제한 작업을 지원하여 에스크로와 같은 복잡한 거래 시나리오를 허용합니다.
    • 자산 발행 및 거래: 스텔라는 누구나 커스텀 자산(토큰 등)을 발행하여 DEX에서 거래할 수 있습니다. 개발자는 자산을 토큰화하여 거래 쌍에 유동성을 제공할 수 있습니다.
    • 요금 구조: 스텔라 거래는 빠르고 저렴하도록 설계되었으며, 수수료는 1센트(XLM 단위)에 불과합니다. 이는 높은 트랜잭션 처리량과 최소한의 비용 오버헤드가 필요한 애플리케이션에 특히 유용합니다.

개발자에게 스텔라 트랜잭션은 블록체인의 빠른 확인 시간과 낮은 수수료의 이점을 누리면서 디지털 자산과 상호작용하고 탈중앙화 기능을 애플리케이션에 통합할 수 있는 쉬운 방법을 제공합니다.

Python을 사용하여 Horizon Server에서 과거 스텔라 데이터를 로드하는 방법

스텔라 호라이즌 서비스는 스텔라 생태계에서 중요한 역할을 하며 개발자와 스텔라 네트워크 사이의 가교 역할을 합니다. RESTful API를 제공함으로써 애플리케이션이 기본 스텔라 코어 노드에 직접 액세스하지 않고도 스텔라 블록체인과 쉽게 상호 작용할 수 있도록 합니다. 이러한 추상화는 개발자의 프로세스를 간소화하여 블록체인 기반 기능을 보다 쉽게 구축하고 통합할 수 있도록 합니다.

Horizon은 블록체인 상호작용에 필수적인 몇 가지 주요 기능을 처리합니다. 이를 통해 개발자는 트랜잭션을 제출하고, 유효성을 검사하고, 처리를 위해 스텔라 코어로 전달할 수 있습니다. 또한 잔액, 거래 내역, 트러스트 라인과 같은 상세한 계정 정보에 액세스할 수 있어 데이터 검색과 표시를 간소화합니다. 또한 Horizon을 통해 개발자는 스텔라 원장에서 과거 거래 및 운영 세부 정보를 쿼리할 수 있으며, 실시간 및 과거 블록체인 데이터에 모두 액세스할 수 있는 사용자 친화적인 게이트웨이 역할을 합니다.

이 예에서는 과거 거래를 기준으로 자산의 거래와 가격만 살펴보겠습니다. Horizon에서 JSON으로 반환된 거래 문서는 다음과 같습니다:


파이썬 스크립트는 가장 최근의 거래를 다운로드하고 문서를 카펠라에 업로드합니다.

Horizon 및 Couchbase에 연결하기 위한 요구 사항

카우치베이스와 스텔라 모두 스크립트를 실행하기 전에 몇 가지 요구 사항이 있습니다:

    • 우리는 Python stellar_sdk 모듈을 추가합니다. 이전 예제에서는 기본 HTTP 요청/가져오기를 대신 사용했지만, 이렇게 하면 코드를 단순하게 유지하면서 지원되는 라이브러리를 대신 사용할 수 있습니다. 설치는 pip 설치 스텔라-에스디케이.
    • 특정 자산과 관련된 거래만 보려면 다음과 같은 정보를 알아야 합니다. 자산 식별자 를 미리 입력하세요. The asset_code 는 거래되는 특정 자산을 식별하는 반면에 자산 발행자 는 자산을 발행한 스텔라 계정을 지정하여 자산의 진위 여부와 출처를 보장합니다.
      • 주의: 두 가지 요소는 거래 시 올바른 자산을 식별하는 데 매우 중요합니다!
    • 카펠라에 연결하려면 계정이 있어야 합니다. 오늘 무료 Capella 계정에 가입하세요의무가 없습니다.
    • 클러스터에는 다음과 같은 이름의 버킷이 있어야 합니다. 스텔라.
    • 또한 작업 중인 버킷에 대한 연결 URL도 알고 있어야 합니다.
    • 클러스터 액세스도 이름과 비밀번호를 사용하여 사용하도록 설정해야 합니다.
    • 이러한 설정은 Capella 관리 인터페이스를 통해 액세스할 수 있습니다.
    • 이러한 설정을 스크립트에서 호출할 local_settings.py 파일에 저장합니다:

Python으로 Stellar Horizon 데이터에 액세스하기

위의 내용을 바탕으로, 다음은 거래를 가져오는 기본 코드 함수의 샘플이며, 선택적으로 다음을 기준으로 필터링합니다. asset_code 또는 asset_issuer:

스텔라 자산 거래 가격 해독

이 예제에서는 특히 이전 샘플 문서에 표시된 세 가지 정보 집합에 관심이 있습니다:

    • 에셋_코드 및 에셋_발행자 - 샘플 문서의 28-29줄
    • 거래 금액 - 라인 26
    • 거래 가격 - 31-34 줄은 거래 중 자산의 가격이 얼마였는지 알려주며, 다음과 같은 JSON 객체에 보관됩니다. 가격:{}

처음 두 데이터 세트는 그대로 사용할 수 있는 간단한 속성입니다. 하지만 가격은 조금 더 복잡합니다. Stellar의 가격은 정밀도가 매우 높으며 부동 소수점만 사용하지 않습니다. 대신 필요에 따라 분자와 분모를 나누어 부동 소수점 가격을 생성합니다. 따라서 코드 샘플에 표시된 것처럼 25번째 줄에서 데이터베이스에 업로드하기 전에 문서에 저장할 새 속성을 계산합니다.

trade['가격_번호'] = 가격_n / 가격_d

동일한 패턴을 사용하여 다운로드 날짜, 프로젝트 이름 등 필요한 모든 종류의 속성을 추가할 수 있습니다.

이제 거래 문서가 있고 정상적으로 보이는 가격 번호가 추가되었으므로 업로드 기능 코드를 사용하여 데이터베이스에 업로드할 수 있습니다.

Python으로 카펠라에 문서 업로드하기

Capella에서 문서를 업로드 및/또는 업데이트하는 방법에는 몇 가지가 있습니다. 이 경우에는 업서트 기능을 사용하여 동일한 ID를 가진 문서를 추가하거나 교체합니다. 거래의 ID 속성에서 바로 ID를 가져오기 때문에 문서에 대한 유연한 사용자 지정 키가 Horizon을 정확하게 반영할 수 있습니다. 이는 향후 시스템 확장 시 Horizon의 과거 데이터와 일치시키는 데 유용합니다.

전체 스크립트는 여기에 포함되어 있으며, 클릭하여 확장하세요:

Capella에서 문서 보기

로 이동합니다. 데이터 도구 탭에서 카펠라의 버킷 드롭다운에서 스텔라 및 사용 _기본값 를 사용하여 범위와 컬렉션을 설정할 수 있습니다.

문서가 나열되면 파란색 숫자를 클릭하면 됩니다. DOC ID 를 클릭하여 전체 문서를 확인한 다음 아래로 스크롤하여 가격 정보를 확인합니다:

카펠라에서 스텔라 블록체인 거래 쿼리하기

이제 데이터가 Capella에 있으므로 색인을 생성하고 쿼리할 수 있습니다. 하지만 먼저 쿼리를 실행하여 약간 색다른 방식으로 시도해 보겠습니다. Capella는 똑똑해서 어떤 인덱스를 만들어야 하는지 제안할 수 있습니다. 따라서 쿼리를 실행하고 더 최적화할 수 있는 인덱스를 발견하면 제안을 합니다. 사용자는 제안을 수락하고 계속 진행할 수 있습니다.

로 이동합니다. 데이터 도구 -> 쿼리 탭을 클릭하고 쿼리 창 위의 드롭다운에서 Stellar 버킷을 선택합니다.

기본 쿼리를 지우고 이 쿼리를 입력하면 Capella SQL++ 쿼리 언어 내에서 즉석에서 가격 계산과 함께 ID, 가격, 파이썬이 계산한 가격이 포함된 거래 목록을 확인할 수 있습니다:


보시다시피, 이 기본 SQL은 FROM 를 통해 원한다면 범위와 컬렉션 및 하위 집합을 가질 수 있다고 명시했습니다.

결과는 기본적으로 아래의 JSON으로 나열되거나 표로 보도록 선택할 수 있습니다. Capella는 SQL 데이터베이스에서 일반적으로 사용되는 기본 필드 유형뿐만 아니라 문서 내의 JSON 객체도 표시할 수 있다는 점에서 강력합니다. 가격 객체입니다.

거래에 대한 인덱스 생성

Capella는 오른쪽 상단 모서리에 자동으로 색인 도움말을 제공합니다. 화면 오른쪽 가운데에 숨어 있는 경우를 대비해 탭도 있습니다.

선택 추천 빌드 쿼리가 훨씬 빠르게 실행됩니다. 제 경우 인덱싱 후 600ms에서 6ms로 단축되었습니다.

이 동영상은 라이브 뷰에서 유사한 상호 작용을 보여 주므로 다른 데이터 집합을 사용하지만 실제로 확인할 수 있습니다:

다음 단계는 무엇인가요?

Capella의 무료 버전을 사용하여 앱을 계속 구축하려면 다음과 같이 하세요. 가입하기 또는 스타터 팩 클라우드 크레딧에 대한 파격적인 할인과 Couchbase 팀의 강력한 지원도 받을 수 있습니다.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 타일러 미첼 - 선임 제품 마케팅 매니저

카우치베이스에서 선임 제품 마케팅 매니저로 일하면서 제품에 대한 지식을 대중에게 알리는 동시에 가치 있는 콘텐츠로 현장 팀을 지원하고 있습니다. 경력 절반을 GIS 분야에서 일한 그는 지리공간에 대한 개인적인 열정을 가지고 있습니다. 지금은 AI와 벡터 검색을 가장 중요하게 생각합니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.