diff --git a/content/tutorial-build-run-rippled-ubuntu.md b/content/tutorial-build-run-rippled-ubuntu.md index dc79ee71fe..c18f371336 100644 --- a/content/tutorial-build-run-rippled-ubuntu.md +++ b/content/tutorial-build-run-rippled-ubuntu.md @@ -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` -
    -
  1. Update list of packages that can be installed or upgraded.

    -
    +## 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
    -
    -
    -
  2. -
  3. Retrieve and upgrade currently installed packages.

    -
    +```		
    +2. Retrieve and upgrade currently installed packages.
    +```
     sudo apt-get -y upgrade
    -
    -
    -
  4. -
  5. -

    Install git.

    -
    +```
    +3. Install git.
    +```
     sudo apt-get -y install git
    -
    -
  6. -
  7. Install SCons.

    -
    +```
    +4. Install SCons.
    +```
     sudo apt-get -y install scons
    -
    -
  8. -
  9. -

    Install Ctags.

    -
    +```
    +5. Install Ctags.
    +```
     sudo apt-get -y install ctags
    -
    -
  10. -
  11. -

    Install pkg-config.

    -
    +```
    +6. Install `pkg-config`.
    +```
     sudo apt-get -y install pkg-config
    -
    -
  12. -
  13. -

    Install Protocol Buffers.

    -
    +```
    +7. Install Protocol Buffers.
    +```
     sudo apt-get -y install protobuf-compiler
     sudo apt-get -y install libprotobuf-dev
    -
    -
  14. -
  15. -

    -Install SSL.

    -
    +```
    +8. Install SSL.
    +```
     sudo apt-get -y install libssl-dev
    -
    -
  16. -
  17. -

    Install python-software properties. Provides the add-apt-repository binary that you'll need to install Boost.

    -
    +```
    +9. Install `python-software-properties`.
    +```
     sudo apt-get install -y python-software-properties
    -
    -
  18. -
  19. -

    Install Boost.

    -
    +```
    +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
    -
    -
  20. -
  21. -

    Get rippled source code.

    -
    +```
    +11. Get `rippled` source code.
    +```
     git clone https://github.com/ripple/rippled.git
     cd rippled
     git checkout master
    -
    -
  22. -
  23. -

    Build rippled binary executable from source code. This may take about 30 minutes.

    -
    +```
    +12. Build `rippled` binary executable from source code. This may take about 30 minutes.
    +
    +    SCons saves the built executable in `rippled/build`.
    +
    +```
     scons
    -
    -
  24. -
  25. -

    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/.

    -
  26. -
  27. -

    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/.

    -
  28. -
  29. -

    Run rippled.

    -
    +```
    +
    +
    +## 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
    -
    -

    You are now running a stock rippled server.

    -
  30. -
+``` -##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). diff --git a/dactyl-config.yml b/dactyl-config.yml index a0904af21c..58de673f12 100644 --- a/dactyl-config.yml +++ b/dactyl-config.yml @@ -60,7 +60,7 @@ targets: "tutorial-paychan.html": https://ripple.com/build/payment-channels-tutorial/ "tutorial-escrow.html": https://ripple.com/build/escrow-tutorials/ "tutorial-listing-xrp.html": https://ripple.com/build/listing-xrp-exchange/ - # Jha added link below + # Jha added placeholder link_sub below - need to get the permalink from Wordpress "tutorial-build-run-rippled-ubuntu.html": https://ripple.com/build/build-run-rippled-ubuntu/ "concept-accounts.html": https://ripple.com/build/accounts/ "concept-amendments.html": https://ripple.com/build/amendments/ @@ -258,7 +258,7 @@ pages: - local - ripple.com -# Jha added entry below +# Jha added entry below - not sure if this is the proper sequence. - name: Build and Run rippled on Ubuntu md: tutorial-build-run-rippled-ubuntu.md html: tutorial-build-run-rippled-ubuntu.html