mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-19 18:45:52 +00:00
Compare commits
12 Commits
0.28.1-rc2
...
0.28.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
399c43cae6 | ||
|
|
80acbe6f6b | ||
|
|
d90ba775e8 | ||
|
|
ea4161d880 | ||
|
|
172a060330 | ||
|
|
231efb5aa5 | ||
|
|
079475e491 | ||
|
|
aa775b4d3d | ||
|
|
216c8125e2 | ||
|
|
c61d0c663e | ||
|
|
0187c6a5a1 | ||
|
|
8289d4140a |
@@ -21,7 +21,7 @@ pkgver() {
|
|||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd "$srcdir/$pkgname"
|
cd "$srcdir/$pkgname"
|
||||||
scons build/rippled
|
scons
|
||||||
}
|
}
|
||||||
|
|
||||||
check() {
|
check() {
|
||||||
|
|||||||
13
Builds/Docker/build-ci.sh
Executable file
13
Builds/Docker/build-ci.sh
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
set -e
|
||||||
|
|
||||||
|
mkdir -p build/docker/
|
||||||
|
cp doc/rippled-example.cfg build/clang.debug/rippled build/docker/
|
||||||
|
cp Builds/Docker/Dockerfile-testnet build/docker/Dockerfile
|
||||||
|
mv build/docker/rippled-example.cfg build/docker/rippled.cfg
|
||||||
|
strip build/docker/rippled
|
||||||
|
docker build -t ripple/rippled:$CIRCLE_SHA1 build/docker/
|
||||||
|
docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:latest
|
||||||
|
|
||||||
|
if [ -z "$CIRCLE_PR_NUMBER" ]; then
|
||||||
|
docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:$CIRCLE_BRANCH
|
||||||
|
fi
|
||||||
16
Builds/Docker/push-to-hub.sh
Executable file
16
Builds/Docker/push-to-hub.sh
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -z "$DOCKER_EMAIL" -o -z "$DOCKER_USERNAME" -o -z "$DOCKER_PASSWORD" ];then
|
||||||
|
echo "Docker credentials are not set. Can't login to docker, no containers will be pushed."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$CIRCLE_PR_NUMBER" ]; then
|
||||||
|
echo "Not pushing results of a pull request build."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker login -e $DOCKER_EMAIL -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
|
||||||
|
docker push ripple/rippled:$CIRCLE_SHA1
|
||||||
|
docker push ripple/rippled:$CIRCLE_BRANCH
|
||||||
|
docker push ripple/rippled:latest
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
Name: rippled
|
Name: rippled
|
||||||
Version: 0.28.1-rc2
|
Version: 0.28.1
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Ripple peer-to-peer network daemon
|
Summary: Ripple peer-to-peer network daemon
|
||||||
|
|
||||||
|
|||||||
14
circle.yml
14
circle.yml
@@ -33,20 +33,10 @@ test:
|
|||||||
# Run integration tests
|
# Run integration tests
|
||||||
- npm test
|
- npm test
|
||||||
post:
|
post:
|
||||||
- mkdir -p build/docker/
|
- ./Builds/Docker/build-ci.sh
|
||||||
- cp doc/rippled-example.cfg build/clang.debug/rippled build/docker/
|
|
||||||
- cp Builds/Docker/Dockerfile-testnet build/docker/Dockerfile
|
|
||||||
- mv build/docker/rippled-example.cfg build/docker/rippled.cfg
|
|
||||||
- strip build/docker/rippled
|
|
||||||
- docker build -t ripple/rippled:$CIRCLE_SHA1 build/docker/
|
|
||||||
- docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:latest
|
|
||||||
- docker tag ripple/rippled:$CIRCLE_SHA1 ripple/rippled:$CIRCLE_BRANCH
|
|
||||||
- docker images
|
- docker images
|
||||||
deployment:
|
deployment:
|
||||||
docker:
|
docker:
|
||||||
branch: /.*/
|
branch: /.*/
|
||||||
commands:
|
commands:
|
||||||
- docker login -e $DOCKER_EMAIL -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
|
- ./Builds/Docker/push-to-hub.sh
|
||||||
- docker push ripple/rippled:$CIRCLE_SHA1
|
|
||||||
- docker push ripple/rippled:$CIRCLE_BRANCH
|
|
||||||
- docker push ripple/rippled:latest
|
|
||||||
|
|||||||
@@ -15,4 +15,5 @@ A list of rippled version numbers, and the Github pull requests they contain.
|
|||||||
0.28.1-b8: Includes pulls 988, 1009, 1014, 1019, 1029, 1031, 1033, 1034 and 1035.
|
0.28.1-b8: Includes pulls 988, 1009, 1014, 1019, 1029, 1031, 1033, 1034 and 1035.
|
||||||
0.28.1-b9: Includes pulls 1026, 1030, 1036, 1037, 1038, 1040, and 1041.
|
0.28.1-b9: Includes pulls 1026, 1030, 1036, 1037, 1038, 1040, and 1041.
|
||||||
0.28.1-rc2: Includes pulls 1044
|
0.28.1-rc2: Includes pulls 1044
|
||||||
|
0.28.1-rc3: Includes pulls 1052 and 1055.
|
||||||
|
0.28.1: Includes pulls 1056, 1059 and 1062, 1063.
|
||||||
|
|||||||
@@ -303,8 +303,8 @@
|
|||||||
# Ripple network through a public-facing server, or for building a set
|
# Ripple network through a public-facing server, or for building a set
|
||||||
# of cluster peers.
|
# of cluster peers.
|
||||||
#
|
#
|
||||||
# One IPv4 address or domain names per line is allowed. A port may optionally
|
# One IPv4 address or domain names per line is allowed. A port must be
|
||||||
# be specified after adding a space to the address.
|
# specified after adding a space to the address.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@@ -590,50 +590,66 @@
|
|||||||
# rippled creates 4 SQLite database to hold bookkeeping information
|
# rippled creates 4 SQLite database to hold bookkeeping information
|
||||||
# about transactions, local credentials, and various other things.
|
# about transactions, local credentials, and various other things.
|
||||||
# It also creates the NodeDB, which holds all the objects that
|
# It also creates the NodeDB, which holds all the objects that
|
||||||
# make up the current and historical ledgers. The size of the NodeDB
|
# make up the current and historical ledgers.
|
||||||
# grows in proportion to the amount of new data and the amount of
|
|
||||||
# historical data (a configurable setting).
|
|
||||||
#
|
#
|
||||||
# The performance of the underlying storage media where the NodeDB
|
# The size of the NodeDB grows in proportion to the amount of new data and the
|
||||||
# is placed can affect the performance of the server. Some virtual
|
# amount of historical data (a configurable setting) so the performance of the
|
||||||
# hosting providers offer high speed secondary storage, with the
|
# underlying storage media where the NodeDB is placed can significantly affect
|
||||||
# caveat that the data is not persisted across launches. If rippled
|
# the performance of the server.
|
||||||
# runs in such an environment, it can be beneficial to configure the
|
|
||||||
# temp_db setting, which activates a secondary "look-aside" cache
|
|
||||||
# that can speed up the server. Some testing is suggested to determine
|
|
||||||
# if the temp_db setting is an improvement for your environment
|
|
||||||
#
|
#
|
||||||
# Partial pathnames will be considered relative to the location of
|
# Partial pathnames will be considered relative to the location of
|
||||||
# the rippled.cfg file.
|
# the rippled.cfg file.
|
||||||
#
|
#
|
||||||
# [node_db] Settings for the NodeDB (required)
|
# [node_db] Settings for the Node Database (required)
|
||||||
# [temp_db] Settings for the look-aside temporary db (optional)
|
|
||||||
# [import_db] Settings for performing a one-time import (optional)
|
|
||||||
#
|
#
|
||||||
# Format (without spaces):
|
# Format (without spaces):
|
||||||
# One or more lines of key / value pairs:
|
# One or more lines of case-insensitive key / value pairs:
|
||||||
# <key> '=' <value>
|
# <key> '=' <value>
|
||||||
# ...
|
# ...
|
||||||
#
|
#
|
||||||
# Examples:
|
# Example:
|
||||||
# type=rocksdb
|
# type=nudb
|
||||||
# path=db/rocksdb
|
# path=db/nudb
|
||||||
|
#
|
||||||
|
# The "type" field must be present and controls the choice of backend:
|
||||||
|
#
|
||||||
|
# type = NuDB
|
||||||
|
#
|
||||||
|
# NuDB is a high-performance database written by Ripple Labs and optimized
|
||||||
|
# for rippled and solid-state drives.
|
||||||
|
#
|
||||||
|
# NuDB maintains its high speed regardless of the amount of history
|
||||||
|
# stored. Online delete may be selected, but is not required. NuDB is
|
||||||
|
# available on all platforms that rippled runs on.
|
||||||
|
#
|
||||||
|
# type = RocksDB
|
||||||
|
#
|
||||||
|
# RocksDB is an open-source, general-purpose key/value store - see
|
||||||
|
# http://rocksdb.org/ for more details.
|
||||||
|
#
|
||||||
|
# RocksDB is an alternative backend for systems that don't use solid-state
|
||||||
|
# drives. Because RocksDB's performance degrades as it stores more data,
|
||||||
|
# keeping full history is not advised, and using online delete is
|
||||||
|
# recommended. RocksDB is not available on Windows.
|
||||||
|
#
|
||||||
|
# The RocksDB backend also provides these optional parameters:
|
||||||
|
#
|
||||||
|
# compression 0 for none, 1 for Snappy compression
|
||||||
|
#
|
||||||
#
|
#
|
||||||
# Choices for 'type' (not case-sensitive)
|
|
||||||
# RocksDB Use Facebook's RocksDB database (preferred)
|
|
||||||
# NuDB Use Ripple Labs' NuDB (Windows preferred)
|
|
||||||
# SQLite (Deprecated)
|
|
||||||
# none (No backend)
|
|
||||||
#
|
#
|
||||||
# Required keys:
|
# Required keys:
|
||||||
# path Location to store the database (all types)
|
# path Location to store the database (all types)
|
||||||
#
|
#
|
||||||
# Optional keys:
|
# Optional keys:
|
||||||
# compression 0 for none, 1 for Snappy compression
|
#
|
||||||
|
# These keys are possible for any type of backend:
|
||||||
|
#
|
||||||
# online_delete Minimum value of 256. Enable automatic purging
|
# online_delete Minimum value of 256. Enable automatic purging
|
||||||
# of older ledger information. Maintain at least this
|
# of older ledger information. Maintain at least this
|
||||||
# number of ledger records online. Must be greater
|
# number of ledger records online. Must be greater
|
||||||
# than or equal to ledger_history.
|
# than or equal to ledger_history.
|
||||||
|
#
|
||||||
# advisory_delete 0 for disabled, 1 for enabled. If set, then
|
# advisory_delete 0 for disabled, 1 for enabled. If set, then
|
||||||
# require administrative RPC call "can_delete"
|
# require administrative RPC call "can_delete"
|
||||||
# to enable online deletion of ledger records.
|
# to enable online deletion of ledger records.
|
||||||
@@ -641,23 +657,22 @@
|
|||||||
# Notes:
|
# Notes:
|
||||||
# The 'node_db' entry configures the primary, persistent storage.
|
# The 'node_db' entry configures the primary, persistent storage.
|
||||||
#
|
#
|
||||||
# The 'temp_db' configures a look-aside cache for high volume storage
|
|
||||||
# which doesn't necessarily persist between server launches. This
|
|
||||||
# is an optional configuration parameter. If it is left out then
|
|
||||||
# no look-aside database is created or used.
|
|
||||||
#
|
|
||||||
# The 'import_db' is used with the '--import' command line option to
|
# The 'import_db' is used with the '--import' command line option to
|
||||||
# migrate the specified database into the current database given
|
# migrate the specified database into the current database given
|
||||||
# in the [node_db] section.
|
# in the [node_db] section.
|
||||||
#
|
#
|
||||||
|
# [temp_db] Settings for the look-aside temporary db (optional)
|
||||||
|
# [import_db] Settings for performing a one-time import (optional)
|
||||||
# [database_path] Path to the book-keeping databases.
|
# [database_path] Path to the book-keeping databases.
|
||||||
#
|
#
|
||||||
# There are 4 book-keeping SQLite database that the server creates and
|
# There are 4 bookkeeping SQLite database that the server creates and
|
||||||
# maintains. If you omit this configuration setting, it will default to
|
# maintains. If you omit this configuration setting, it will default to
|
||||||
# creating a directory called "db" located in the same place as your
|
# creating a directory called "db" located in the same place as your
|
||||||
# rippled.cfg file. Partial pathnames will be considered relative to
|
# rippled.cfg file. Partial pathnames will be considered relative to
|
||||||
# the location of the rippled executable.
|
# the location of the rippled executable.
|
||||||
#
|
#
|
||||||
|
# The [temp_db] configuration setting is deprecated and should be avoided.
|
||||||
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
@@ -816,29 +831,29 @@
|
|||||||
# run with administrator privileges, or else rippled will not start.
|
# run with administrator privileges, or else rippled will not start.
|
||||||
|
|
||||||
[server]
|
[server]
|
||||||
port_rpc
|
port_rpc_admin_local
|
||||||
port_peer
|
port_peer
|
||||||
port_wss_admin
|
port_ws_admin_local
|
||||||
#port_ws_public
|
#port_ws_public
|
||||||
#ssl_key = /etc/ssl/private/server.key
|
#ssl_key = /etc/ssl/private/server.key
|
||||||
#ssl_cert = /etc/ssl/certs/server.crt
|
#ssl_cert = /etc/ssl/certs/server.crt
|
||||||
|
|
||||||
[port_rpc]
|
[port_rpc_admin_local]
|
||||||
port = 5005
|
port = 5005
|
||||||
ip = 127.0.0.1
|
ip = 127.0.0.1
|
||||||
admin = 127.0.0.1
|
admin = 127.0.0.1
|
||||||
protocol = https
|
protocol = http
|
||||||
|
|
||||||
[port_peer]
|
[port_peer]
|
||||||
port = 51235
|
port = 51235
|
||||||
ip = 0.0.0.0
|
ip = 0.0.0.0
|
||||||
protocol = peer
|
protocol = peer
|
||||||
|
|
||||||
[port_wss_admin]
|
[port_ws_admin_local]
|
||||||
port = 6006
|
port = 6006
|
||||||
ip = 127.0.0.1
|
ip = 127.0.0.1
|
||||||
admin = 127.0.0.1
|
admin = 127.0.0.1
|
||||||
protocol = wss
|
protocol = ws
|
||||||
|
|
||||||
#[port_ws_public]
|
#[port_ws_public]
|
||||||
#port = 5005
|
#port = 5005
|
||||||
@@ -885,8 +900,10 @@ pool.ntp.org
|
|||||||
[ips]
|
[ips]
|
||||||
r.ripple.com 51235
|
r.ripple.com 51235
|
||||||
|
|
||||||
# The latest validators can be obtained from
|
# Public keys of the validators that this rippled instance trusts. The latest
|
||||||
# https://ripple.com/ripple.txt
|
# list of validators can be obtained from https://ripple.com/ripple.txt
|
||||||
|
#
|
||||||
|
# See also https://wiki.ripple.com/Ripple.txt
|
||||||
#
|
#
|
||||||
[validators]
|
[validators]
|
||||||
n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7 RL1
|
n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7 RL1
|
||||||
@@ -895,7 +912,8 @@ n9L81uNCaPgtUJfaHh89gmdvXKAmSt5Gdsw2g1iPWaPkAHW5Nm4C RL3
|
|||||||
n9KiYM9CgngLvtRCQHZwgC2gjpdaZcCcbt3VboxiNFcKuwFVujzS RL4
|
n9KiYM9CgngLvtRCQHZwgC2gjpdaZcCcbt3VboxiNFcKuwFVujzS RL4
|
||||||
n9LdgEtkmGB9E2h3K4Vp7iGUaKuq23Zr32ehxiU8FWY7xoxbWTSA RL5
|
n9LdgEtkmGB9E2h3K4Vp7iGUaKuq23Zr32ehxiU8FWY7xoxbWTSA RL5
|
||||||
|
|
||||||
# Ditto.
|
# The number of validators rippled needs to accept a consensus.
|
||||||
|
# Don't change this unless you know what you're doing.
|
||||||
[validation_quorum]
|
[validation_quorum]
|
||||||
3
|
3
|
||||||
|
|
||||||
@@ -904,7 +922,8 @@ n9LdgEtkmGB9E2h3K4Vp7iGUaKuq23Zr32ehxiU8FWY7xoxbWTSA RL5
|
|||||||
[rpc_startup]
|
[rpc_startup]
|
||||||
{ "command": "log_level", "severity": "warning" }
|
{ "command": "log_level", "severity": "warning" }
|
||||||
|
|
||||||
# Defaults to 1 ("yes") so that certificates will be validated. To allow the use
|
# If ssl_verify is 1, certificates will be validated.
|
||||||
# of self-signed certificates for development or internal use, set to 0 ("no").
|
# To allow the use of self-signed certificates for development or internal use,
|
||||||
#[ssl_verify]
|
# set to ssl_verify to 0.
|
||||||
#0
|
[ssl_verify]
|
||||||
|
1
|
||||||
|
|||||||
@@ -490,6 +490,10 @@ TER Taker::transfer_xrp (
|
|||||||
if (from == to)
|
if (from == to)
|
||||||
return tesSUCCESS;
|
return tesSUCCESS;
|
||||||
|
|
||||||
|
// Transferring zero is equivalent to not doing a transfer
|
||||||
|
if (amount == zero)
|
||||||
|
return tesSUCCESS;
|
||||||
|
|
||||||
return m_view.transfer_xrp (from, to, amount);
|
return m_view.transfer_xrp (from, to, amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -504,6 +508,12 @@ TER Taker::redeem_iou (
|
|||||||
if (account == issue.account)
|
if (account == issue.account)
|
||||||
return tesSUCCESS;
|
return tesSUCCESS;
|
||||||
|
|
||||||
|
// Transferring zero is equivalent to not doing a transfer
|
||||||
|
if (amount == zero)
|
||||||
|
return tesSUCCESS;
|
||||||
|
|
||||||
|
// If we are trying to redeem some amount, then the account
|
||||||
|
// must have a credit balance.
|
||||||
if (get_funds (account, amount) <= zero)
|
if (get_funds (account, amount) <= zero)
|
||||||
throw std::logic_error ("redeem_iou has no funds to redeem");
|
throw std::logic_error ("redeem_iou has no funds to redeem");
|
||||||
|
|
||||||
@@ -526,6 +536,10 @@ TER Taker::issue_iou (
|
|||||||
if (account == issue.account)
|
if (account == issue.account)
|
||||||
return tesSUCCESS;
|
return tesSUCCESS;
|
||||||
|
|
||||||
|
// Transferring zero is equivalent to not doing a transfer
|
||||||
|
if (amount == zero)
|
||||||
|
return tesSUCCESS;
|
||||||
|
|
||||||
return m_view.issue_iou (account, amount, issue);
|
return m_view.issue_iou (account, amount, issue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -66,10 +66,14 @@ public:
|
|||||||
{
|
{
|
||||||
auto it = mLedgers.find (hash);
|
auto it = mLedgers.find (hash);
|
||||||
if (it != mLedgers.end ())
|
if (it != mLedgers.end ())
|
||||||
|
{
|
||||||
|
// Don't touch failed acquires so they can expire
|
||||||
|
if (! it->second->isFailed ())
|
||||||
{
|
{
|
||||||
it->second->update (seq);
|
it->second->update (seq);
|
||||||
if (it->second->isComplete() && !it->second->isFailed())
|
if (it->second->isComplete ())
|
||||||
ret = it->second->getLedger();
|
ret = it->second->getLedger ();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -211,6 +211,12 @@ public:
|
|||||||
|
|
||||||
for (auto const& remote_address : addresses)
|
for (auto const& remote_address : addresses)
|
||||||
{
|
{
|
||||||
|
if (remote_address.port () == 0)
|
||||||
|
{
|
||||||
|
throw std::runtime_error ("Port not specified for address:" +
|
||||||
|
remote_address.to_string ());
|
||||||
|
}
|
||||||
|
|
||||||
auto result (state->fixed.emplace (std::piecewise_construct,
|
auto result (state->fixed.emplace (std::piecewise_construct,
|
||||||
std::forward_as_tuple (remote_address),
|
std::forward_as_tuple (remote_address),
|
||||||
std::make_tuple (std::ref (m_clock))));
|
std::make_tuple (std::ref (m_clock))));
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ char const* getRawVersionString ()
|
|||||||
//
|
//
|
||||||
// The build version number (edit this for each release)
|
// The build version number (edit this for each release)
|
||||||
//
|
//
|
||||||
"0.28.1-rc2"
|
"0.28.1"
|
||||||
//
|
//
|
||||||
// Must follow the format described here:
|
// Must follow the format described here:
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user