Setting things up
Installing Node and VS Code Editor
Installing "XRPL JS TS Demo" and Dependencies
XRP Ledger accounts
Learning More About XRP Ledger Account
Generating XRPL Account
Derive r-address From Secret
Brief Overview of The XRP Ledger
First XRPL interaction
Activate Existing XRPL Account on Test Network
Connecting and Interacting with XRP Ledger: account_info
Interacting with XRP Ledger using JSON-RPC
Error Handling and Best Practices
Basics of XRP and Issued Currency
Signing Payment Transaction
Assignment Solution
Verifying Signature
Submit Transaction Signature To XRP Ledger
Subscription Methods
Subscription Methods To Build Responsive App
Transaction Verification
Balance Detail
Transaction Cost
Measures to Avoid Ledger Spamming
Source And Destination Tags
AccountSet Transaction: Domain, Gravatar
AccountSet Transaction: SetFlag, ClearFlag
Deposit Authorization
Tokens, transactions
Issuing Token on XRPL
Token(IOU): Payment Transaction
Commands To Fetch TrustLine Information
Freeze a TrustLine
Issuer: Transfer Fees
More about TrustLine
Currency Code In Hex Format
Removing a TrustLine
Require authorization Flag
Ledger features
AccountDelete Transaction
Tickets: Theory
TicketCreate Transaction
Delete Ticket Object
SetRegularKey
SetRegularKey: The Concept
Assigning RegularKey
Change RegularKey
Remove RegularKey
Blackhole An Account
MultiSigning
MultiSigning: The Concept
Replace SignerList
Create SignerList
Replace SignerList
Multi-signed Payment Transaction
Removing SignerList
Issuer: Transfer Fees
Intro
A sender should send a little more to cover the transfer fee set by the issuer.
Video
Topics covered
- XRP To XRP transfers can never have a transfer fee, as it’s not issued by any issuer.
- Range of transfer fee.
- Implementing transfer fee.
- Transfers of tokens to and from the issuer will not have a transfer fee.
- Making payment transaction with SendMax to cover the transfer fee.
- Changing the transfer rate.
Update
if (issuerDetail.account_data.TransferRate) {
const Billion = 1000000000;
const percentage = ((issuerDetail.account_data.TransferRate - Billion) / Billion) * 100;
payload.SendMax = {
currency: asset,
value: String(Number(process.argv[5]) + (Number(process.argv[5]) * percentage) / 100),
issuer: issuer,
};
}
References
Final tip: For a better UX, your client application must let the user know that they will be charged a percentage of fee by the issuer of the token for the transaction. Only execute the transaction if user agrees for it.
← Previous
Next →