mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-20 19:55:54 +00:00
first draft of build and run on ubuntu
This commit is contained in:
@@ -1,14 +1,15 @@
|
||||
#Build and Run `rippled` on Ubuntu 15.04 and Later
|
||||
# Build and Run `rippled` on Ubuntu
|
||||
|
||||
`rippled` is the core peer-to-peer server that manages the XRP Ledger. A `rippled` server can connect to a network of peers, relay cryptographically signed transactions, and maintain a local copy of the complete shared global ledger.
|
||||
|
||||
For an overview of `rippled`, see [Operating rippled Servers](tutorial-rippled-setup.html)
|
||||
|
||||
Use these instructions to build a `rippled` binary file and run it as a stock `rippled` server on Ubuntu. These instructions use Ubuntu's APT (Advanced Packaging Tool) to install software prerequisites. These instructions were tested on Ubuntu 16.04 LTS.
|
||||
Use these instructions to build a `rippled` binary file and run it as a stock `rippled` server on Ubuntu 15.04 or later. These instructions were tested on Ubuntu 16.04 LTS.
|
||||
|
||||
For information about building `rippled` for other platforms, see [Builds](https://github.com/ripple/rippled/tree/develop/Builds) in the `rippled` GitHub repository.
|
||||
|
||||
##System Requirements
|
||||
|
||||
## System Requirements
|
||||
|
||||
Ripple recommends meeting the following **minimum** system requirements for building and running `rippled`.
|
||||
|
||||
@@ -18,118 +19,107 @@ Ripple recommends meeting the following **minimum** system requirements for buil
|
||||
|
||||
**_To run rippled:_**
|
||||
|
||||
* RAM: 4GB
|
||||
* CPU: 64-bit x86_64, 2+ cores
|
||||
* Disk: 50GB SSD with 500 IOPS for the database partition
|
||||
* RAM: 4GB
|
||||
* Network: A fast network connection is preferable.
|
||||
|
||||
If you are running `rippled` in an Amazon EC2 instance, Ripple recommends selecting a **Type** of **_m3.large_**. Keep in mind that if you choose to run a validating `rippled` server, you may need more resources. Naturally, your server's workload determines the resources it requires.
|
||||
If you are running `rippled` in an Amazon EC2 instance, Ripple recommends selecting a **Type** of **_m3.large_**. If you choose to run a validating `rippled` server, you may need more resources.
|
||||
|
||||
##Build and Run `rippled`
|
||||
|
||||
<ol>
|
||||
<li><p>Update list of packages that can be installed or upgraded.</p>
|
||||
<pre>
|
||||
## 1. Build `rippled`
|
||||
|
||||
These instructions use Ubuntu's APT (Advanced Packaging Tool) to install software prerequisites that you'll need to build `rippled`.
|
||||
|
||||
1. Update the list of packages that can be installed or upgraded.
|
||||
```
|
||||
sudo apt-get update
|
||||
</pre>
|
||||
<br/>
|
||||
</li>
|
||||
<li><p>Retrieve and upgrade currently installed packages.</p>
|
||||
<pre>
|
||||
```
|
||||
2. Retrieve and upgrade currently installed packages.
|
||||
```
|
||||
sudo apt-get -y upgrade
|
||||
</pre>
|
||||
<br/>
|
||||
</li>
|
||||
<li>
|
||||
<p>Install git.</p>
|
||||
<pre>
|
||||
```
|
||||
3. Install git.
|
||||
```
|
||||
sudo apt-get -y install git
|
||||
</pre>
|
||||
<br/></li>
|
||||
<li><p>Install SCons.</p>
|
||||
<pre>
|
||||
```
|
||||
4. Install SCons.
|
||||
```
|
||||
sudo apt-get -y install scons
|
||||
</pre>
|
||||
<br/></li>
|
||||
<li>
|
||||
<p>Install Ctags.</p>
|
||||
<pre>
|
||||
```
|
||||
5. Install Ctags.
|
||||
```
|
||||
sudo apt-get -y install ctags
|
||||
</pre>
|
||||
<br/></li>
|
||||
<li>
|
||||
<p>Install <code>pkg-config</code>.</p>
|
||||
<pre>
|
||||
```
|
||||
6. Install `pkg-config`.
|
||||
```
|
||||
sudo apt-get -y install pkg-config
|
||||
</pre>
|
||||
<br/></li>
|
||||
<li>
|
||||
<p>Install Protocol Buffers.</p>
|
||||
<pre>
|
||||
```
|
||||
7. Install Protocol Buffers.
|
||||
```
|
||||
sudo apt-get -y install protobuf-compiler
|
||||
sudo apt-get -y install libprotobuf-dev
|
||||
</pre>
|
||||
<br/></li>
|
||||
<li>
|
||||
<p>
|
||||
Install SSL.</p>
|
||||
<pre>
|
||||
```
|
||||
8. Install SSL.
|
||||
```
|
||||
sudo apt-get -y install libssl-dev
|
||||
</pre>
|
||||
<br/></li>
|
||||
<li>
|
||||
<p>Install <code>python-software properties</code>. Provides the <code>add-apt-repository</code> binary that you'll need to install Boost.</p>
|
||||
<pre>
|
||||
```
|
||||
9. Install `python-software-properties`.
|
||||
```
|
||||
sudo apt-get install -y python-software-properties
|
||||
</pre>
|
||||
<br/></li>
|
||||
<li>
|
||||
<p>Install Boost.</p>
|
||||
<pre>
|
||||
```
|
||||
10. Install Boost.
|
||||
```
|
||||
sudo add-apt-repository -y ppa:boost-latest/ppa
|
||||
sudo apt-get -y update
|
||||
sudo apt-get install -y libboost-all-dev
|
||||
</pre>
|
||||
<br/></li>
|
||||
<li>
|
||||
<p>Get <code>rippled</code> source code.</p>
|
||||
<pre>
|
||||
```
|
||||
11. Get `rippled` source code.
|
||||
```
|
||||
git clone https://github.com/ripple/rippled.git
|
||||
cd rippled
|
||||
git checkout master
|
||||
</pre>
|
||||
<br/></li>
|
||||
<li>
|
||||
<p>Build <code>rippled</code> binary executable from source code. This may take about 30 minutes.</p>
|
||||
<pre>
|
||||
```
|
||||
12. Build `rippled` binary executable from source code. This may take about 30 minutes.
|
||||
|
||||
SCons saves the built executable in `rippled/build`.
|
||||
|
||||
```
|
||||
scons
|
||||
</pre>
|
||||
<br/></li>
|
||||
<li>
|
||||
<p>Configure <code>rippled.cfg</code>.</p>
|
||||
<p><code>rippled.cfg</code> is the configuration file for <code>rippled</code>.</p>
|
||||
<p>You can find an example configuration file (<code>rippled-example.cfg</code>) in <code>rippled/doc</code>. See the file for a description of all configuration options. You should be able to connect to the XRP Ledger using the default configuration defined in the example file.</p>
|
||||
<p>Put <code>rippled.cfg</code> in <code>etc/opt/ripple/</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Configure <code>validators.txt</code>.</p>
|
||||
<p>When you start <code>rippled</code> for the first time, it uses an initial list of validators defined in <code>validators.txt</code> to retrieve validation information and form its UNL (unique node list). <code>validators.txt</code> also enables <code>rippled</code> clients to indirectly locate IPs they can use to contact the Ripple network.</p>
|
||||
<p>You can find an example validators file (<code>validators-example.txt</code>) in <code>rippled/doc</code>. See the file for a description of all validator options. You should be able to connect to the XRP Ledger using the default validators defined in the example file.</p>
|
||||
<p>Put <code>validators.txt</code> in <code>etc/opt/ripple/</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Run <code>rippled</code>.</p>
|
||||
<pre>
|
||||
```
|
||||
|
||||
|
||||
## 2. Configure `rippled`
|
||||
|
||||
1. Configure `rippled.cfg`.
|
||||
|
||||
`rippled.cfg` is the configuration file for `rippled`.
|
||||
|
||||
You can find an example configuration file (`rippled-example.cfg`) in `rippled/doc`. See the file for a description of all configuration options. You should be able to connect to the XRP Ledger using the default configuration defined in the example file.
|
||||
|
||||
Put `rippled.cfg` in `etc/opt/ripple/`.
|
||||
|
||||
2. Configure `validators.txt`.
|
||||
|
||||
When you start `rippled` for the first time, it uses an initial list of validators defined in `validators.txt` to retrieve validation information and form its UNL (unique node list). `validators.txt` also enables `rippled` clients to indirectly locate IPs they can use to contact the Ripple network.
|
||||
|
||||
You can find an example validators file (`validators-example.txt`) in `rippled/doc`. See the file for a description of all validator options. You should be able to connect to the XRP Ledger using the default validators defined in the example file.
|
||||
|
||||
Put `validators.txt` in `etc/opt/ripple/`.
|
||||
|
||||
|
||||
## 3. Run `rippled`
|
||||
|
||||
To run your stock `rippled` server from the executable you built, using the configurations you defined:
|
||||
```
|
||||
cd build
|
||||
sudo ./rippled
|
||||
</pre>
|
||||
<p>You are now running a stock <code>rippled</code> server.</p>
|
||||
</li>
|
||||
</ol>
|
||||
```
|
||||
|
||||
##Verify Your Running Instance
|
||||
|
||||
Here are excerpts of what you can expect to see in your terminal once `rippled` is running and connected to the XRP Ledger:
|
||||
### What to Expect
|
||||
|
||||
Once you've run `rippled`, here are excerpts of what you can expect to see in your terminal.
|
||||
|
||||
```
|
||||
Loading: "/etc/opt/ripple/rippled.cfg"
|
||||
@@ -137,25 +127,15 @@ Watchdog: Launching child 1
|
||||
2017-Dec-15 18:27:37 JobQueue:NFO Auto-tuning to 4 validation/transaction/proposal threads for non-validator.
|
||||
2017-Dec-15 18:27:37 Amendments:DBG Amendment C6970A8B603D8778783B61C0D445C23D1633CCFAEF0D43E7DBCD1521D34BD7C3 is supported.
|
||||
2017-Dec-15 18:27:37 Amendments:DBG Amendment 4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373 is supported.
|
||||
|
||||
...
|
||||
|
||||
2017-Dec-15 18:27:37 ValidatorList:DBG Loading configured trusted validator list publisher keys
|
||||
|
||||
...
|
||||
|
||||
2017-Dec-15 18:27:37 ValidatorList:DBG Loading configured validator keys
|
||||
|
||||
...
|
||||
|
||||
2017-Dec-15 18:27:37 ValidatorSite:DBG Loading configured validator list sites
|
||||
|
||||
...
|
||||
|
||||
2017-Dec-15 18:27:38 LedgerConsensus:NFO Entering consensus process, watching, synced=no
|
||||
|
||||
...
|
||||
|
||||
2017-Dec-15 18:27:40 LedgerConsensus:WRN
|
||||
{
|
||||
"accepted" : true,
|
||||
@@ -175,25 +155,18 @@ Watchdog: Launching child 1
|
||||
"total_coins" : "100000000000000000",
|
||||
"transaction_hash" : "0000000000000000000000000000000000000000000000000000000000000000"
|
||||
}
|
||||
|
||||
...
|
||||
|
||||
2017-Dec-15 18:27:48 LedgerConsensus:WRN Need consensus ledger BD5DA7BE8633FCBBBBD58BA62569397BCEE73848FD6068581F5E795243FDFF0B
|
||||
2017-Dec-15 18:27:50 NetworkOPs:WRN We are not running on the consensus ledger
|
||||
2017-Dec-15 18:27:50 LedgerConsensus:WRN Need consensus ledger 8459443546CCBE4E89A41E1D0C17F24FBEA7B344C1ED6A26292B4C5CD19B4321
|
||||
2017-Dec-15 18:27:53 NetworkOPs:WRN We are not running on the consensus ledger
|
||||
|
||||
...
|
||||
|
||||
2017-Dec-15 18:38:28 OpenLedger:WRN Offer involves frozen asset
|
||||
2017-Dec-15 18:38:28 OpenLedger:WRN Offer involves frozen asset
|
||||
2017-Dec-15 18:38:31 LedgerConsensus:WRN Offer involves frozen asset
|
||||
2017-Dec-15 18:38:31 LedgerConsensus:WRN Offer involves frozen asset
|
||||
```
|
||||
|
||||
##Explore Next Steps
|
||||
|
||||
Now that you have a stock `rippled` server running, you may want to consider running it as a validating server. See the [rippled Setup Tutorial](tutorial-rippled-setup.html) for information about validating servers and why you might want to run one.
|
||||
## Explore Next Steps
|
||||
|
||||
Now that you have a stock `rippled` server running, you may want to consider running it as a validating server. For information about validating servers and why you might want to run one, see the [rippled Setup Tutorial](tutorial-rippled-setup.html).
|
||||
|
||||
For information about updating and maintaining your `rippled` server, see [Updating rippled](tutorial-rippled-setup.html#updating-rippled).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user