Homework 1: Amendment Status Analysis
← Back to Amendments I: Lifecycle and Core Protocol Impact
Objective
Analyze in detail the status of an amendment on the XRPL Mainnet, interpret the response fields of the feature command, calculate the activation timeline, and assess the protocol impact of the amendment.
Format: Written report (Markdown or PDF) with screenshots and code used
Task
Connect to a public XRPL node, choose an amendment, analyze its complete status, and document its impact on the protocol.
Requirements
Connection and Discovery
Connect to a public XRPL node (
https://xrplcluster.com/orhttps://s1.ripple.com:51234/)List all amendments with
feature(HTTP or CLI)Count how many are enabled, in majority, and voting
Document the chosen node and its
server_inforesponse
Amendment Selection
Choose an amendment not yet activated (
enabled: false) but with votes (count > 0)If all are activated on Mainnet, use Testnet/Devnet
Query the specific amendment:
rippled feature <HASH>Capture the complete JSON response
Field Analysis
Interpret each response field:
name: Name and functionality (search for XLS if available)count: Number of validators voting forvalidations: Total number of trusted validatorsthreshold: Required threshold (floor(validations * 0.8))Calculate percentage:
(count / validations) * 100Verify if
count > threshold(more than 80%)majority: Timestamp if threshold exceeded (convert to UTC date)enabled: Is the amendment activated?supported: Does the node support this amendment?
Timeline Calculation
If the amendment has a
majority, calculate the activation date:from datetime import datetime, timedelta def calculate_activation(majority): ripple_epoch = datetime(2000, 1, 1) majority_dt = ripple_epoch + timedelta(seconds=majority) activation_dt = majority_dt + timedelta(weeks=2) return { 'majority_date': majority_dt.isoformat(), 'activation_date': activation_dt.isoformat() }Create a visual timeline showing: Code Release → Vote → Majority → Activation
Protocol Impact
Search for amendment documentation (XLS, GitHub, XRPL.org)
Document:
New transaction types introduced
New ledger entry types
Modifications to consensus rules
Impact on applications (wallets, exchanges)
Assess risks:
Risk for non-updated nodes
Dependencies with other amendments
Contingency plans if bug discovered post-activation
Pseudo-transaction Search (Optional)
If the amendment has a
majority, search for theEnableAmendmenttransaction with flagtfGotMajority(65536)Use an explorer (Bithomp, XRPScan) or the
ledgerAPI with the estimated ledger numberDocument: transaction hash, ledger, flags
Deliverable
Your report must include:
Connection:
URL of node used
Amendment statistics (total, enabled, in majority, voting)
Screenshot of
server_info
Amendment Analysis:
Name and hash of chosen amendment
Complete JSON of
featureresponseInterpretation table of all fields
Support percentage calculation
Timeline:
Majority date (if applicable)
Expected activation date (if applicable)
Complete visual timeline
Python/JavaScript code used for calculations
Protocol Impact:
Transaction types added
Ledger entry types added
Rule modifications
Impact on applications
Risk assessment (1 page)
Pseudo-transaction (optional):
Hash and ledger of
tfGotMajoritytransactionLink to explorer
Appendices:
Complete source code used
Screenshots
References (XLS links, documentation)
Tips
Public nodes:
wss://xrplcluster.com/orwss://s1.ripple.com/Explorers: https://bithomp.com, https://xrpscan.com
Documentation: https://xrpl.org/amendments.html
XLS Standards: https://github.com/XRPLF/XRPL-Standards
Useful commands:
Libraries:
JavaScript:
xrpl.jsPython:
xrpl-py
Additional Resources
XRPL Amendments: https://xrpl.org/docs/concepts/networks-and-servers/amendments
Known Amendments: https://xrpl.org/resources/known-amendments
EnableAmendment: https://xrpl.org/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment
Good luck! This exercise will give you a thorough practical understanding of the XRPL amendment system.
Last updated

