JavaScript를 이용한 NFT 판매 중개(Broker an NFT Sale Using JavaScript)
이전의 예제들은 두 계정 간에 직접 구매 및 판매 제안을 만드는 방법을 보여주었습니다. 또 다른 옵션은 세 번째 계정을 판매의 중개인으로 사용하는 것입니다. 중개인은 NFT 소유자를 대신하여 행동합니다. 판매자는 목적지로 중개 계정을 가진 제안을 생성합니다. 중개인은 구매 제안을 수집하고 평가하며, 판매를 준비하는 데 동의한 수수료를 추가하여 어느 제안을 수락할지 결정합니다. 중개 계정이 판매 제안을 구매 제안으로 수락할 때, 자금과 NFT의 소유권은 동시에 전송되어 거래가 완료됩니다. 이렇게 하면 계정이 NFT 창작자와 거래자를 위한 마켓플레이스나 개인 대리인으로 행동할 수 있게 합니다.
사용법
이 예제는 다음을 보여줍니다:
중개된 판매 제안 생성하기.
중개된 아이템에 대한 제안 목록 받기.
두개 다른 계정간의 판매를 중개하기.

Quickstart Samples 아카이브를 다운로드하여 각 샘플을 브라우저에서 시도해볼 수 있습니다.
계정 받기
브라우저에서
5.broker-nfts.html을 엽니다.ledger 인스턴스를 선택합니다.
테스트 계정을 가져옵니다.
계정 seed가 있는 경우
Seeds 필드에 계정 seed 3개를 붙여넣습니다.
Get Accounts from Seeds를 클릭합니다
계정 seed가 없는 경우
Get New Standby Account를 클릭합니다.
Get New Operational Account를 클릭합니다.
Get New Broker Account를 클릭합니다.

중개 트랜잭션 준비
Standby account을 사용하여 Broker account를대상으로 하는 NFT 판매 제안을 생성합니다.
판매 제안 Amount을 드롭 단위로 입력합니다(XRP의 백만분의 일).
Flags 필드를 1로 설정합니다.
판매할 NFT의 NFT ID를 입력합니다.
선택적으로 Expiration까지 일 수를 입력합니다.
Broker 계정 번호를 Destination으로 입력합니다.
Create Sell Offer을 클릭합니다.

Operational account 사용하여 NFT 구매 제안을 작성합니다.
제안 Amount를 입력합니다.
NFT ID를 입력합니다.
Owner 필드에 소유자의 계정 문자열을 입력합니다.
선택적으로 Expiration까지 일 수를 입력합니다.
Create Buy Offer을 클릭합니다.

제안 받기
NFT ID를 입력합니다.
Get Offers를 클릭합니다.

판매 중개
판매 제안의 nft_offer_index를 복사하여 Sell NFT Offer Index 필드에 붙여넣습니다.
매입 제의 nft_offer_index를 복사하여 Buy NFT Offer Index 필드에 붙여넣습니다.
Broker Fee를 드롭 단위로 입력합니다.
Broker Sale를 클릭합니다.

제안 취소
중개인이 구매 제안을 수락한 후, 중개인에게 권한이 있는 경우 다른 모든 제안을 취소하는 것이 좋습니다. Get Offers를 사용하여 구매 제안의 전체 목록을 확인할 수 있습니다. 제안을 취소하려면:
Buy NFT Offer Index 필드에 취소할 구매 제안의 nft_Offer_index를 입력합니다.
Cancel Offer를 클릭합니다.

Code Walkthrough
Quickstart Samples 아카이브를 다운로드하여 각 샘플을 브라우저에서 시도해볼 수 있습니다.
ripplex5-broker-nfts.js
이 스크립트는 중개된 거래를 위한 새로운 기능과 동일한 화면에서 세 번째 계정을 지원하도록 수정된 기능을 가지고 있습니다.
Broker Get Offers
ledger에 연결합니다.
토큰에 대한 판매 제안 목록을 요청합니다.
토큰에 대한 구매 제안 목록을 요청합니다.
ledger에서 연결을 끊습니다.
Broker Sale
ledger에 연결해서 계정을 가져오세요.
트랜잭션을 준비합니다. 중개 판매와 직접 판매의 차이점은 합의된 중개인 수수료와 함께 판매 제안과 구매 제안을 모두 제공한다는 것입니다.
트랜잭션을 제출하고 결과를 기다립니다.
결과를 보고합니다.
ledger에서 연결을 끊습니다.
Broker Cancel Offer
broker 계정을 가져오고 ledger에 연결합니다.
토큰 ID는 반드시 array로 변환되어야 합니다.
트랜잭션을 준비합니다.
트랜잭션을 제출하고 결과를 기다립니다.
sell offers를 받고 결과를 보고합니다.
buy offers를 받고 결과를 보고합니다.
트랜잭션 결과를 보고합니다.
ledger에서 연결을 끊습니다.
Get Account
broker account를 수용하기 위해 getAccount(type) 함수를 재정의하여 브로커 타입을 감시하도록 변경하세요.
ledger에 연결합니다.
올바른 네트워크 호스트를 가져옵니다.
ledger에 연결합니다.
테스트 계정을 만들고 자금을 지원하며 진행 상황을 보고합니다.
새 계정에 대한 XRP 잔액을 가져옵니다.
해당 계정의 양식 필드를 새 계정 정보로 채웁니다.
Account Seeds 필드의 해당 줄에 새 계정 시드를 추가합니다.
ledger에서 연결을 끊습니다.
Get Accounts from Seeds
broker account 필드를 포함하도록 getAccountsFromSeeds() 함수를 재정의합니다.
ledger에 연결합니다.
split 함수를 사용하여 Seeds 필드의 값을 구문 분석합니다.
Seed 값에서 계정을 파생합니다.
계정에 대한 XRP 잔액을 가져옵니다.
계정 값을 기준으로 양식 필드를 채웁니다.
ledger에서 연결을 끊습니다.
getBalance() 함수를 사용하여 법정 통화의 현재 잔액을 가져옵니다.
Get Balances
브로커 잔액을 포함하도록 getBalances() 함수를 재정의합니다.
ledger에 연결합니다.
세 개의 계정을 각각 도출합니다.
Standby account 잔액을 가져오고 보고합니다.
Operational account 잔액을 가져오고 보고합니다.
브로커 계정 잔액을 가져오고 보고합니다.
세 계정의 XRP 잔액을 업데이트합니다.
ledger에서 연결을 끊습니다.
5.broker-nfts.html
HTML 양식을 수정하여 맨 위에 새 브로커 섹션을 추가합니다.
Last updated