XRPL Docs (Korean)
  • XRPL Docs(Kor)
  • Introduction
    • XRP Ledger란?
    • XRP란?
    • Crypto Wallets
    • Transactions and Requests
    • Software Ecosystem
  • Use Cases
    • 결제(Payments)
      • P2P 결제(Peer-to-Peer Payments)
      • 예금 제한(Restricting Deposits)
      • 스마트 컨트랙트(Smart Contracts)
    • 토큰화(Tokenization)
      • 스테이블코인 발행인(Stablecoin Issuer)
      • NFT 마켓플레이스 개요(NFT Marketplace Overview)
    • 탈중앙화 금융(Decentralized Finance)
      • 알고리즘 트레이딩(Algorithmic Trading)
      • 거래소에 XRP 상장하기((List XRP as an Exchange)
  • Concepts
    • 소개
      • 컨센서스 소개
      • XRP
      • 소프트웨어 생태계
    • XRP Ledger 서버
      • rippled 서버 모드(rippled Server Modes)
      • 클러스터링(Clustering)
      • Ledger 역사
      • 피어 프로토콜(Peer Protocol)
      • 트랜잭션 검열 감지(Transaction Censorship Detection)
      • 병렬 네트워크(Parallel Networks)
      • 수정안(Amendments)
        • XRP Ledger에 코드를 기여하는 방법
        • 알려진 수정안
      • 클리오 서버(The Clio Server)
    • 컨센서스 네트워크(Consensus Protocol)
      • 컨센서스 구조(Consensus Structure)
      • 컨센서스 원칙과 규칙(Consensus Principles and Rules)
      • 공격과 실패 모드에 대한 컨센서스 보호(Consensus Protections Against Attacks and Failure Modes)
      • 불변성 체크
      • 부정 UNL
      • 트랜잭션 취소 정보
      • 트랜잭션 변조 가능성
      • 수수료 투표
      • 컨센서스 연구
    • Ledgers
      • Ledger 구조(Ledger Structure)
      • 개방형, 폐쇄형, 검증형 Ledgers(Open, Closed, and Validated Ledgers)
      • Ledger 마감 시간(Ledger Close Times)
    • 트랜잭션(Transactions)
      • 수수료(Fees)
      • 신뢰할 수 있는 트랜잭션 제출(Reliable Transaction Submission)
      • 보안 서명(Secure Signing)
      • 출발, 데스티네이션 태그(Source and Destination Tags)
      • 트랜잭션 비용(Transaction Cost)
      • 트랜잭션 대기열(Transaction Queue)
      • 결과의 불변성(Finality of Results)
        • 트랜잭션 결과 조회(Look Up Transaction Results)
        • Transaction Malleability
    • 결제 유형
      • XRP 직접 결제
      • 교차 화폐 결제
      • 수표
      • 에스크로
      • 부분 결제
      • 결제 채널
    • 토큰(Tokens)
      • Non-Fungible Tokens
        • NFT 정보 저장소(NFT Payload Storage)
        • XRP Ledger에서 NFT 토큰 거래(Trading NFTokens on the XRP Ledger)
        • NFT Reserve Requirements
        • 일괄 발행(Batch minting)
        • 다른 계정에게 NFT 발행 권한 부여(Authorizing Another Account to Mint Your NFTs)
        • NFT 경매 진행하기(Running an NFT Auction)
        • NFT를 컬렉션으로 발행하기(Minting NFTs into Collections)
        • NFT의 고정 공급 보장하기(Guaranteeing a Fixed Supply of NFTs)
        • NFT 관련 API(NFT APIs)
      • 신뢰선과 발급(Trust Lines and Issuing)
      • 승인된 신뢰선(Authorized Trust Lines)
      • 토큰 환수(Clawing Back Tokens)
      • Freezing Tokens(토큰 동결)
        • 동결에 대한 일반적인 오해(Common Misunderstandings about Freezes )
      • Rippling
      • 이체 수수료(Transfer Fees)
      • 경로(Paths)
      • Demurrage(과잉보유비용)
      • 탈중앙화 거래소(Decentralized Exchange)
        • 제안(Offers)
        • Auto-Bridging
        • Tick Size
        • AMM(Automated Market Makers)
    • 계정
      • 다중 서명
      • 티켓
      • 계정 유형
      • 계정 삭제
      • 준비금(Reserves)
      • 주소(Addresses)
      • 암호화 키(Cryptographic Keys)
      • 입금 승인(Deposit Authorization)
  • Tutorials
    • 퍼블릭 서버(Public Servers)
    • Python
      • Python으로 시작하기(Get Started Using Python)
      • python 모듈형 튜토리얼(Modular Tutorials in Python)
        • python을 이용한 Send Payments(Send Payments Using Python)
          • 계정 생성 및 XRP 전송(Create Accounts and Send XRP Using Python)
          • 신뢰 생성 및 Currency 전송 (Create Trust Line and Send Currency Using Python)
          • 시간 보류 에스크로 생성(Create Time-based Escrows Using Python)
        • python을 이용한 NFTs(NFTs Using Python)
          • NFTs 발행과 소각(Mint and Burn NFTs Using Python)
          • NFTs 전송 (Transfer NFTs Using Python)
          • NFT 판매 중개 (Broker an NFT Sale Using Python)
          • 공인 발행인 지정 (Assign an Authorized Minter Using Python)
          • NFTs 일괄 발행 (Batch Mint NFTs Using Python)
        • Python에서 데스크톱 지갑 구축(Build a Desktop Wallet in Python)
    • JavaScript
      • JavaScript로 시작하기(Get Started Using JavaScript)
      • JavaScript 모듈형 튜토리얼(Modular Tutorials in JavaScript)
        • JavaScript를 이용한 Send Payments(Send Payments Using JavaScript)
          • JavaScript를 이용한 계정 생성 및 XRP 전송(Create Accounts and Send XRP Using JavaScript)
          • JavaScript를 이용한 신뢰선 생성 및 화폐 전송(Create Trust Line and Send Currency Using JavaScript)
          • 시간 기반 에스크로 생성하기(Create Time-based Escrows Using JavaScript)
          • 조건부 에스크로 생성하기(Create Conditional Escrows Using JavaScript)
        • JavaScript를 이용한 NFTs(NFTs Using JavaScript)
          • JavaScript를 이용한 NFTs 발행 및 소각(Mint and Burn NFTs Using JavaScript)
          • JavaScript를 이용한 NFTs 전송(Transfer NFTs Using JavaScript)
          • JavaScript를 이용한 NFT 판매 중개(Broker an NFT Sale Using JavaScript)
          • JavaScript를 이용한 공인 발행인 지정(Assign an Authorized Minter Using JavaScript)
          • JavaScript를 이용한 NFTs 일괄 발행(Batch Mint NFTs Using JavaScript)
      • JavaScript를 이용한 브라우저 지갑 개발(Build a Browser Wallet in JavaScript)
      • JavaScript를 이용한 데스크탑 지갑 개발(Build a Desktop Wallet in JavaScript)
    • Java
      • Java로 시작하기(Get Started Using Java)
    • HTTP / Websocket APIs
      • HTTP/WebSocket API 사용 시작하기(Get Started Using HTTP / WebSocket APIs)
      • WebSocket으로 수신 결제 모니터링(Monitor Incoming Payments with WebSocket)
    • Tasks
      • 계정 설정 관리(Manage Account Settings)
        • 일반 키 쌍 할당
        • 일반 키 쌍 변경 또는 제거
        • 마스터 키 쌍 비활성화
        • 다중 서명 설정
        • 다중 서명 트랜잭션 전송
        • 데스티네이션 태그 필요
        • 오프라인 계정 설정 튜토리얼
        • 티켓 사용(Use Tickets)
      • XRP 보내기(Send XRP)
      • 특수 결제 유형 사용(Use Specialized Payment Types)
        • 에스크로 사용(Use escrow)
          • 시간 보류 에스크로 보내기(Send a Time-Held Escrow)
          • 조건부 보류 에스크로 보내기(Send a Conditionally-Held Escrow)
          • 만료된 에스크로 취소(Cancel an Expired Escrow)
          • 에스크로 조회(Look up Escrows)
          • 에스크로를 스마트 컨트랙트로 사용(Use an Escrow as a Smart Contract)
        • 결제 채널 사용(Use Payment Channels)
          • 결제 채널을 열어 거래소 간 네트워크 활성화(Open a Payment Channel to Enable an Inter-Exchange Network)
        • 수표 사용(Use Checks)
          • 수표 전송(Send a Check)
          • 정확한 금액의 수표 현금화(Cash a Check for an Exact Amount)
          • 유연한 금액의 수표 현금화(Cash a Check for a Flexible Amount)
          • 수표 취소(Cancel a Check)
          • 발신자별 수표 조회(Look Up Checks by Sender)
          • 수취인별 수표 조회(Look Up Checks by Recipient)
      • 토큰 사용(Use Tokens)
        • 대체가능한 토큰 발행(Issue a Fungible Token)
        • 탈중앙화 거래소에서 거래(Trade in the Decentralized Exchange)
        • 동결 금지 활성화
        • 글로벌 동결 시행
        • 신뢰선 동결하기
    • Apps 구축
      • JS에서 데스크톱 지갑 구축
      • JS에서 브라우저 지갑 구축
    • XRP Ledger 비즈니스
      • XRP 차트에 거래소 등록하기
      • 스테이블코인 발행자 되기
    • rippled 서버 관리
      • rippled 설치
        • 시스템 요구 사항
        • CentOS/Red Hat에 yum으로 설치하기
        • 우분투 또는 데비안 리눅스에 설치
        • 리눅스에서 자동 업데이트
        • CentOS/Red Hat에서 수동 업데이트
        • 우분투 또는 데비안에서 수동 업데이트
        • 리포팅 모드에서 rippled 빌드 및 실행
        • 용량 계획
        • rippled v1.3.x 마이그레이션 지침
      • rippled 구성
        • rippled를 검증인으로 실행하기
        • rippled를 스톡 서버로 실행
        • 수정안 투표 구성
        • 수정안 테스트
        • StatsD 구성
        • rippled를 병렬 네트워크에 연결하기
        • 온라인 삭제 구성
        • 권고 삭제 구성
        • 히스토리 샤딩 구성
        • 전체 히스토리 구성
        • gRPC 구성
        • 공개 서명 사용
      • 피어링 구성
        • 클러스터 rippled 서버
        • 비공개 서버 구성
        • 피어 크롤러 구성
        • 링크 압축 사용
        • 피어링을 위한 포트 포워드
        • 특정 피어에 수동으로 연결
        • 최대 피어 수 설정
        • 피어 예약 사용
      • stand-alone 모드에서 rippled 기능 테스트하기
        • stand-alone 모드에서 새 제네시스 ledger 시작하기
        • stand-alone 모드에서 저장된 ledger 불러오기
        • stand-alone 모드에서 ledger 진행하기
      • 문제 해결
        • rippled 문제 진단하기
        • 상태 확인 개입
        • 로그 메시지 이해
        • rippled 서버가 동기화되지 않음
        • rippled 서버가 수정이 차단됨
        • rippled 서버가 시작되지 않음
        • SQLite 트랜잭션 데이터베이스 페이지 크기 문제 해결
    • 클리오 서버 관리
      • 우분투 리눅스에 클리오 설치
  • References
    • XRP Ledger 프로토콜 참조(XRP Ledger Protocol Reference)
      • 기본 데이터 유형(Basic Data Types)
        • base58 인코딩(base58 Encodings)
        • 화폐 형식(Currency Formats)
        • NFToken
      • Ledger 데이터 형식(Ledger Data Formats)
        • Ledger 헤더(Ledger Header)
        • Ledger 객체 IDs
        • Ledger 객체 유형
          • AccountRoot
          • Amendments
          • AMM(experimental - 수정중)
          • Check
          • DepositPreauth
          • DirectoryNode
          • Escrow
          • FeeSettings
          • LedgerHashes
          • NegativeUNL
          • NFTokenOffer
          • NFTokenPage
          • Offer
          • PayChannel
          • RippleState
          • SignerList
          • Ticket
      • 트랜잭션 참조(Transaction Reference)
        • 트랜잭션 공통 필드(Transaction Common Fields)
        • 트랜잭션 유형(Transaction Types)
          • AccountSet
          • AccountDelete
          • AMMBid
          • AMMCreate
          • AMMDelete
          • AMMDeposit
          • CheckCancel
          • CheckCash
          • CheckCreate
          • DepositPreauth
          • EscrowCancel
          • EscrowCreate
          • EscrowFinish
          • NFTokenAcceptOffer
          • NFTokenBurn
          • NFTokenCancelOffer
          • NFTokenCreateOffer
          • NFTokenMint
          • OfferCancel
          • OfferCreate
          • Payment
          • PaymentChannelClaim
          • PaymentChannelCreate
          • PaymentChannelFund
          • SetRegularKey
          • SignerListSet
          • TicketCreate
          • TrustSet
        • Pseudo-Transactions
          • EnableAmendment
          • SetFee
          • UNLModify
        • 트랜잭션 결과(Transaction Results)
          • tec Codes
          • tef Codes
          • tel Codes
          • tem Codes
          • ter Codes
          • tes Success
        • 트랜잭션 메타데이터(Transaction Metadata)
      • Binary Format
    • 클라이언트 라이브러리
      • JavaScript / TypeScript 클라이언트 라이브러
        • ripple-lib 1.x에서 xrpl.js 2.x로의 마이그레이션 가이드
      • Python 클라이언트 라이브러리
      • Java 클라이언트 라이브러리
      • Ruby 클라이언트 라이브러리
    • HTTP / WebSocket APIs
      • API 규칙
        • 요청 형식
        • 응답 형식
        • 오류 형식
        • 마커 및 페이지네이션
        • 속도 제한
        • rippled 서버 상태
      • 공개 API 메소드
        • 계정 메소드
          • account_channels
          • account_currencies
          • account_info
          • account_lines
          • account_nfts
          • account_objects
          • account_offers
          • account_tx
          • gateway_balances
          • noripple_check
        • Ledger 메소드
          • ledger
          • ledger_closed
          • ledger_current
          • ledger_data
          • ledger_entry
        • 트랜잭션 메소드
          • submit
          • submit_multisigned
          • transaction_entry
          • tx
          • tx_history
        • 경로와 오더북 메소드
          • book_offers
          • deposit_authorized
          • nft_buy_offers
          • nft_sell_offers
          • path_find
          • ripple_path_find
        • 결제 채널 메소드
          • channel_authorize
          • channel_verify
        • 구독 메소드
          • 구독
          • 구독 취소
        • Server Info 메소드
          • fee
          • manifest
          • server_info (rippled)
          • server_state
        • 클리오 서버
          • server_info
          • ledger
          • nft_history
          • nft_info
        • 유틸리티 메소드
          • json
          • ping
          • random
      • 관리자 API 메소드
        • 키 생성 방법
          • validation_create
          • wallet_propose
        • 로깅 및 데이터 관리 메소드
          • can_delete
          • crawl_shards
          • download_shard
          • ledger_cleaner
          • ledger_request
          • log_level
          • logrotate
          • node_to_shard
        • 서버 컨트롤 메소드
          • ledger_accept
          • stop
          • validation_seed
        • 서명 메소드
          • sign
          • sign_for
        • 피어 관리 메소드
          • connect
          • peer_reservations_add
          • peer_reservations_del
          • peer_reservations_list
          • peers
        • 상태 및 디버깅 메소드
          • consensus_info
          • feature
          • fetch_info
          • get_counts
          • print
          • validator_info
          • validators
        • rippled 커맨드라인 사용 참조
        • 피어 포트 메소드
          • 상태 확인
          • 피어 크롤러
          • 유효성 검증인 목록 메소드
    • xrp-ledger.toml File
  • Infrastructure
    • 커맨드 라인 사용법(Commandline Usage)
    • Install rippled
      • System Requirements
      • Install on CentOS/RedHat with yum
      • Install on Ubuntu or Debian Linux
      • Update Automatically on Linux
      • Update Manually on CentOS/Red Hat
      • Update Manually on Ubuntu or Debian
      • Build and Run rippled in Reporting Mode
      • Capacity Planning
    • Configure rippled
      • Server Modes
        • Run rippled as a Validator
        • Run rippled as a Stock Server
      • Data Retention
        • Configure Full History
        • 온라인 삭제(Online Deletion)
        • Configure Online Deletion
        • Configure Advisory Deletion
        • 히스토리 샤딩(History Sharding)
        • Configure History Sharding
      • Configure Amendment Voting
      • Test Amendments
      • Configure StatsD
      • Connect Your rippled to a Parallel Network
      • Configure gRPC
      • Enable Public Signing
    • Peering
      • Cluster rippled Servers
      • Configure a Private Server
      • Configure the Peer Crawler
      • Enable Link Compression
      • Forward Ports for Peering
      • Manually Connect to a Specific Peer
      • Set Maximum Number of Peers
      • Use a Peer Reservation
    • Testing and Auditing
      • Start a New Genesis Ledger in Stand-Alone Mode
      • Load a Saved Ledger in Stand-Alone Mode
      • Advance the Ledger in Stand-Alone Mode
    • Troubleshooting
      • Diagnosing Problems with rippled
      • Health Check Interventions
      • Understanding Log Messages
      • rippled Server Doesn't Sync
      • rippled Server is Amendment Blocked
      • rippled Server Won't Start
    • Install Clio on Ubuntu Linux
    • Run a Private Network with Docker
Powered by GitBook
On this page
  • 현재 거래 비용(Current Transaction Cost)
  • 특수 거래 비용(Special Transaction Costs)
  • 거래 비용의 수혜자(Beneficiaries of the Transaction Cost)
  • 부하 비용과 개방 ledger 비용(Load Cost and Open Ledger Cost)
  • Local 부하 비용(Local Load Cost)
  • 개방 ledger 비용(Open Ledger Cost)
  • 대기열에 있는 거래(Queued Transactions)
  • 참조 거래 비용(Reference Transaction Cost)
  • 수수료 수준(Fee Levels)
  • 트랜잭션 비용 쿼리(Querying the Transaction Cost)
  • server_info
  • server_state
  • 거래 비용 지정하기(Specifying the Transaction Cost)
  • 자동으로 거래 비용 지정하기(Automatically Specifying the Transaction Cost)
  • 거래 비용과 실패한 거래(Transaction Costs and Failed Transactions)
  • XRP 부족(Insufficient XRP)
  • 키 재설정 거래(Key Reset Transaction)
  • 거래 비용 변경(Changing the Transaction Cost)
  • 참고
  1. Concepts
  2. 트랜잭션(Transactions)

트랜잭션 비용(Transaction Cost)

Previous출발, 데스티네이션 태그(Source and Destination Tags)Next트랜잭션 대기열(Transaction Queue)

Last updated 1 year ago

스팸 및 서비스 거부 공격으로 인해 XRP Ledger가 방해받는 것을 방지하기 위해, 각 거래는 약간의 XRP를 파괴해야 합니다. 이 거래 비용은 네트워크 부하와 함께 증가하여 네트워크를 고의적이거나 실수로 과부하 상태로 만드는 것을 매우 비싸게 만드는 것이 목표입니다.

모든 거래는 거래 비용을 지불하기 위해 명시해야 합니다.

현재 거래 비용(Current Transaction Cost)

표준 거래에 대해 네트워크에서 요구하는 현재 최소 거래 비용은 0.00001 XRP (10 드롭)입니다. 이는 평소보다 높은 부하 때문에 때때로 증가합니다.

rippled에서 현재 거래 비용을 조회할 수도 있습니다.

특수 거래 비용(Special Transaction Costs)

일부 거래는 다른 거래 비용을 가집니다:

트랜잭션
부하 확장 전 비용

10 drops

0

10 drops × (1 + 제공된 서명 수)

10 drops × (33 + (주문 처리 크기(바이트) ÷ 16))

2,000,000 drops

거래 비용의 수혜자(Beneficiaries of the Transaction Cost)

거래 비용은 어떠한 당사자에게도 지불되지 않습니다. XRP는 되돌릴 수 없게 파괴됩니다.

부하 비용과 개방 ledger 비용(Load Cost and Open Ledger Cost)

거래 비용에는 두 개의 임계치가 있습니다:

  • 거래 비용이 rippled 서버의 부하 기반 거래 비용 임계치를 충족시키지 않으면, 서버는 거래를 완전히 무시합니다.

  • 거래 비용이 rippled 서버의 개방 ledger 비용 임계치를 충족시키지 않으면, 서버는 거래를 나중의 ledger 위해 대기열에 넣습니다.

이것은 거래를 대략 세 가지 범주로 나눕니다:

  • 거래 비용이 부하 기반 거래 비용에 의해 거부되는 너무 낮은 거래 비용을 명시하는 거래.

  • 현재 개방 ledger에 포함될 충분히 높은 거래 비용을 명시하는 거래.

Local 부하 비용(Local Load Cost)

각 rippled 서버는 현재 부하를 기반으로 한 비용 임계치를 유지합니다. 수수료 값이 rippled 서버의 현재 부하 기반 거래 비용보다 낮은 거래를 제출하면, 해당 서버는 거래를 적용하거나 전달하지 않습니다. (참고: 관리자 연결을 통해 거래를 제출하면, 거래가 un-scaled 최소 거래 비용을 충족하는 한 서버가 거래를 적용하고 전달합니다.) 거래의 Fee 값이 대부분의 서버의 요구 사항을 충족하지 않으면, 거래가 합의 과정에서 생존할 가능성은 매우 낮습니다.

개방 ledger 비용(Open Ledger Cost)

새 ledger 버전마다 서버는 이전 ledger의 트랜잭션 수를 기준으로 개방 ledger에 포함할 트랜잭션 수에 대한 소프트 한도를 선택합니다. 개방 ledger 비용은 개방 ledger의 트랜잭션 수가 소프트 한도와 같아질 때까지는 스케일링되지 않은 최소 트랜잭션 비용과 같습니다. 그 이후에는 개방 ledger에 포함된 각 트랜잭션에 대해 개방 ledger 비용이 기하급수적으로 증가합니다. 다음 ledger에 대해 서버는 현재 ledger에 소프트 한도보다 많은 트랜잭션이 포함되어 있으면 소프트 한도를 증가시키고, 컨센서스 프로세스가 5초 이상 걸리면 소프트 한도를 감소시킵니다.

대기열에 있는 거래(Queued Transactions)

참조 거래 비용(Reference Transaction Cost)

수수료 수준(Fee Levels)

Transaction
Minimum cost in drops
Minimum cost in Fee levels
Double cost in drops
Double cost in fee levels

참조 트랜잭션(대부분의 트랜잭션)

10

256

20

512

4개의 서명이 있는 다중 서명 트랜잭션

50

256

100

512

키 재설정 트랜잭션

0

(사실상 무한)

N/A

(Effectively infinite)

32바이트 preimage를 사용하여 EscrowFinish 트랜잭션을 마칩니다.

350

256

700

512

트랜잭션 비용 쿼리(Querying the Transaction Cost)

rippled APIs는 server_info 명령(사람용)과 server_state 명령(기계용)의 두 가지 방법으로 로컬 로드 기반 트랜잭션 비용을 쿼리할 수 있습니다.

server_info

현재 XRP 거래 비용 = base_fee_xrp × load_factor

server_state

현재 drop 단위의 거래 비용 = (base_fee × load_factor) ÷ load_base

거래 비용 지정하기(Specifying the Transaction Cost)

거래에 서명하기 전에, 우리는 현재의 부하 기반 거래 비용을 조회하는 것을 추천합니다. 부하 스케일링 때문에 거래 비용이 높다면, 감소할 때까지 기다리고 싶을 수 있습니다. 거래를 즉시 제출할 계획이 없다면, 거래 비용의 미래 부하 기반 변동을 고려하여 약간 더 높은 거래 비용을 지정하는 것을 추천합니다.

자동으로 거래 비용 지정하기(Automatically Specifying the Transaction Cost)

수수료 필드는 거래를 생성할 때 자동으로 채울 수 있는 것들 중 하나입니다. 이 경우, 자동 채우기 소프트웨어는 P2P 네트워크의 현재 부하에 기반하여 적절한 수수료 값을 제공합니다. 그러나 이 방식으로 거래 비용을 자동으로 채우는 것에는 여러 가지 단점과 제한 사항이 있습니다:

  • 네트워크의 거래 비용이 자동 채우기와 거래 제출 사이에 상승하면, 거래가 확인되지 않을 수 있습니다.

    • 거래가 확정적으로 확인되거나 거부되지 않은 상태에 머무르지 않도록 하려면, LastLedgerSequence 매개변수를 제공하여 거래가 결국 만료되도록 하십시오. 또는, 동일한 시퀀스 번호를 재사용하여 거래를 취소해 볼 수 있습니다. 최선의 관행에 대해서는 신뢰할 수 있는 거래 제출을 참조하십시오.

  • 자동으로 제공된 값이 너무 높지 않게 주의해야 합니다. 작은 거래를 보내기 위해 큰 수수료를 낭비하고 싶지 않을 것입니다.

    • 일부 클라이언트 라이브러리(예: xrpl.js, xrpl-py)는 최대 Fee 값을 설정할 수 있으며, Fee 값이 최대값보다 높은 거래에 서명하는 대신 오류를 발생시킵니다.

  • 오프라인 머신에서나 다중 서명할 때는 자동 채우기를 할 수 없습니다.

거래 비용과 실패한 거래(Transaction Costs and Failed Transactions)

거래 비용의 목적은 XRP Ledger의 P2P 네트워크를 과도한 부하로부터 보호하는 것이므로, 이는 네트워크에 분산되는 어떤 거래에든 적용되어야 합니다, 성공 여부에 상관없이. 그러나 공유 전역 ledger에 영향을 미치려면 거래는 검증된 ledger에 포함되어야 합니다. 따라서 rippled 서버는 거래가 실패하더라도 ledger에 포함시키려고 노력하며, tec 상태 코드를 가지는 거래("tec"는 "Transaction Engine - Claimed fee only"를 의미)를 포함시킵니다.

거래 비용은 거래가 실제로 검증된 ledger에 포함될 때만 보내는 사람의 XRP 잔액에서 차감됩니다. 이것은 거래가 성공적으로 간주되거나 tec 코드로 실패하더라도 마찬가지입니다.

거래의 실패가 최종적인 경우, rippled 서버는 그것을 네트워크에 전달하지 않습니다. 거래가 검증된 ledger에 포함되지 않으므로, 누구의 XRP 잔액에도 영향을 미칠 수 없습니다.

XRP 부족(Insufficient XRP)

rippled 서버가 처음으로 거래를 평가할 때, 보내는 계정이 XRP 거래 비용을 지불하기에 충분한 XRP 잔액이 없다면 서버는 terINSUF_FEE_B 오류 코드로 거래를 거부합니다. 이것은 ter (Retry) 코드이므로, rippled 서버는 거래의 결과가 최종적일 때까지 거래를 네트워크에 전달하지 않고 다시 시도합니다.

거래가 이미 네트워크에 분산되었지만 계정에 거래 비용을 지불하기에 충분한 XRP가 없는 경우, 결과 코드 tecINSUFF_FEE가 발생합니다. 이 경우, 계정은 가능한 모든 XRP를 지불하고, 0 XRP로 끝납니다. 이것은 rippled가 거래를 네트워크에 전달할지 여부를 진행 중인 ledger를 기준으로 결정하기 때문에 발생할 수 있습니다. 그러나 거래는 합의 ledger 만들 때 삭제되거나 재정렬될 수 있습니다.

키 재설정 거래(Key Reset Transaction)

이 기능은 RegularKey가 손상된 경우 계정을 복구할 수 있도록 설계되었습니다, 그리고 그럴 때 손상된 계정에 XRP가 얼마나 있는지에 대해 걱정할 필요가 없습니다. 이렇게 하면, 더 많은 XRP를 그 계정에 보내기 전에 계정을 다시 통제할 수 있습니다.

rippled는 키 재설정 트랜잭션의 명목상의 트랜잭션 비용이 0임에도 불구하고 다른 트랜잭션보다 키 재설정 트랜잭션을 우선시합니다.

거래 비용 변경(Changing the Transaction Cost)

참고

  • Concepts:

  • Tutorials:

  • References:

그 사이에 있는 트랜잭션은 나중에 l에 추가됩니다.

rippled 서버에는 거래 비용을 강제하는 두 번째 메커니즘이 있으며, 이를 개방 ledger 비용이라고 합니다. 거래가 개방 ledger 비용 요구 사항을 XRP로 충족해야만 개방 ledger에 포함될 수 있습니다. 개방 ledger 비용을 충족하지 않는 거래는 대신 할 수 있습니다.

개방 ledger 비용 요구 사항은 하며, 절대 거래 비용이 아닙니다. 일반적으로 더 높은 요구 사항을 가진 거래 유형, 예를 들어 는 최소 거래 비용 요구 사항을 가진 거래보다 개방 ledger 비용을 충족하기 위해 더 많이 지불해야 합니다.

참고: .

rippled가 서버의 로컬 로드 비용은 충족하지만 개방 ledger 비용은 충족하지 않는 트랜잭션을 수신하면, 서버는 해당 트랜잭션이 추후 ledger에 '포함될 가능성이 있는지' 추정합니다. 그렇다면 서버는 트랜잭션을 트랜잭션 대기열에 추가하고 네트워크의 다른 구성원에게 트랜잭션을 릴레이합니다. 그렇지 않으면 서버는 트랜잭션을 삭제합니다. 서버는 트랜잭션 비용을 지불하지 않는 트랜잭션으로 인한 네트워크 부하를 최소화하려고 노력합니다.

대기 중인 트랜잭션에 대한 자세한 내용은 을 참조하세요.

"참조 거래"는 부하 스케일링 전에 필요한 측면에서 가장 저렴한(무료가 아닌) 거래입니다. 대부분의 거래는 참조 거래와 동일한 비용을 갖습니다. 트랜잭션과 같은 일부 거래는 이 비용의 배수를 요구합니다. 개방 ledger 비용이 상승하면, 요구 사항은 거래의 기본 비용에 비례합니다.

수수료 수준은 최소 비용과 실제 거래 비용 사이의 비례적 차이를 나타냅니다. 은 절대 비용이 아닌 수수료 수준으로 측정됩니다. 아래 표를 참조하여 비교하세요:

을 사용하여 오픈 ledger 비용을 확인할 수 있습니다.

는 이전 ledger 기준으로 스케일링되지 않은 최소 XRP 비용을 validated_ledger.base_fee_xrp로 소수점 XRP 형식으로 보고합니다. 트랜잭션을 릴레이하는 데 필요한 실제 비용은 동일한 응답에서 서버의 현재 부하 수준을 나타내는 load_factor 매개변수에 해당 base_fee_xrp 값을 곱하여 스케일링됩니다. 다시 말해:

는 rippled의 내부 부하 계산의 직접적인 표현을 반환합니다. 이 경우, 효과적인 부하 비율은 현재의 load_factor와 load_base의 비율입니다. validated_ledger.base_fee 매개변수는 XRP의 drop 단위로 최소 거래 비용을 보고합니다. 이 설계는 rippled가 거래 비용을 정수 수학만 사용하여 계산하면서도 서버 부하에 대한 합리적인 세부 조정을 허용합니다. 거래 비용의 실제 계산은 다음과 같습니다:

모든 서명된 거래는 거래 비용을 에 포함해야 합니다. 서명된 거래의 모든 필드와 마찬가지로, 이 필드는 서명을 무효화하지 않고 변경할 수 없습니다.

일반적으로, XRP Ledger는 거래를 서명된 그대로 실행합니다. (그렇지 않을 경우 분산 합의 네트워크를 조정하는 것은 적어도 어렵습니다.) 이 때문에, 수수료 필드에서 지정된 정확한 XRP 양이 모든 네트워크 부분의 현재 최소 거래 비용보다 훨씬 많을지라도 모든 거래는 XRP를 파괴합니다. 거래 비용은 계정의 을 위해 별도로 설정될 XRP까지 파괴할 수 있습니다.

만약 당신이 rippled를 사용한다면, 의 fee_mult_max와 fee_div_max 매개 변수를 사용하여 서명할 의향이 있는 부하 스케일링에 대한 한계를 설정할 수 있습니다.

특별한 경우로, 계정의 가 비활성화된 상태에서 거래 비용이 0인 트랜잭션을 보낼 수 있습니다. 이 트랜잭션은 계정의 마스터 키 쌍으로 서명해야 합니다. 이러한 트랜잭션을 보내면 lsfPasswordSpent 플래그가 활성화됩니다.

는 처음에 비활성화됩니다. 이 플래그는 마스터 키 쌍으로 서명한 SetRegularKey 트랜잭션을 보낼 때 활성화됩니다. 계정이 XRP 를 받을 때 다시 비활성화됩니다.

XRP Ledger는 XRP의 가치가 장기적으로 변하는 것을 반영하기 위해 최소 거래 비용을 변경하는 메커니즘이 있습니다. 어떤 변경이든 컨센서스 과정을 통해 승인받아야 합니다. 더 자세한 정보는 를 참조하십시오.

Fee Escalation explanation in rippled repository
트랜잭션 대기열
트랜잭션 비용
다중 서명
수수료 방법
server_info 메소드
server_state 메소드
수수료 필드
reserve requirement
sign 메소드
lsfPasswordSpent 플래그
SetRegularKey
lsfPasswordSpent 플래그
결제
수수료 투표
Reserves
Fee Voting
Transaction Queue
Reliable Transaction Submission
fee method
server_info method
FeeSettings object
SetFee pseudo-transaction
얼마나 많은 XRP를 파괴할지
edger 버전을 위해 대기열
다음 ledger에 대기
다중 서명 거래
거래의 정상 비용에 비례
트랜잭션 비용은 트랜잭션이 검증된 ledger에 포함된 경우에만 적용되므로
개방 ledger 비용
Reference Transaction
Key Reset Transaction
Multi-signed Transaction
EscrowFinish Transaction with Fulfillment
AccountDelete Transaction