mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-26 22:55:49 +00:00
Move introduction files
Relating to IAv3 and Redocly migration work, this moves introduction files to match their location in the IA, so that their "pretty" URLs under Redocly will also match.
This commit is contained in:
48
content/introduction/crypto-wallets.md
Normal file
48
content/introduction/crypto-wallets.md
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
html: crypto-wallets.html
|
||||
parent: intro-to-xrpl.html
|
||||
blurb: Wallets provide a convenient way of managing your XRP on the XRP Ledger.
|
||||
labels:
|
||||
- Blockchain
|
||||
---
|
||||
# Crypto Wallets
|
||||
|
||||
Crypto wallets provide a way to manage your account and funds on the XRP Ledger. There are many wallets to choose from. Choosing the right wallet ultimately comes down to your needs and comfort working with XRP.
|
||||
|
||||
|
||||
## Custodial vs Non-custodial Wallets
|
||||
|
||||
A major factor when choosing a wallet is if you want a custodial or non-custodial wallet.
|
||||
|
||||
A custodial wallet means a third party holds your funds, typically on an account they manage on the XRP Ledger. A custodial wallet can be thought of like a bank, where you're trusting another entity to keep your money secure. Many centralized exchanges offer custodial wallets, so when you create an account with them and use their app, you don't technically have an account on the ledger.
|
||||
|
||||
For day-to-day payments, this may be preferable, since these types of wallets are user-friendly: if you forget your password, you can typically have it reset. Also, if you don't have an individual XRP Ledger account, the ledger's reserve requirement doesn't apply to you. The custodian acts a buffer to any issues you run into on the XRP Ledger, and may offer support or assistance if you're not sure how to do something.
|
||||
|
||||

|
||||
|
||||
A non-custodial wallet, such as [XUMM](https://xumm.app/), is one where you have the secret keys to your account. This means you're ultimately responsible for managing the security of your account.
|
||||
|
||||
**Caution:** If you lose your keys, you are locked out of your XRP Ledger account and there are no recovery options.
|
||||
|
||||
Non-custodial wallets allow more freedom. Since you're interacting directly with the XRP Ledger yourself, you can handle any type of transaction you want without anyone restricting your options. If the ledger allows it, you can do it. Non-custodial wallets also don't require you to trust an institution with your money, which can insulate you from market factors outside your control.
|
||||
|
||||
Users of both custodial and non-custodial wallets have to protect themselves from malicious users who might try to steal their funds. With a custodial wallet, you have to manage your login and password to the app or site; with a non-custodial wallet, you have to manage your secret keys to your on-ledger account. In both cases, the wallet provider's own security practices are also important to protect you from vulnerabilities like supply-chain attacks, where an attacker loads malicious code into the wallet through software updates or dependencies. However, custodial wallets can be a bigger target for attackers since they have immediate access to multiple customers' funds.
|
||||
|
||||
|
||||
## Hardware vs Software Wallets
|
||||
|
||||
Another deciding factor when choosing a wallet is picking between a hardware or software wallet.
|
||||
|
||||
Hardware wallets are physical devices that store your private/secret keys. The main benefit of using hardware wallets is that you can secure your information by disconnecting it from the internet when it's not in use; hardware wallets totally isolate your keys from easier-to-hack computers or smartphones.
|
||||
|
||||

|
||||
|
||||
Software wallets on the other hand, are entirely digital. While this makes them easier to use, it also makes them the less secure method of the two, but they usually come with additional features to enhance your experience. Ultimately, the decision between the two will come down to your comfort level and how important ease-of-use is to you.
|
||||
|
||||
|
||||
## Creating Your Own Wallet
|
||||
|
||||
The XRP Ledger is an opensource project with publicly available client libraries and API methods. While you can technically interact with the ledger using HTTP/WebSocket tools, it isn't practical for day-to-day use. You can create your own wallet to interact with the ledger, but you'll need to understand exactly how accounts, transactions, and the ledger work together before committing to this option.
|
||||
|
||||
|
||||
Next: [Transactions and Requests](txn-and-requests.html)
|
||||
68
content/introduction/software-ecosystem.md
Normal file
68
content/introduction/software-ecosystem.md
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
html: software-ecosystem.html
|
||||
parent: introduction.html
|
||||
blurb: Get an overview of what XRP Ledger software is out there and how it fits together.
|
||||
labels:
|
||||
- Core Server
|
||||
---
|
||||
# Software Ecosystem
|
||||
|
||||
The XRP Ledger is home to a deep, layered ecosystem of software projects powering and enabling an Internet of Value. It's impossible to list every project, tool, and business that interacts with the XRP Ledger, so this page only lists a few categories and highlights some central projects that are documented on this website.
|
||||

|
||||
|
||||
## Stack Levels
|
||||
|
||||
- [_Core Servers_](#core-servers) form the basis of the XRP Ledger, a peer-to-peer network relaying and processing transactions at all times.
|
||||
|
||||
- [_Client Libraries_](#client-libraries) exist in higher level software, where they are imported directly into program code, and contain methods to access the XRP Ledger.
|
||||
|
||||
- [_Middleware_](#middleware) provides indirect access to XRP Ledger data. Applications in this layer often have their own data storage and processing.
|
||||
|
||||
- [_Apps and Services_](#apps-and-services) provide user-level interaction with the XRP Ledger, or provide a basis for even higher-level apps and services.
|
||||
|
||||
|
||||
### Core Servers
|
||||
|
||||
The peer-to-peer network at the heart of the XRP Ledger requires a highly-reliable, efficient server to enforce the rules of consensus and transaction processing. The XRP Ledger Foundation publishes a reference implementation of this server software, called [**`rippled`**](xrpl-servers.html) (pronounced "ripple-dee"). The server is available under [a permissive open-source license](https://github.com/XRPLF/rippled/blob/develop/LICENSE.md), so anyone can inspect and modify their own instance of the server, and re-publish with few restrictions.
|
||||
|
||||

|
||||
|
||||
Every core server syncs to the same network (unless it's configured to follow a [test network](parallel-networks.html)) and has access to all communications across the network. Every server on the network keeps a complete copy of the latest state data for the entire XRP Ledger, along with recent transactions and a record of the changes those transactions made, and every server processes every transaction independently while verifying that its outcome matches the rest of the network. Servers can be configured to keep more [ledger history](ledger-history.html) and to participate in the consensus process as a [validator](rippled-server-modes.html#validators).
|
||||
|
||||
Core servers expose [HTTP / WebSocket APIs](http-websocket-apis.html) for users to look up data, administer the server, and submit transactions. Some servers also serve HTTP / WebSocket APIs but don't connect directly to the peer-to-peer network and don't process transactions or participate in consensus. These servers, such as `rippled` servers running in Reporting Mode and Clio servers, rely on a core server in P2P mode to process transactions.
|
||||
|
||||
|
||||
### Client Libraries
|
||||
|
||||
Libraries simplify some of the common work of accessing the XRP Ledger, usually through the HTTP / WebSocket APIs. They convert the data into forms that are more familiar and convenient for various programming languages, and include implementations of common operations.
|
||||
|
||||

|
||||
|
||||
One core feature of most client libraries is signing transactions locally, so users never have to send their private key across any network.
|
||||
|
||||
Many middleware services use client libraries internally.
|
||||
|
||||
See [Client Libraries](client-libraries.html) for some information about currently available client libraries.
|
||||
|
||||
|
||||
### Middleware
|
||||
|
||||
Middleware services are programs that consume the XRP Ledger APIs on one side and provide their own APIs on the other side. They provide a layer of abstraction to make it easier to build higher-level applications by providing some common functionality as a service.
|
||||
|
||||

|
||||
|
||||
Unlike client libraries, which are instantiated fresh and shut down with the program that imports them, middleware services typically stay running indefinitely, and may have their own databases (relational SQL databases or otherwise) and configuration files. Some are available as cloud services with various pricing or usage limitations.
|
||||
|
||||
|
||||
### Apps and Services
|
||||
|
||||
Atop the stack is where the truly exciting things happen. Apps and services provide a way for users and devices to connect to the XRP Ledger. Services like private exchanges, token issuers, marketplaces, interfaces to the decentralized exchange, and wallets provide user interfaces for buying, selling, and trading various assets including XRP and tokens of all kinds. Many other possibilities exist, including additional services layered even higher.
|
||||
|
||||

|
||||
|
||||
See [Use Cases](use-cases.html) for some examples that can be built at or above this layer.
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
115
content/introduction/transactions-and-requests.md
Normal file
115
content/introduction/transactions-and-requests.md
Normal file
@@ -0,0 +1,115 @@
|
||||
---
|
||||
html: txn-and-requests.html
|
||||
parent: intro-to-xrpl.html
|
||||
blurb: All interactions with the ledger are either transactions or requests.
|
||||
labels:
|
||||
- Blockchain
|
||||
---
|
||||
|
||||
# Transactions and Requests
|
||||
|
||||
Most interactions with the XRP Ledger involve either sending a transaction that makes changes to the ledger or sending a request for information from the ledger. You can also subscribe to monitor continual notifications of interest.
|
||||
|
||||
## How Do Transactions Work?
|
||||
|
||||
Use transactions to make changes on the ledger such as transferring XRP and other tokens between accounts; minting and burning NFTs; and creating, accepting, and cancelling offers. You execute a transaction by sending a command to the XRP Ledger and watching for confirmation that the transaction is complete. The command syntax format is the same for every transaction.
|
||||
|
||||
- You must always provide the _TransactionType_ and the public address of the _Account_ making the transaction.
|
||||
|
||||
- Two required fields are the _Fee_ for the transaction and the next _Sequence_ number for transactions from the account. These fields can be filled in automatically.
|
||||
|
||||
- Transactions can also have required fields specific to the transaction type. For example, a _Payment_ transaction requires an _Amount_ value (in _drops_, or millionths of an XRP) and a _Destination_ public address to which the funds are credited.
|
||||
|
||||
Here is a sample transaction in JSON format. This transaction transfers 1 XRP from account _rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn_ to destination account _ra5nK24KXen9AHvsdFTKHSANinZseWnPcX_.
|
||||
|
||||
```json
|
||||
{
|
||||
"TransactionType": "Payment",
|
||||
"Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
|
||||
"Amount": "1000000",
|
||||
"Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX"
|
||||
}
|
||||
```
|
||||
|
||||
Optional fields are available for all transactions, with additional fields available for specific transactions. You can include as many optional fields as you need, but do not have to include every field in every transaction.
|
||||
|
||||
You send the transaction to the ledger as a command from JavaScript, Python, the command line, or any compatible service. The rippled servers propose transactions to the XRPL.
|
||||
|
||||

|
||||
|
||||
When 80% of the validators approve a current set of proposed transactions, they are recorded as part of the permanent ledger. The rippled server returns the results of the transaction you sent.
|
||||
|
||||
For more information on Transactions, see [Transactions](transactions.html).
|
||||
|
||||
## How Do Requests Work?
|
||||
|
||||
Requests are used to get information from the ledger, but they do not make changes to the ledger. The information is freely available to anyone to view, so there is no need to sign in with your account information.
|
||||
|
||||
The fields you send vary with the type of information you request. They typically have several optional fields, but only a few required fields.
|
||||
|
||||
When you submit your request, it might be processed by a rippled server or by a Clio server, a server that is dedicated to responding to requests.
|
||||
|
||||

|
||||
|
||||
Clio servers take some of the load off the other rippled servers on the XRPL to improve processing speed and reliability.
|
||||
|
||||
This is a sample request in JSON format. This request gets the current account information for the account number you provide.
|
||||
|
||||
```json
|
||||
{
|
||||
"command": "account_info",
|
||||
"account": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn"
|
||||
}
|
||||
```
|
||||
|
||||
The request returns a wealth of information. Here is an example response for an account information request in JSON format.
|
||||
|
||||
```json
|
||||
{
|
||||
"result": {
|
||||
"account_data": {
|
||||
"Account": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn",
|
||||
"Balance": "999999999960",
|
||||
"Flags": 8388608,
|
||||
"LedgerEntryType": "AccountRoot",
|
||||
"OwnerCount": 0,
|
||||
"PreviousTxnID": "4294BEBE5B569A18C0A2702387C9B1E7146DC3A5850C1E87204951C6FDAA4C42",
|
||||
"PreviousTxnLgrSeq": 3,
|
||||
"Sequence": 6,
|
||||
"index": "92FA6A9FC8EA6018D5D16532D7795C91BFB0831355BDFDA177E86C8BF997985F"
|
||||
},
|
||||
"ledger_current_index": 4,
|
||||
"queue_data": {
|
||||
"auth_change_queued": true,
|
||||
"highest_sequence": 10,
|
||||
"lowest_sequence": 6,
|
||||
"max_spend_drops_total": "500",
|
||||
"transactions": [
|
||||
{
|
||||
"auth_change": false,
|
||||
"fee": "100",
|
||||
"fee_level": "2560",
|
||||
"max_spend_drops": "100",
|
||||
"seq": 6
|
||||
},
|
||||
... (trimmed for length) ...
|
||||
{
|
||||
"LastLedgerSequence": 10,
|
||||
"auth_change": true,
|
||||
"fee": "100",
|
||||
"fee_level": "2560",
|
||||
"max_spend_drops": "100",
|
||||
"seq": 10
|
||||
}
|
||||
],
|
||||
"txn_count": 5
|
||||
},
|
||||
"status": "success",
|
||||
"validated": false
|
||||
}
|
||||
}
|
||||
```
|
||||
For information on the fields in an Account record, see [Accounts](accounts.html).
|
||||
|
||||
Next: [Software Ecosystem](software-ecosystem.html)
|
||||
|
||||
69
content/introduction/what-is-the-xrp-ledger.md
Normal file
69
content/introduction/what-is-the-xrp-ledger.md
Normal file
@@ -0,0 +1,69 @@
|
||||
---
|
||||
html: what-is-the-xrp-ledger.html
|
||||
parent: introduction.html
|
||||
blurb: Learn about the XRP Ledger (XRPL) blockchain.
|
||||
labels:
|
||||
- Blockchain
|
||||
---
|
||||
# What is the XRP Ledger?
|
||||
|
||||
The XRP Ledger is a decentralized blockchain that uses its own digital currency to process and record financial transactions.
|
||||
|
||||
|
||||
## What Is a Blockchain?
|
||||
|
||||
A blockchain is a continuously growing list of records. The blockchain starts with a block of data.
|
||||
|
||||

|
||||
|
||||
A group of trusted validator nodes reach consensus that the data is valid.
|
||||
|
||||

|
||||
|
||||
The block is uniquely identified with a very elaborate, complicated, computer-generated, cryptographic Hash number that is 64 hexadecimal characters long.
|
||||
|
||||

|
||||
|
||||
The block is also identified by a timestamp with its creation time.
|
||||
|
||||

|
||||
|
||||
Each validator node gets its own copy of the data block. There is no single central authority. All copies are equally valid.
|
||||
|
||||

|
||||
|
||||
Each block contains a hash pointer as a link to the previous block. It also has a timestamp, new data, and its own unique hash number.
|
||||
|
||||

|
||||
|
||||
Using this structure, each block has a clear position in the chain, linking back to the previous data block. This creates an immutable chain of blocks. You can always verify all current information on the chain by tracing back through the previous blocks.
|
||||
|
||||

|
||||
|
||||
By design, blockchains are resistant to modification of the data. Every ledger node gets an exact copy of the blockchain.
|
||||
|
||||

|
||||
|
||||
This creates an open, distributed ledger that records transactions between parties efficiently and in a verifiable and permanent way.
|
||||
|
||||
Once recorded, the data in any given block cannot be altered retroactively, unless a majority of the validators agree to the change. If so, all subsequent blocks are changed in the same way (a very rare and extreme occurrence).
|
||||
|
||||
### How Does the Federated Consensus Process Work?
|
||||
|
||||
Most of the rippled servers in the XRPL monitor or propose transactions. An important subset of servers are run as validators. These trusted servers accumulate lists of new transactions into a new possible ledger instance (a new block in the block chain).
|
||||
|
||||

|
||||
|
||||
They share their lists with all of the other validators. The validators incorporate proposed changes from one another and distribute a new version of the ledger proposal.
|
||||
|
||||

|
||||
|
||||
When 80% of the validators agree on a set of transactions, they create a new ledger instance at the end of the chain and start the process again. This consensus process takes 4-6 seconds. You can monitor as ledger instances are created in real time by visiting [https://livenet.xrpl.org/](https://livenet.xrpl.org/).
|
||||
|
||||
### What Networks Are Available?
|
||||
|
||||
The XRPL is open to anyone who wants to set up their own instance of the rippled server and connect. The node can monitor the network, perform transactions, or become a validator. The active XRPL network is typically referred to as _Mainnet_.
|
||||
|
||||
For developers or new users who want to try out the features of XRPL without investing their own funds, there are two developer environments, _Testnet_ and _Devnet_. Users can create an account funded with 1,000 (fake) XRP and connect to either environment to interact with the XRPL.
|
||||
|
||||
Next: [What is XRP?](what-is-xrp.html)
|
||||
73
content/introduction/what-is-xrp.md
Normal file
73
content/introduction/what-is-xrp.md
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
html: what-is-xrp.html
|
||||
parent: introduction.html
|
||||
blurb: Learn about XRP, the cryptocurrency traded on the XRP Ledger.
|
||||
labels:
|
||||
- Blockchain
|
||||
---
|
||||
# What is XRP?
|
||||
|
||||
XRP is the cryptocurrency supported by the XRP Ledger.
|
||||
|
||||
## What Is Cryptocurrency?
|
||||
|
||||
A cryptocurrency is a digital or virtual currency that is secured by cryptography and tracked using a blockchain. The security and integrity of cryptocurrency makes it nearly impossible to counterfeit or double-spend.
|
||||
|
||||

|
||||
|
||||
Cryptocurrencies, digital currencies, and digital assets all fall into the same general category. Cryptocurrencies are:
|
||||
|
||||
- digitally native (meaning they are built for the internet)
|
||||
- programmable
|
||||
- fast to transfer at a low cost
|
||||
- open and transparent
|
||||
- not restricted by borders or governments (so no need for nostro accounts that hold funds in another country)
|
||||
- not subject to counterfeit
|
||||
- do not require a bank account or infrastructure to settle payments.
|
||||
|
||||

|
||||
|
||||
Cryptocurrencies are _fungible tokens_. _Fungible_ means that you can replace one token with other tokens of equal value. Postage is an example of a fungible token: if it costs 50 cents to mail a letter, you can use 2 25-cent stamps or 5 10-cent stamps for the postage, because postage stamps are fungible (consistent in relative value and interchangeable).
|
||||
|
||||
Cryptocurrencies are also decentralized. There’s no central authority governing the currency. Once a transaction is on the blockchain you cannot change it. It is difficult to censor cryptocurrency: so long as the system is sufficiently decentralized, no one can roll back transactions, freeze balances, or block someone from using a decentralized digital asset. Rules do not change without significant coordination among all participants.
|
||||
|
||||
Cryptocurrencies are compelling for investors and developers because no single entity can “pull the plug” on them and have them disappear.
|
||||
|
||||
## But Why Is It Valuable?
|
||||
|
||||

|
||||
|
||||
It might seem strange that cryptocurrency is based solely on computer data, and not on any sort of tangible commodity such as precious metal. Traditionally, currencies have been based on cattle, sea shells, rare metals, stones, or other physical objects. But these items have value only because there was agreement between people in a culture.
|
||||
|
||||
While it might seem safer to have something “real” in your hand, many people wouldn’t know fool’s gold from the actual thing, or cubic zirconia from a genuine diamond. Paper money can be counterfeit. You can forget you have a $10 bill in your pocket and ruin it in the wash. It is costly to safely store and transport valuable items for payment.
|
||||
|
||||
The value of cryptocurrency comes from the faith that holders place in the currency. Given the distributed nature of the records and the cryptographic safeguards to secure the funds, cryptocurrency could be considered a much more robust, secure, and convenient form of currency than traditional fiat currencies.
|
||||
|
||||
|
||||
## XRP is Cryptocurrency
|
||||
|
||||
The XRP Ledger was built over 2011 – early 2012 by Jed McCaleb, Arthur Britto and David Schwartz. At the time of its creation, there were 100 billion XRP. In September 2012, Jed and Arthur, along with Chris Larsen formed Ripple (the company, called OpenCoin Inc. at the time) and decided to gift 80 billion XRP to Ripple in exchange for Ripple developing on the XRP Ledger.
|
||||
|
||||

|
||||
|
||||
Since then, the company has regularly sold XRP, used it to strengthen XRP markets and improve network liquidity, and incentivized development of the greater ecosystem. In 2017, the company placed [55 billion XRP in escrow](https://ripple.com/insights/ripple-escrows-55-billion-xrp-for-supply-predictability/?__hstc=78174987.8aa695b6d0420a940041f1842edfd8a6.1692378128025.1692644550213.1692652561840.8&__hssc=78174987.3.1692652561840&__hsfp=3379522993) to ensure that the amount entering the general supply [grows predictably](https://ripple.com/insights/ripple-to-place-55-billion-xrp-in-escrow-to-ensure-certainty-into-total-xrp-supply/?__hstc=78174987.8aa695b6d0420a940041f1842edfd8a6.1692378128025.1692644550213.1692652561840.8&__hssc=78174987.3.1692652561840&__hsfp=3379522993) for the foreseeable future. Ripple's [XRP Market Performance site](https://ripple.com/xrp/?__hstc=78174987.8aa695b6d0420a940041f1842edfd8a6.1692378128025.1692644550213.1692652561840.8&__hssc=78174987.3.1692652561840&__hsfp=3379522993) reports how much XRP the company has available and locked in escrow at present.
|
||||
|
||||

|
||||
|
||||
|
||||
### Naming
|
||||
|
||||
Originally, the XRP Ledger was called "Ripple" for the way the technology allowed payments [to ripple through multiple hops and currencies](rippling.html). For the native asset built into the ledger, the creators chose the ticker symbol "XRP" from the term "ripple credits" or "ripples" and the X prefix for non-national currencies in the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. The company registered itself as "Ripple Labs". The name "XRP" came to be used to refer to the asset in all contexts, to avoid confusion with the similar names for the technology and company, and eventually the company shortened its own name to "Ripple". In May 2018, [the community selected a new "X" symbol](https://twitter.com/xrpsymbol/status/1006925937571713025) to represent XRP to differentiate it from the triskelion logo that had previously been used for both the company and the digital asset.
|
||||
|
||||
| XRP "X" Logo | Ripple triskelion |
|
||||
|:---------------------------------------|:------------------------------------|
|
||||
|  |  |
|
||||
|
||||
|
||||
### Trademark
|
||||
|
||||
"XRP" is a registered trademark of the XRPL Foundation in the U.S.A. and other countries like China and Estonia.
|
||||
|
||||
The trademark application was registered with the United States Patent and Trademark Office (USPTO) in 2013 with OpenCoin Inc and Ripple Labs Inc as assignees. In 2022, the trademark assignment was updated and is now assigned to the MITTETULUNDUSÜHING XRP LEDGER TRUST (“XRPLF”).
|
||||
|
||||
Next: [Crypto Wallets](crypto-wallets.html)
|
||||
Reference in New Issue
Block a user