Source And Destination Tags
Source And Destination Tags

Source And Destination Tags

Setting things up

Installing Node and VS Code EditorInstalling Node and VS Code EditorInstalling "XRPL JS TS Demo" and DependenciesInstalling "XRPL JS TS Demo" and Dependencies

XRP Ledger accounts

Learning More About XRP Ledger AccountLearning More About XRP Ledger AccountGenerating XRPL AccountGenerating XRPL AccountDerive r-address From SecretDerive r-address From SecretBrief Overview of The XRP LedgerBrief Overview of The XRP Ledger

First XRPL interaction

Activate Existing XRPL Account on Test NetworkActivate Existing XRPL Account on Test NetworkConnecting and Interacting with XRP Ledger: account_infoConnecting and Interacting with XRP Ledger: account_infoInteracting with XRP Ledger using JSON-RPCInteracting with XRP Ledger using JSON-RPCError Handling and Best PracticesError Handling and Best PracticesBasics of XRP and Issued CurrencyBasics of XRP and Issued CurrencySigning Payment TransactionSigning Payment TransactionAssignment SolutionAssignment SolutionVerifying SignatureVerifying SignatureSubmit Transaction Signature To XRP LedgerSubmit Transaction Signature To XRP LedgerSubscription MethodsSubscription MethodsSubscription Methods To Build Responsive AppSubscription Methods To Build Responsive AppTransaction VerificationTransaction VerificationBalance DetailBalance DetailTransaction CostTransaction CostMeasures to Avoid Ledger SpammingMeasures to Avoid Ledger SpammingSource And Destination TagsSource And Destination TagsAccountSet Transaction: Domain, GravatarAccountSet Transaction: Domain, GravatarAccountSet Transaction: SetFlag, ClearFlagAccountSet Transaction: SetFlag, ClearFlagDeposit AuthorizationDeposit Authorization

Tokens, transactions

Issuing Token on XRPLIssuing Token on XRPLToken(IOU): Payment TransactionToken(IOU): Payment TransactionCommands To Fetch TrustLine InformationCommands To Fetch TrustLine InformationFreeze a TrustLineFreeze a TrustLineIssuer: Transfer FeesIssuer: Transfer FeesMore about TrustLineMore about TrustLineCurrency Code In Hex FormatCurrency Code In Hex FormatRemoving a TrustLineRemoving a TrustLineRequire authorization FlagRequire authorization Flag

Ledger features

AccountDelete TransactionAccountDelete TransactionTickets: TheoryTickets: TheoryTicketCreate TransactionTicketCreate TransactionDelete Ticket ObjectDelete Ticket Object

SetRegularKey

SetRegularKey: The ConceptSetRegularKey: The ConceptAssigning RegularKeyAssigning RegularKeyChange RegularKeyChange RegularKeyRemove RegularKeyRemove RegularKeyBlackhole An AccountBlackhole An Account

MultiSigning

MultiSigning: The ConceptMultiSigning: The ConceptCreate SignerListCreate SignerListReplace SignerListReplace SignerListMulti-signed Payment TransactionMulti-signed Payment TransactionRemoving SignerListRemoving SignerList

Source And Destination Tags

Intro

Importance and use case of Source and Destination Tags.

Video

Topics covered

  • How much reserve the exchanges pay?
  • How exchanges attach meaning to destination and source tags.
  • For the ledger source and destination tags are just an additional piece of information and it doesn’t hold any meaning.
  • What happens if you send payment to an exchange account and forget to include destination tag.
  • Making destination tag a required field.

References

  • Source and Destination Tags
  • AccountSet: RequireDest

Use-case

There are many use cases for Source and Destination tags, and I’ve talked about some of them in the video.

One another use case is for centralised systems(ex: exchanges): Centralised systems usually have 1 (or couple) address and it identifies its users with unique destination tag.

Problem: Now consider a scenario where one of your user wants to send funds to another user within your own system. i.e., Two of your users want to transaction.

In such a case, the transaction payload will have same address in both Account and Destination fields, the transaction(if submitted to network) fails with following error: temREDUNDANT. Clearly you are not supposed to have same address in both Account and Destination fields in a transaction.

Solution: Use source and destination tags.

Since the transactions will be happening with in your own centralised system, you can just check if both Account and Destination is same(and that the address belongs to you), then look up the source and destination tags in your own database to identify the sender and receiver, and change the balance of them directly in your database, instead of submitting the transaction to the ledger.

💡
Final tip: Source and destination tags do not have any direct on ledger functionality.

← Previous

Avoid Ledger Spamming

Next →

Domain and Gravatar

  • Source And Destination Tags
  • Intro
  • Video
  • Topics covered
  • References
  • Use-case
💠
https://xrpl-labs.com

Footer Social Icons

© XRPL Labs - https://xrpl-labs.com