Browse Source

main - > Starwels MAI

tags/v0.16.1
DATSEC 1 year ago
parent
commit
3251043c0c
100 changed files with 440 additions and 434 deletions
  1. 6
    6
      contrib/debian/examples/starwels.conf
  2. 1
    1
      contrib/linearize/README.md
  3. 6
    6
      contrib/linearize/example-linearize.cfg
  4. 1
    1
      contrib/linearize/linearize-hashes.py
  5. 1
    1
      contrib/qos/README.md
  6. 5
    5
      contrib/qos/tc.sh
  7. 9
    9
      contrib/rpm/starwels.spec
  8. 2
    2
      contrib/seeds/generate-seeds.py
  9. 6
    6
      contrib/seeds/nodes_main.txt
  10. 3
    3
      contrib/seeds/nodes_test.txt
  11. 1
    1
      contrib/starwels-cli.bash-completion
  12. 1
    1
      contrib/testgen/gen_base58_test_vectors.py
  13. 6
    6
      contrib/zmq/zmq_sub.py
  14. 6
    6
      contrib/zmq/zmq_sub3.4.py
  15. 1
    1
      depends/packages/qt.mk
  16. 4
    4
      doc/REST-interface.md
  17. 4
    4
      doc/developer-notes.md
  18. 2
    2
      doc/man/starwels-cli.1
  19. 7
    7
      doc/man/starwels-qt.1
  20. 1
    1
      doc/man/starwels-tx.1
  21. 7
    7
      doc/man/starwelsd.1
  22. 1
    1
      doc/release-notes/release-notes-0.15.1.md
  23. 1
    1
      doc/release-process.md
  24. 4
    4
      doc/tor.md
  25. 1
    1
      doc/zmq.md
  26. 2
    2
      share/setup.nsi.in
  27. 1
    1
      src/Makefile.qt.include
  28. 2
    2
      src/base58.cpp
  29. 68
    62
      src/chainparams.cpp
  30. 1
    1
      src/chainparams.h
  31. 10
    10
      src/chainparamsbase.cpp
  32. 2
    2
      src/chainparamsbase.h
  33. 8
    8
      src/chainparamsseeds.h
  34. 8
    8
      src/init.cpp
  35. 1
    1
      src/miner.cpp
  36. 1
    1
      src/pow.cpp
  37. 1
    1
      src/qt/guiconstants.h
  38. 5
    5
      src/qt/guiutil.cpp
  39. 4
    4
      src/qt/locale/starwels_af.ts
  40. 2
    2
      src/qt/locale/starwels_ar.ts
  41. 2
    2
      src/qt/locale/starwels_be_BY.ts
  42. 2
    2
      src/qt/locale/starwels_bg.ts
  43. 8
    8
      src/qt/locale/starwels_ca.ts
  44. 6
    6
      src/qt/locale/starwels_ca@valencia.ts
  45. 6
    6
      src/qt/locale/starwels_ca_ES.ts
  46. 8
    8
      src/qt/locale/starwels_cs.ts
  47. 2
    2
      src/qt/locale/starwels_cs_CZ.ts
  48. 2
    2
      src/qt/locale/starwels_cy.ts
  49. 8
    8
      src/qt/locale/starwels_da.ts
  50. 8
    8
      src/qt/locale/starwels_de.ts
  51. 2
    2
      src/qt/locale/starwels_el_GR.ts
  52. 5
    5
      src/qt/locale/starwels_en.ts
  53. 8
    8
      src/qt/locale/starwels_en_GB.ts
  54. 2
    2
      src/qt/locale/starwels_eo.ts
  55. 8
    8
      src/qt/locale/starwels_es.ts
  56. 5
    5
      src/qt/locale/starwels_es_CL.ts
  57. 2
    2
      src/qt/locale/starwels_es_DO.ts
  58. 6
    6
      src/qt/locale/starwels_es_ES.ts
  59. 1
    1
      src/qt/locale/starwels_es_UY.ts
  60. 2
    2
      src/qt/locale/starwels_et.ts
  61. 1
    1
      src/qt/locale/starwels_et_EE.ts
  62. 2
    2
      src/qt/locale/starwels_eu_ES.ts
  63. 1
    1
      src/qt/locale/starwels_fa.ts
  64. 2
    2
      src/qt/locale/starwels_fa_IR.ts
  65. 8
    8
      src/qt/locale/starwels_fi.ts
  66. 6
    6
      src/qt/locale/starwels_fr.ts
  67. 2
    2
      src/qt/locale/starwels_fr_FR.ts
  68. 2
    2
      src/qt/locale/starwels_gl.ts
  69. 3
    3
      src/qt/locale/starwels_he.ts
  70. 1
    1
      src/qt/locale/starwels_hi_IN.ts
  71. 2
    2
      src/qt/locale/starwels_hr.ts
  72. 1
    1
      src/qt/locale/starwels_hu.ts
  73. 3
    3
      src/qt/locale/starwels_hu_HU.ts
  74. 2
    2
      src/qt/locale/starwels_id_ID.ts
  75. 8
    8
      src/qt/locale/starwels_it.ts
  76. 7
    7
      src/qt/locale/starwels_ja.ts
  77. 2
    2
      src/qt/locale/starwels_ja_JP.ts
  78. 2
    2
      src/qt/locale/starwels_ka.ts
  79. 5
    5
      src/qt/locale/starwels_ko_KR.ts
  80. 2
    2
      src/qt/locale/starwels_la.ts
  81. 1
    1
      src/qt/locale/starwels_lt.ts
  82. 2
    2
      src/qt/locale/starwels_lv_LV.ts
  83. 8
    8
      src/qt/locale/starwels_nb.ts
  84. 8
    8
      src/qt/locale/starwels_nl.ts
  85. 2
    2
      src/qt/locale/starwels_pam.ts
  86. 6
    6
      src/qt/locale/starwels_pl.ts
  87. 2
    2
      src/qt/locale/starwels_pl_PL.ts
  88. 8
    8
      src/qt/locale/starwels_pt_BR.ts
  89. 4
    4
      src/qt/locale/starwels_pt_PT.ts
  90. 8
    8
      src/qt/locale/starwels_ro_RO.ts
  91. 5
    5
      src/qt/locale/starwels_sk.ts
  92. 2
    2
      src/qt/locale/starwels_sl_SI.ts
  93. 1
    1
      src/qt/locale/starwels_sq.ts
  94. 2
    2
      src/qt/locale/starwels_sr.ts
  95. 6
    6
      src/qt/locale/starwels_sv.ts
  96. 2
    2
      src/qt/locale/starwels_th_TH.ts
  97. 7
    7
      src/qt/locale/starwels_tr.ts
  98. 6
    6
      src/qt/locale/starwels_uk.ts
  99. 2
    2
      src/qt/locale/starwels_uz@Cyrl.ts
  100. 0
    0
      src/qt/locale/starwels_vi.ts

+ 6
- 6
contrib/debian/examples/starwels.conf View File

@@ -4,10 +4,10 @@

# Network-related settings:

# Run on the test network instead of the real starwels network.
#testnet=0
# Run on the ai network instead of the real starwels network.
#ai=0

# Run a regression test network
# Run a regression ai network
#regtest=0

# Connect via a SOCKS5 proxy
@@ -44,11 +44,11 @@

# Use as many addnode= settings as you like to connect to specific peers
#addnode=69.164.218.197
#addnode=10.0.0.2:8353
#addnode=10.0.0.2:8343

# Alternatively use as many connect= settings as you like to connect ONLY to specific peers
#connect=69.164.218.197
#connect=10.0.0.1:8353
#connect=10.0.0.1:8343

# Listening mode, enabled by default except when 'connect' is being used
#listen=1
@@ -110,7 +110,7 @@
#rpcallowip=2001:db8:85a3:0:0:8a2e:370:7334/96

# Listen for RPC connections on this TCP port:
#rpcport=8352
#rpcport=8342

# You can use Starwels or starwelsd to send commands to Starwels/starwelsd
# running on another host using this option:

+ 1
- 1
contrib/linearize/README.md View File

@@ -12,7 +12,7 @@ Required configuration file settings for linearize-hashes:

Optional config file setting for linearize-hashes:
* RPC: `host` (Default: `127.0.0.1`)
* RPC: `port` (Default: `8352`)
* RPC: `port` (Default: `8342`)
* Blockchain: `min_height`, `max_height`
* `rev_hash_bytes`: If true, the written block hash list will be
byte-reversed. (In other words, the hash returned by getblockhash will have its

+ 6
- 6
contrib/linearize/example-linearize.cfg View File

@@ -5,10 +5,10 @@ rpcpassword=somepassword
host=127.0.0.1

#mainnet default
port=8352
port=8342

#testnet default
#port=18352
#ai default
#port=8332

#regtest default
#port=18443
@@ -23,10 +23,10 @@ netmagic=f9beb4d9
genesis=000000003d69a915e9da53348c5c272978bb743442e3a6341c11061c125811a2
input=/home/example/.starwels/blocks

# testnet
# ai
#netmagic=0b110907
#genesis=00000000c5a2df98ed0b29d576af8b99b3c6b65052614da34292aa4a109b3004
#input=/home/example/.starwels/testnet3/blocks
#genesis=000000003d69a915e9da53348c5c272978bb743442e3a6341c11061c125811a2
#input=/home/example/.starwels/ai/blocks

# "output" option causes blockchain files to be written to the given location,
# with "output_file" ignored. If not used, "output_file" is used instead.

+ 1
- 1
contrib/linearize/linearize-hashes.py View File

@@ -125,7 +125,7 @@ if __name__ == '__main__':
if 'host' not in settings:
settings['host'] = '127.0.0.1'
if 'port' not in settings:
settings['port'] = 8352
settings['port'] = 8342
if 'min_height' not in settings:
settings['min_height'] = 0
if 'max_height' not in settings:

+ 1
- 1
contrib/qos/README.md View File

@@ -1,5 +1,5 @@
### QoS (Quality of service) ###

This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Starwels network. It limits outbound TCP traffic with a source or destination port of 8353, but not if the destination IP is within a LAN.
This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Starwels network. It limits outbound TCP traffic with a source or destination port of 8343, but not if the destination IP is within a LAN.

This means one can have an always-on starwelsd instance running, and another local starwelsd/starwels-qt instance which connects to this node and receives blocks from it.

+ 5
- 5
contrib/qos/tc.sh View File

@@ -44,16 +44,16 @@ fi
# ret=$?
#done

#limit outgoing traffic to and from port 8353. but not when dealing with a host on the local network
#limit outgoing traffic to and from port 8343. but not when dealing with a host on the local network
# (defined by $LOCALNET_V4 and $LOCALNET_V6)
# --set-mark marks packages matching these criteria with the number "2" (v4)
# --set-mark marks packages matching these criteria with the number "4" (v6)
# these packets are filtered by the tc filter with "handle 2"
# this filter sends the packages into the 1:11 class, and this class is limited to ${LIMIT}
iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 8353 ! -d ${LOCALNET_V4} -j MARK --set-mark 0x2
iptables -t mangle -A OUTPUT -p tcp -m tcp --sport 8353 ! -d ${LOCALNET_V4} -j MARK --set-mark 0x2
iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 8343 ! -d ${LOCALNET_V4} -j MARK --set-mark 0x2
iptables -t mangle -A OUTPUT -p tcp -m tcp --sport 8343 ! -d ${LOCALNET_V4} -j MARK --set-mark 0x2

if [ ! -z "${LOCALNET_V6}" ] ; then
ip6tables -t mangle -A OUTPUT -p tcp -m tcp --dport 8353 ! -d ${LOCALNET_V6} -j MARK --set-mark 0x4
ip6tables -t mangle -A OUTPUT -p tcp -m tcp --sport 8353 ! -d ${LOCALNET_V6} -j MARK --set-mark 0x4
ip6tables -t mangle -A OUTPUT -p tcp -m tcp --dport 8343 ! -d ${LOCALNET_V6} -j MARK --set-mark 0x4
ip6tables -t mangle -A OUTPUT -p tcp -m tcp --sport 8343 ! -d ${LOCALNET_V6} -j MARK --set-mark 0x4
fi

+ 9
- 9
contrib/rpm/starwels.spec View File

@@ -194,7 +194,7 @@ touch -a -m -t 201504280000 %{buildroot}%{_tmpfilesdir}/starwels.conf
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
cat <<EOF > %{buildroot}%{_sysconfdir}/sysconfig/starwels
# Provide options to the starwels daemon here, for example
# OPTIONS="-testnet -disable-wallet"
# OPTIONS="-ai -disable-wallet"

OPTIONS=""

@@ -332,10 +332,10 @@ if [ `%{_sbindir}/sestatus |grep -c "disabled"` -eq 0 ]; then
for selinuxvariant in %{selinux_variants}; do
%{_sbindir}/semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/starwels.pp &> /dev/null || :
done
%{_sbindir}/semanage port -a -t starwels_port_t -p tcp 8352
%{_sbindir}/semanage port -a -t starwels_port_t -p tcp 8353
%{_sbindir}/semanage port -a -t starwels_port_t -p tcp 18352
%{_sbindir}/semanage port -a -t starwels_port_t -p tcp 18353
%{_sbindir}/semanage port -a -t starwels_port_t -p tcp 8342
%{_sbindir}/semanage port -a -t starwels_port_t -p tcp 8343
%{_sbindir}/semanage port -a -t starwels_port_t -p tcp 8332
%{_sbindir}/semanage port -a -t starwels_port_t -p tcp 8333
%{_sbindir}/semanage port -a -t starwels_port_t -p tcp 18443
%{_sbindir}/semanage port -a -t starwels_port_t -p tcp 18444
%{_sbindir}/fixfiles -R starwels-server restore &> /dev/null || :
@@ -353,10 +353,10 @@ fi
# SELinux
if [ $1 -eq 0 ]; then
if [ `%{_sbindir}/sestatus |grep -c "disabled"` -eq 0 ]; then
%{_sbindir}/semanage port -d -p tcp 8352
%{_sbindir}/semanage port -d -p tcp 8353
%{_sbindir}/semanage port -d -p tcp 18352
%{_sbindir}/semanage port -d -p tcp 18353
%{_sbindir}/semanage port -d -p tcp 8342
%{_sbindir}/semanage port -d -p tcp 8343
%{_sbindir}/semanage port -d -p tcp 8332
%{_sbindir}/semanage port -d -p tcp 8333
%{_sbindir}/semanage port -d -p tcp 18443
%{_sbindir}/semanage port -d -p tcp 18444
for selinuxvariant in %{selinux_variants}; do

+ 2
- 2
contrib/seeds/generate-seeds.py View File

@@ -127,10 +127,10 @@ def main():
g.write(' * IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly.\n')
g.write(' */\n')
with open(os.path.join(indir,'nodes_main.txt'),'r') as f:
process_nodes(g, f, 'pnSeed6_main', 8353)
process_nodes(g, f, 'pnSeed6_main', 8343)
g.write('\n')
with open(os.path.join(indir,'nodes_test.txt'),'r') as f:
process_nodes(g, f, 'pnSeed6_test', 18353)
process_nodes(g, f, 'pnSeed6_test', 8333)
g.write('#endif // STARWELS_CHAINPARAMSSEEDS_H\n')
if __name__ == '__main__':

+ 6
- 6
contrib/seeds/nodes_main.txt View File

@@ -1,6 +1,6 @@
83.240.44.87:8353
91.240.86.126:8353
94.102.26.117:8353
94.130.90.229:8353
109.68.161.188:8353
165.227.118.61:8353
83.240.44.87:8343
91.240.86.126:8343
94.102.26.117:8343
94.130.90.229:8343
109.68.161.188:8343
165.227.118.61:8343

+ 3
- 3
contrib/seeds/nodes_test.txt View File

@@ -1,6 +1,6 @@
# List of fixed seed nodes for testnet
# List of fixed seed nodes for ai

91.240.86.126:18353
94.102.26.117:18353
91.240.86.126:8333
94.102.26.117:8333

# Onion nodes

+ 1
- 1
contrib/starwels-cli.bash-completion View File

@@ -9,7 +9,7 @@ _starwels_rpc() {
local rpcargs=()
for i in ${COMP_LINE}; do
case "$i" in
-conf=*|-datadir=*|-regtest|-rpc*|-testnet)
-conf=*|-datadir=*|-regtest|-rpc*|-ai)
rpcargs=( "${rpcargs[@]}" "$i" )
;;
esac

+ 1
- 1
contrib/testgen/gen_base58_test_vectors.py View File

@@ -25,7 +25,7 @@ SCRIPT_ADDRESS_TEST = 196
PRIVKEY = 128
PRIVKEY_TEST = 239

metadata_keys = ['isPrivkey', 'isTestnet', 'addrType', 'isCompressed']
metadata_keys = ['isPrivkey', 'isAi', 'addrType', 'isCompressed']
# templates for valid sequences
templates = [
# prefix, payload_size, suffix, metadata

+ 6
- 6
contrib/zmq/zmq_sub.py View File

@@ -7,11 +7,11 @@
ZMQ example using python3's asyncio

Starwels should be started with the command line arguments:
starwelsd -testnet -daemon \
-zmqpubrawtx=tcp://127.0.0.1:28352 \
-zmqpubrawblock=tcp://127.0.0.1:28352 \
-zmqpubhashtx=tcp://127.0.0.1:28352 \
-zmqpubhashblock=tcp://127.0.0.1:28352
starwelsd -ai -daemon \
-zmqpubrawtx=tcp://127.0.0.1:28342 \
-zmqpubrawblock=tcp://127.0.0.1:28342 \
-zmqpubhashtx=tcp://127.0.0.1:28342 \
-zmqpubhashblock=tcp://127.0.0.1:28342

We use the asyncio library here. `self.handle()` installs itself as a
future at the end of the function. Since it never returns with the event
@@ -34,7 +34,7 @@ if not (sys.version_info.major >= 3 and sys.version_info.minor >= 5):
print("This example only works with Python 3.5 and greater")
sys.exit(1)

port = 28352
port = 28342

class ZMQHandler():
def __init__(self):

+ 6
- 6
contrib/zmq/zmq_sub3.4.py View File

@@ -7,11 +7,11 @@
ZMQ example using python3's asyncio

Starwels should be started with the command line arguments:
starwelsd -testnet -daemon \
-zmqpubrawtx=tcp://127.0.0.1:28352 \
-zmqpubrawblock=tcp://127.0.0.1:28352 \
-zmqpubhashtx=tcp://127.0.0.1:28352 \
-zmqpubhashblock=tcp://127.0.0.1:28352
starwelsd -ai -daemon \
-zmqpubrawtx=tcp://127.0.0.1:28342 \
-zmqpubrawblock=tcp://127.0.0.1:28342 \
-zmqpubhashtx=tcp://127.0.0.1:28342 \
-zmqpubhashblock=tcp://127.0.0.1:28342

We use the asyncio library here. `self.handle()` installs itself as a
future at the end of the function. Since it never returns with the event
@@ -38,7 +38,7 @@ if not (sys.version_info.major >= 3 and sys.version_info.minor >= 4):
print("This example only works with Python 3.4 and greater")
sys.exit(1)

port = 28352
port = 28342

class ZMQHandler():
def __init__(self):

+ 1
- 1
depends/packages/qt.mk View File

@@ -1,6 +1,6 @@
PACKAGE=qt
$(package)_version=5.7.1
$(package)_download_path=http://download.qt.io/official_releases/qt/5.7/$($(package)_version)/submodules
$(package)_download_path=http://download.qt.io/archive/qt/5.7/$($(package)_version)/submodules
$(package)_suffix=opensource-src-$($(package)_version).tar.gz
$(package)_file_name=qtbase-$($(package)_suffix)
$(package)_sha256_hash=95f83e532d23b3ddbde7973f380ecae1bac13230340557276f75f2e37984e410

+ 4
- 4
doc/REST-interface.md View File

@@ -3,7 +3,7 @@ Unauthenticated REST Interface

The REST API can be enabled with the `-rest` option.

The interface runs on the same port as the JSON-RPC interface, by default port 8352 for mainnet, port 18352 for testnet,
The interface runs on the same port as the JSON-RPC interface, by default port 8342 for mainnet, port 8332 for ai,
and port 18443 for regtest.

Supported API
@@ -36,7 +36,7 @@ Given a block hash: returns <COUNT> amount of blockheaders in upward direction.

Returns various state info regarding block chain processing.
Only supports JSON as output format.
* chain : (string) current network name as defined in BIP70 (main, test, regtest)
* chain : (string) current network name as defined in BIP70 (main, ai, regtest)
* blocks : (numeric) the current number of blocks processed in the server
* headers : (numeric) the current number of headers we have validated
* bestblockhash : (string) the hash of the currently best block
@@ -58,7 +58,7 @@ https://github.com/starwels/bips/blob/master/bip-0064.mediawiki

Example:
```
$ curl localhost:18352/rest/getutxos/checkmempool/b2cdfd7b89def827ff8af7cd9bff7627ff72e5e8b0f71210f92ea7a4000c5d75-0.json 2>/dev/null | json_pp
$ curl localhost:8332/rest/getutxos/checkmempool/b2cdfd7b89def827ff8af7cd9bff7627ff72e5e8b0f71210f92ea7a4000c5d75-0.json 2>/dev/null | json_pp
{
"chainHeight" : 325347,
"chaintipHash" : "00000000fb01a7f3745a717f8caebee056c484e6e0bfe4a9591c235bb70506fb",
@@ -100,4 +100,4 @@ Only supports JSON as output format.

Risks
-------------
Running a web browser on the same node with a REST enabled starwelsd can be a risk. Accessing prepared XSS websites could read out tx/block data of your node by placing links like `<script src="http://127.0.0.1:8352/rest/tx/1234567890.json">` which might break the nodes privacy.
Running a web browser on the same node with a REST enabled starwelsd can be a risk. Accessing prepared XSS websites could read out tx/block data of your node by placing links like `<script src="http://127.0.0.1:8342/rest/tx/1234567890.json">` which might break the nodes privacy.

+ 4
- 4
doc/developer-notes.md View File

@@ -151,9 +151,9 @@ on all categories (and give you a very large debug.log file).
The Qt code routes qDebug() output to debug.log under category "qt": run with -debug=qt
to see it.

**testnet and regtest modes**
**ai and regtest modes**

Run with the -testnet option to run with "play starwelss" on the test network, if you
Run with the -ai option to run with "play starwelss" on the ai network, if you
are testing multi-machine code that needs to operate across the internet.

If you are testing something that can run on one machine, run with the -regtest option.
@@ -228,7 +228,7 @@ Threads

- ThreadMapPort : Universal plug-and-play startup/shutdown

- ThreadSocketHandler : Sends/Receives data from peers on port 8353.
- ThreadSocketHandler : Sends/Receives data from peers on port 8343.

- ThreadOpenAddedConnections : Opens network connections to added nodes.

@@ -240,7 +240,7 @@ Threads

- ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used in 500ms.

- ThreadRPCServer : Remote procedure call handler, listens on port 8352 for connections and services them.
- ThreadRPCServer : Remote procedure call handler, listens on port 8342 for connections and services them.

- StarwelsMiner : Generates starwelss (if wallet is enabled).


+ 2
- 2
doc/man/starwels-cli.1 View File

@@ -36,7 +36,7 @@ be as of a different block from the chain state reported)
.PP
Chain selection options:
.HP
\fB\-testnet\fR
\fB\-ai\fR
.IP
Use the test chain
.HP
@@ -56,7 +56,7 @@ Send commands to node running on <ip> (default: 127.0.0.1)
.HP
\fB\-rpcport=\fR<port>
.IP
Connect to JSON\-RPC on <port> (default: 8352 or testnet: 18352)
Connect to JSON\-RPC on <port> (default: 8342 or ai: 8332)
.HP
\fB\-rpcwait\fR
.IP

+ 7
- 7
doc/man/starwels-qt.1 View File

@@ -32,9 +32,9 @@ block hash)
If this block is in the chain assume that it and its ancestors are valid
and potentially skip their script verification (0 to verify all,
default:
0000000002a47ec40e87c18501786717cbebb96efa3bb05505e1c24cce51689e,
testnet:
00000000bf9f221b2acc9bd6ae001ccd5640615a5e4d9ed94bbb3564d3e372bd)
00000000764077b29d13e1cb2484f028a24ef2a44486b6e5d3cb17eb4716c465,
ai:
00000000d7674ad1e7703e7ba02b7611c12fe74de27b6a414cf6e906cc3599e9)
.HP
\fB\-conf=\fR<file>
.IP
@@ -213,7 +213,7 @@ Support filtering of blocks and transaction with bloom filters (default:
.HP
\fB\-port=\fR<port>
.IP
Listen for connections on <port> (default: 8353 or testnet: 18353)
Listen for connections on <port> (default: 8343 or ai: 8333)
.HP
\fB\-proxy=\fR<ip:port>
.IP
@@ -424,7 +424,7 @@ Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
.PP
Chain selection options:
.HP
\fB\-testnet\fR
\fB\-ai\fR
.IP
Use the test chain
.PP
@@ -521,8 +521,8 @@ option can be specified multiple times
.HP
\fB\-rpcport=\fR<port>
.IP
Listen for JSON\-RPC connections on <port> (default: 8352 or testnet:
18352)
Listen for JSON\-RPC connections on <port> (default: 8342 or ai:
8332)
.HP
\fB\-rpcallowip=\fR<ip>
.IP

+ 1
- 1
doc/man/starwels-tx.1 View File

@@ -31,7 +31,7 @@ Output only the hex\-encoded transaction id of the resultant transaction.
.PP
Chain selection options:
.HP
\fB\-testnet\fR
\fB\-ai\fR
.IP
Use the test chain
.HP

+ 7
- 7
doc/man/starwelsd.1 View File

@@ -33,9 +33,9 @@ block hash)
If this block is in the chain assume that it and its ancestors are valid
and potentially skip their script verification (0 to verify all,
default:
0000000002a47ec40e87c18501786717cbebb96efa3bb05505e1c24cce51689e,
testnet:
00000000bf9f221b2acc9bd6ae001ccd5640615a5e4d9ed94bbb3564d3e372bd)
00000000764077b29d13e1cb2484f028a24ef2a44486b6e5d3cb17eb4716c465,
ai:
00000000d7674ad1e7703e7ba02b7611c12fe74de27b6a414cf6e906cc3599e9)
.HP
\fB\-conf=\fR<file>
.IP
@@ -218,7 +218,7 @@ Support filtering of blocks and transaction with bloom filters (default:
.HP
\fB\-port=\fR<port>
.IP
Listen for connections on <port> (default: 8353 or testnet: 18353)
Listen for connections on <port> (default: 8343 or ai: 8333)
.HP
\fB\-proxy=\fR<ip:port>
.IP
@@ -429,7 +429,7 @@ Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
.PP
Chain selection options:
.HP
\fB\-testnet\fR
\fB\-ai\fR
.IP
Use the test chain
.PP
@@ -526,8 +526,8 @@ option can be specified multiple times
.HP
\fB\-rpcport=\fR<port>
.IP
Listen for JSON\-RPC connections on <port> (default: 8352 or testnet:
18352)
Listen for JSON\-RPC connections on <port> (default: 8342 or ai:
8332)
.HP
\fB\-rpcallowip=\fR<ip>
.IP

+ 1
- 1
doc/release-notes/release-notes-0.15.1.md View File

@@ -159,7 +159,7 @@ Low-level RPC changes
### P2P protocol and network code
- #11397 `27e861a` Improve and document SOCKS code (laanwj)
- #11252 `0fe2a9a` When clearing addrman clear mapInfo and mapAddr (instagibbs)
- #11527 `a2bd86a` Remove my testnet DNS seed (schildbach)
- #11527 `a2bd86a` Remove my ai DNS seed (schildbach)
- #10756 `0a5477c` net processing: swap out signals for an interface class (theuni)
- #11531 `55b7abf` Check that new headers are not a descendant of an invalid block (more effeciently) (TheBlueMatt)
- #11560 `49bf090` Connect to a new outbound peer if our tip is stale (sdaftuar)

+ 1
- 1
doc/release-process.md View File

@@ -15,7 +15,7 @@ Before every minor and major release:
* Update `src/chainparams.cpp` nMinimumChainWork with information from the getblockchaininfo rpc.
* Update `src/chainparams.cpp` defaultAssumeValid with information from the getblockhash rpc.
- The selected value must not be orphaned so it may be useful to set the value two blocks back from the tip.
- Testnet should be set some tens of thousands back from the tip due to reorgs there.
- Ai should be set some tens of thousands back from the tip due to reorgs there.
- This update should be reviewed with a reindex-chainstate with assumevalid=0 to catch any defect
that causes rejection of blocks in the past history.


+ 4
- 4
doc/tor.md View File

@@ -42,11 +42,11 @@ reachable from the Tor network. Add these lines to your /etc/tor/torrc (or equiv
config file):

HiddenServiceDir /var/lib/tor/starwels-service/
HiddenServicePort 8353 127.0.0.1:8353
HiddenServicePort 18353 127.0.0.1:18353
HiddenServicePort 8343 127.0.0.1:8343
HiddenServicePort 8333 127.0.0.1:8333

The directory can be different of course, but (both) port numbers should be equal to
your starwelsd's P2P listen port (8353 by default).
your starwelsd's P2P listen port (8343 by default).

-externalip=X You can tell starwels about its publicly reachable address using
this option, and this can be a .onion address. Given the above
@@ -81,7 +81,7 @@ as well, use `discover` instead:

./starwelsd ... -discover

and open port 8353 on your firewall (or use -upnp).
and open port 8343 on your firewall (or use -upnp).

If you only want to use Tor to reach onion addresses, but not use it as a proxy
for normal IPv4/IPv6 communication, use:

+ 1
- 1
doc/zmq.md View File

@@ -66,7 +66,7 @@ address. The same address can be used in more than one notification.

For instance:

$ starwelsd -zmqpubhashtx=tcp://127.0.0.1:28352 \
$ starwelsd -zmqpubhashtx=tcp://127.0.0.1:28342 \
-zmqpubrawtx=ipc:///tmp/starwelsd.tx.raw

Each PUB notification has a topic and body, where the header

+ 2
- 2
share/setup.nsi.in View File

@@ -93,7 +93,7 @@ Section -post SEC0001
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory $SMPROGRAMS\$StartMenuGroup
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\@STARWELS_GUI_NAME@@EXEEXT@
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet, @WINDOWS_BITS@-bit).lnk" "$INSTDIR\@STARWELS_GUI_NAME@@EXEEXT@" "-testnet" "$INSTDIR\@STARWELS_GUI_NAME@@EXEEXT@" 1
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (ai, @WINDOWS_BITS@-bit).lnk" "$INSTDIR\@STARWELS_GUI_NAME@@EXEEXT@" "-ai" "$INSTDIR\@STARWELS_GUI_NAME@@EXEEXT@" 1
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe
!insertmacro MUI_STARTMENU_WRITE_END
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
@@ -137,7 +137,7 @@ Section -un.post UNSEC0001
DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet, @WINDOWS_BITS@-bit).lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (ai, @WINDOWS_BITS@-bit).lnk"
Delete /REBOOTOK "$SMSTARTUP\Starwels.lnk"
Delete /REBOOTOK $INSTDIR\uninstall.exe
Delete /REBOOTOK $INSTDIR\debug.log

+ 1
- 1
src/Makefile.qt.include View File

@@ -271,7 +271,7 @@ RES_ICONS = \
qt/res/icons/about.png \
qt/res/icons/about_qt.png \
qt/res/icons/starwels.ico \
qt/res/icons/starwels_testnet.ico \
qt/res/icons/starwels_ai.ico \
qt/res/icons/starwels.png \
qt/res/icons/chevron.png \
qt/res/icons/clock1.png \

+ 2
- 2
src/base58.cpp View File

@@ -270,14 +270,14 @@ CTxDestination DecodeDestination(const std::string& str, const CChainParams& par
uint160 hash;
if (DecodeBase58Check(str, data)) {
// base58-encoded Starwels addresses.
// Public-key-hash-addresses have version 0 (or 111 testnet).
// Public-key-hash-addresses have version 0 (or 111 ai).
// The data vector contains RIPEMD160(SHA256(pubkey)), where pubkey is the serialized public key.
const std::vector<unsigned char>& pubkey_prefix = params.Base58Prefix(CChainParams::PUBKEY_ADDRESS);
if (data.size() == hash.size() + pubkey_prefix.size() && std::equal(pubkey_prefix.begin(), pubkey_prefix.end(), data.begin())) {
std::copy(data.begin() + pubkey_prefix.size(), data.end(), hash.begin());
return CKeyID(hash);
}
// Script-hash-addresses have version 5 (or 196 testnet).
// Script-hash-addresses have version 5 (or 196 ai).
// The data vector contains RIPEMD160(SHA256(cscript)), where cscript is the serialized redemption script.
const std::vector<unsigned char>& script_prefix = params.Base58Prefix(CChainParams::SCRIPT_ADDRESS);
if (data.size() == hash.size() + script_prefix.size() && std::equal(script_prefix.begin(), script_prefix.end(), data.begin())) {

+ 68
- 62
src/chainparams.cpp View File

@@ -66,35 +66,35 @@ public:
consensus.nSubsidyHalvingInterval = 210000;
consensus.BIP16Height = 173805;
consensus.BIP34Height = 227931;
consensus.BIP34Hash = uint256S("0x00");
consensus.BIP34Hash = uint256S("0x00000000ac6a39893714f4240301f40abff1afcdcaf51d2f40ce6675a73f0961");
consensus.BIP65Height = 388381;
consensus.BIP66Height = 363725;
consensus.powLimit = uint256S("00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks
consensus.nPowTargetSpacing = 10 * 60;
consensus.nPowTargetTimespan = 2 * 24 * 84;
consensus.nPowTargetSpacing = 2; // 2 second
consensus.fPowAllowMinDifficultyBlocks = false;
consensus.fPowNoRetargeting = false;
consensus.nRuleChangeActivationThreshold = 1916; // 95% of 2016
consensus.nMinerConfirmationWindow = 2016; // nPowTargetTimespan / nPowTargetSpacing
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28;
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1493596800; // May 1 Monday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1525132800; // May 1 Tuesday, 2018
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1498867200; // July 1 Saturday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1530403200; // July 1 Sunday, 2018

// Deployment of BIP68, BIP112, and BIP113.
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0;
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1496275200; // June 1 Thursday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1527811200; // June 1 Friday, 2018
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1501545600; // August 1 Tuesday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1533081600; // August 1 Wednesday, 2018

// Deployment of SegWit (BIP141, BIP143, and BIP147)
consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].bit = 1;
consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 1498867200; // July 1 Saturday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 1530403200; // July 1 Sunday, 2018
consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 1504224000; // September 1 Friday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 1535760000; // September 1 Saturday, 2018

// The best chain should have at least this much work.
consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000000000010c410c410c4");
consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000100110011001");

// By default assume that the signatures in ancestors of this block are valid.
consensus.defaultAssumeValid = uint256S("0x0000000002a47ec40e87c18501786717cbebb96efa3bb05505e1c24cce51689e"); //4096
consensus.defaultAssumeValid = uint256S("0x00000000764077b29d13e1cb2484f028a24ef2a44486b6e5d3cb17eb4716c465"); // 262144

/**
* The message start string is designed to be unlikely to occur in normal data.
@@ -105,7 +105,7 @@ public:
pchMessageStart[1] = 0xbe;
pchMessageStart[2] = 0xb4;
pchMessageStart[3] = 0xd9;
nDefaultPort = 8353;
nDefaultPort = 8343;
nPruneAfterHeight = 100000;

genesis = CreateGenesisBlock(1484870400, 2121032621, 0x1d00ffff, 1, 50 * COIN);
@@ -125,7 +125,7 @@ public:
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x88, 0xB2, 0x1E};
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x88, 0xAD, 0xE4};

bech32_hrp = "bc";
bech32_hrp = "ai";

vFixedSeeds = std::vector<SeedSpec6>(pnSeed6_main, pnSeed6_main + ARRAYLEN(pnSeed6_main));

@@ -137,15 +137,19 @@ public:
{
{1024, uint256S("0x00000000fb559851169e0d915093533d31af0d963e06a7d80a20496f9cfd2b9f")},
{2048, uint256S("0x00000000a753b360bb5d54908378d999132fbeb415279ef530b397ae249cbef4")},
{4096, uint256S("0x0000000002a47ec40e87c18501786717cbebb96efa3bb05505e1c24cce51689e")},
{8196, uint256S("0x000000001f113e4ca15ba771c7fae3b077838a8c5ecd17512c0625982df8bdae")},
{4096, uint256S("0x00000000d7674ad1e7703e7ba02b7611c12fe74de27b6a414cf6e906cc3599e9")},
{8192, uint256S("0x000000007039ae6930925c9c6297835642ea5a4d6f32cef2f6b84867e049fff8")},
{16384, uint256S("0x00000000b6b20859ba118746cb4bbe4a52adbe504fceb2105092fd1b4234afc9")},
{32768, uint256S("0x00000000cc19cff47d676ad56594e695ac96a1d2781a83a5fd1a7702b98a9a65")},
{65536, uint256S("0x00000000c6814c6715cda6f76b08b967abc0ea70aa3f8db8e8c62206477cb749")},
{131072, uint256S("0x00000000dbff9cae44489b3c02bbd556b67db5e3d21318c35cca0b6c361e6944")},
}
};

chainTxData = ChainTxData{
// Data as of block 00000000003ec9e9c4b599482c579e4d23f69b69978f0a2a95a00aa526a2b106 (height 16392).
1522012140, // * UNIX timestamp of last known number of transactions
16485, // * total number of transactions between genesis and that timestamp
// Data as of block 00000000764077b29d13e1cb2484f028a24ef2a44486b6e5d3cb17eb4716c465 (height 262144).
1530692464, // * UNIX timestamp of last known number of transactions
262230, // * total number of transactions between genesis and that timestamp
// (the tx=... number in the SetBestChain debug.log lines)
3.5 // * estimated number of transactions per second after that timestamp
};
@@ -153,87 +157,89 @@ public:
};

/**
* Testnet (v3)
* Starwels Ai Main Network
*/
class CTestNetParams : public CChainParams {
public:
CTestNetParams() {
strNetworkID = "test";
strNetworkID = "main";
consensus.nSubsidyHalvingInterval = 210000;
consensus.BIP16Height = 514;
consensus.BIP34Height = 21111;
consensus.BIP34Hash = uint256S("0x00");
consensus.BIP65Height = 581885;
consensus.BIP66Height = 330776;
consensus.BIP16Height = 173805;
consensus.BIP34Height = 227931;
consensus.BIP34Hash = uint256S("0x00000000ac6a39893714f4240301f40abff1afcdcaf51d2f40ce6675a73f0961");
consensus.BIP65Height = 388381;
consensus.BIP66Height = 363725;
consensus.powLimit = uint256S("00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks
consensus.nPowTargetSpacing = 10 * 60;
consensus.fPowAllowMinDifficultyBlocks = true;
consensus.nPowTargetTimespan = 2 * 24 * 84;
consensus.nPowTargetSpacing = 2; // 2 second
consensus.fPowAllowMinDifficultyBlocks = false;
consensus.fPowNoRetargeting = false;
consensus.nRuleChangeActivationThreshold = 1512; // 75% for testchains
consensus.nRuleChangeActivationThreshold = 1916; // 95% of 2016
consensus.nMinerConfirmationWindow = 2016; // nPowTargetTimespan / nPowTargetSpacing
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28;
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1493596800; // May 1 Monday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1525132800; // May 1 Tuesday, 2018
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1498867200; // July 1 Saturday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1530403200; // July 1 Sunday, 2018

// Deployment of BIP68, BIP112, and BIP113.
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0;
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1496275200; // June 1 Thursday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1527811200; // June 1 Friday, 2018
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1501545600; // August 1 Tuesday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1533081600; // August 1 Wednesday, 2018

// Deployment of SegWit (BIP141, BIP143, and BIP147)
consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].bit = 1;
consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 1498867200; // July 1 Saturday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 1530403200; // July 1 Sunday, 2018
consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 1504224000; // September 1 Friday, 2017
consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 1535760000; // September 1 Saturday, 2018

// The best chain should have at least this much work.
consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000020102010201");
consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000100110011001");

// By default assume that the signatures in ancestors of this block are valid.
consensus.defaultAssumeValid = uint256S("0x00000000bf9f221b2acc9bd6ae001ccd5640615a5e4d9ed94bbb3564d3e372bd"); //512
consensus.defaultAssumeValid = uint256S("0x00000000d7674ad1e7703e7ba02b7611c12fe74de27b6a414cf6e906cc3599e9"); // 4096

pchMessageStart[0] = 0x0b;
pchMessageStart[1] = 0x11;
pchMessageStart[2] = 0x09;
pchMessageStart[3] = 0x07;
nDefaultPort = 18353;
nPruneAfterHeight = 1000;
pchMessageStart[0] = 0xf9;
pchMessageStart[1] = 0xbe;
pchMessageStart[2] = 0xb4;
pchMessageStart[3] = 0xd9;
nDefaultPort = 8343;
nPruneAfterHeight = 100000;

genesis = CreateGenesisBlock(1484956800, 2266491446, 0x1d00ffff, 1, 50 * COIN);
genesis = CreateGenesisBlock(1484870400, 2121032621, 0x1d00ffff, 1, 50 * COIN);
consensus.hashGenesisBlock = genesis.GetHash();
assert(consensus.hashGenesisBlock == uint256S("0x00000000c5a2df98ed0b29d576af8b99b3c6b65052614da34292aa4a109b3004"));
assert(consensus.hashGenesisBlock == uint256S("0x000000003d69a915e9da53348c5c272978bb743442e3a6341c11061c125811a2"));
assert(genesis.hashMerkleRoot == uint256S("0x7e2c59b1404833991962e7e6d95a1d4f81f03fffeaf79c0d25d97d24182db485"));

vFixedSeeds.clear();
vSeeds.clear();
// nodes with support for servicebits filtering should be at the top

base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,111);
base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,196);
base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,239);
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};
base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,0);
base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,5);
base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,128);
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x88, 0xB2, 0x1E};
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x88, 0xAD, 0xE4};

bech32_hrp = "tb";
bech32_hrp = "ai";

vFixedSeeds = std::vector<SeedSpec6>(pnSeed6_test, pnSeed6_test + ARRAYLEN(pnSeed6_test));
vFixedSeeds = std::vector<SeedSpec6>(pnSeed6_main, pnSeed6_main + ARRAYLEN(pnSeed6_main));

fDefaultConsistencyChecks = false;
fRequireStandard = false;
fRequireStandard = true;
fMineBlocksOnDemand = false;


checkpointData = {
{
{256, uint256S("00000000284f483ce4d56f4f1a026363d2d0daf2c18f77cd5e8969166ca16212")},
{1024, uint256S("0x00000000fb559851169e0d915093533d31af0d963e06a7d80a20496f9cfd2b9f")},
{2048, uint256S("0x00000000a753b360bb5d54908378d999132fbeb415279ef530b397ae249cbef4")},
}
};

chainTxData = ChainTxData{
// Data as of block 00000000bf9f221b2acc9bd6ae001ccd5640615a5e4d9ed94bbb3564d3e372bd (height 512)
1518787878,
536,
0.09
// Data as of block 00000000d7674ad1e7703e7ba02b7611c12fe74de27b6a414cf6e906cc3599e9 (height 4096)
1529914513, // * UNIX timestamp of last known number of transactions
4172, // * total number of transactions between genesis and that timestamp
// (the tx=... number in the SetBestChain debug.log lines)
3.5 // * estimated number of transactions per second after that timestamp
};

}
@@ -253,8 +259,8 @@ public:
consensus.BIP65Height = 1351; // BIP65 activated on regtest (Used in rpc activation tests)
consensus.BIP66Height = 1251; // BIP66 activated on regtest (Used in rpc activation tests)
consensus.powLimit = uint256S("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks
consensus.nPowTargetSpacing = 10 * 60;
consensus.nPowTargetTimespan = 2 * 24 * 84;
consensus.nPowTargetSpacing = 2; // 2 second
consensus.fPowAllowMinDifficultyBlocks = true;
consensus.fPowNoRetargeting = true;
consensus.nRuleChangeActivationThreshold = 108; // 75% for testchains
@@ -312,7 +318,7 @@ public:
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};

bech32_hrp = "bcrt";
bech32_hrp = "airt";
}
};

@@ -327,7 +333,7 @@ std::unique_ptr<CChainParams> CreateChainParams(const std::string& chain)
{
if (chain == CBaseChainParams::MAIN)
return std::unique_ptr<CChainParams>(new CMainParams());
else if (chain == CBaseChainParams::TESTNET)
else if (chain == CBaseChainParams::AI)
return std::unique_ptr<CChainParams>(new CTestNetParams());
else if (chain == CBaseChainParams::REGTEST)
return std::unique_ptr<CChainParams>(new CRegTestParams());

+ 1
- 1
src/chainparams.h View File

@@ -34,7 +34,7 @@ struct ChainTxData {
/**
* CChainParams defines various tweakable parameters of a given instance of the
* Starwels system. There are three: the main network on which people trade goods
* and services, the public test network which gets reset from time to time and
* and services, the public ai network which gets reset from time to time and
* a regression test mode which is intended for private networks only. It has
* minimal difficulty to ensure that blocks can be found instantly.
*/

+ 10
- 10
src/chainparamsbase.cpp View File

@@ -11,13 +11,13 @@
#include <assert.h>

const std::string CBaseChainParams::MAIN = "main";
const std::string CBaseChainParams::TESTNET = "test";
const std::string CBaseChainParams::AI = "test";
const std::string CBaseChainParams::REGTEST = "regtest";

void AppendParamsHelpMessages(std::string& strUsage, bool debugHelp)
{
strUsage += HelpMessageGroup(_("Chain selection options:"));
strUsage += HelpMessageOpt("-testnet", _("Use the test chain"));
strUsage += HelpMessageOpt("-ai", _("Use the test chain"));
if (debugHelp) {
strUsage += HelpMessageOpt("-regtest", "Enter regression test mode, which uses a special chain in which blocks can be solved instantly. "
"This is intended for regression testing tools and app development.");
@@ -32,20 +32,20 @@ class CBaseMainParams : public CBaseChainParams
public:
CBaseMainParams()
{
nRPCPort = 8352;
nRPCPort = 8342;
}
};

/**
* Testnet (v3)
* Ai (v3)
*/
class CBaseTestNetParams : public CBaseChainParams
{
public:
CBaseTestNetParams()
{
nRPCPort = 18352;
strDataDir = "testnet3";
nRPCPort = 8332;
strDataDir = "ai";
}
};

@@ -74,7 +74,7 @@ std::unique_ptr<CBaseChainParams> CreateBaseChainParams(const std::string& chain
{
if (chain == CBaseChainParams::MAIN)
return std::unique_ptr<CBaseChainParams>(new CBaseMainParams());
else if (chain == CBaseChainParams::TESTNET)
else if (chain == CBaseChainParams::AI)
return std::unique_ptr<CBaseChainParams>(new CBaseTestNetParams());
else if (chain == CBaseChainParams::REGTEST)
return std::unique_ptr<CBaseChainParams>(new CBaseRegTestParams());
@@ -90,13 +90,13 @@ void SelectBaseParams(const std::string& chain)
std::string ChainNameFromCommandLine()
{
bool fRegTest = gArgs.GetBoolArg("-regtest", false);
bool fTestNet = gArgs.GetBoolArg("-testnet", false);
bool fTestNet = gArgs.GetBoolArg("-ai", false);

if (fTestNet && fRegTest)
throw std::runtime_error("Invalid combination of -regtest and -testnet.");
throw std::runtime_error("Invalid combination of -regtest and -ai.");
if (fRegTest)
return CBaseChainParams::REGTEST;
if (fTestNet)
return CBaseChainParams::TESTNET;
return CBaseChainParams::AI;
return CBaseChainParams::MAIN;
}

+ 2
- 2
src/chainparamsbase.h View File

@@ -18,7 +18,7 @@ class CBaseChainParams
public:
/** BIP70 chain name strings (main, test or regtest) */
static const std::string MAIN;
static const std::string TESTNET;
static const std::string AI;
static const std::string REGTEST;

const std::string& DataDir() const { return strDataDir; }
@@ -54,7 +54,7 @@ const CBaseChainParams& BaseParams();
void SelectBaseParams(const std::string& chain);

/**
* Looks for -regtest, -testnet and returns the appropriate BIP70 chain name.
* Looks for -regtest, -ai and returns the appropriate BIP70 chain name.
* @return CBaseChainParams::MAX_NETWORK_TYPES if an invalid combination is given. CBaseChainParams::MAIN by default.
*/
std::string ChainNameFromCommandLine();

+ 8
- 8
src/chainparamsseeds.h View File

@@ -8,16 +8,16 @@
* IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly.
*/
static SeedSpec6 pnSeed6_main[] = {
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xF0,0x2C,0x57}, 8353},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5B,0xF0,0x56,0x7E}, 8353},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5E,0x66,0x1A,0x75}, 8353},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5E,0x82,0x5A,0xE5}, 8353},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6D,0x44,0xA1,0xBC}, 8353},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xA5,0xE3,0x76,0x3D}, 8353}
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xF0,0x2C,0x57}, 8343},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5B,0xF0,0x56,0x7E}, 8343},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5E,0x66,0x1A,0x75}, 8343},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5E,0x82,0x5A,0xE5}, 8343},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6D,0x44,0xA1,0xBC}, 8343},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xA5,0xE3,0x76,0x3D}, 8343}
};

static SeedSpec6 pnSeed6_test[] = {
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5B,0xF0,0x56,0x7E}, 18353},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5E,0x66,0x1A,0x75}, 18353}
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5B,0xF0,0x56,0x7E}, 8333},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5E,0x66,0x1A,0x75}, 8333}
};
#endif // STARWELS_CHAINPARAMSSEEDS_H

+ 8
- 8
src/init.cpp View File

@@ -320,9 +320,9 @@ void OnRPCStopped()
std::string HelpMessage(HelpMessageMode mode)
{
const auto defaultBaseParams = CreateBaseChainParams(CBaseChainParams::MAIN);
const auto testnetBaseParams = CreateBaseChainParams(CBaseChainParams::TESTNET);
const auto aiBaseParams = CreateBaseChainParams(CBaseChainParams::AI);
const auto defaultChainParams = CreateChainParams(CBaseChainParams::MAIN);
const auto testnetChainParams = CreateChainParams(CBaseChainParams::TESTNET);
const auto aiChainParams = CreateChainParams(CBaseChainParams::AI);
const bool showDebug = gArgs.GetBoolArg("-help-debug", false);

// When adding new options to the categories, please keep and ensure alphabetical ordering.
@@ -334,7 +334,7 @@ std::string HelpMessage(HelpMessageMode mode)
strUsage += HelpMessageOpt("-blocknotify=<cmd>", _("Execute command when the best block changes (%s in cmd is replaced by block hash)"));
if (showDebug)
strUsage += HelpMessageOpt("-blocksonly", strprintf(_("Whether to operate in a blocks only mode (default: %u)"), DEFAULT_BLOCKSONLY));
strUsage +=HelpMessageOpt("-assumevalid=<hex>", strprintf(_("If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s)"), defaultChainParams->GetConsensus().defaultAssumeValid.GetHex(), testnetChainParams->GetConsensus().defaultAssumeValid.GetHex()));
strUsage +=HelpMessageOpt("-assumevalid=<hex>", strprintf(_("If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, ai: %s)"), defaultChainParams->GetConsensus().defaultAssumeValid.GetHex(), aiChainParams->GetConsensus().defaultAssumeValid.GetHex()));
strUsage += HelpMessageOpt("-conf=<file>", strprintf(_("Specify configuration file (default: %s)"), STARWELS_CONF_FILENAME));
if (mode == HMM_STARWELSD)
{
@@ -355,7 +355,7 @@ std::string HelpMessage(HelpMessageMode mode)
strUsage += HelpMessageOpt("-maxmempool=<n>", strprintf(_("Keep the transaction memory pool below <n> megabytes (default: %u)"), DEFAULT_MAX_MEMPOOL_SIZE));
strUsage += HelpMessageOpt("-mempoolexpiry=<n>", strprintf(_("Do not keep transactions in the mempool longer than <n> hours (default: %u)"), DEFAULT_MEMPOOL_EXPIRY));
if (showDebug) {
strUsage += HelpMessageOpt("-minimumchainwork=<hex>", strprintf("Minimum work assumed to exist on a valid chain in hex (default: %s, testnet: %s)", defaultChainParams->GetConsensus().nMinimumChainWork.GetHex(), testnetChainParams->GetConsensus().nMinimumChainWork.GetHex()));
strUsage += HelpMessageOpt("-minimumchainwork=<hex>", strprintf("Minimum work assumed to exist on a valid chain in hex (default: %s, ai: %s)", defaultChainParams->GetConsensus().nMinimumChainWork.GetHex(), aiChainParams->GetConsensus().nMinimumChainWork.GetHex()));
}
strUsage += HelpMessageOpt("-persistmempool", strprintf(_("Whether to save the mempool on shutdown and load on restart (default: %u)"), DEFAULT_PERSIST_MEMPOOL));
strUsage += HelpMessageOpt("-blockreconstructionextratxn=<n>", strprintf(_("Extra transactions to keep in memory for compact block reconstructions (default: %u)"), DEFAULT_BLOCK_RECONSTRUCTION_EXTRA_TXN));
@@ -395,7 +395,7 @@ std::string HelpMessage(HelpMessageMode mode)
strUsage += HelpMessageOpt("-onlynet=<net>", _("Only connect to nodes in network <net> (ipv4, ipv6 or onion)"));
strUsage += HelpMessageOpt("-permitbaremultisig", strprintf(_("Relay non-P2SH multisig (default: %u)"), DEFAULT_PERMIT_BAREMULTISIG));
strUsage += HelpMessageOpt("-peerbloomfilters", strprintf(_("Support filtering of blocks and transaction with bloom filters (default: %u)"), DEFAULT_PEERBLOOMFILTERS));
strUsage += HelpMessageOpt("-port=<port>", strprintf(_("Listen for connections on <port> (default: %u or testnet: %u)"), defaultChainParams->GetDefaultPort(), testnetChainParams->GetDefaultPort()));
strUsage += HelpMessageOpt("-port=<port>", strprintf(_("Listen for connections on <port> (default: %u or ai: %u)"), defaultChainParams->GetDefaultPort(), aiChainParams->GetDefaultPort()));
strUsage += HelpMessageOpt("-proxy=<ip:port>", _("Connect through SOCKS5 proxy"));
strUsage += HelpMessageOpt("-proxyrandomize", strprintf(_("Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u)"), DEFAULT_PROXYRANDOMIZE));
strUsage += HelpMessageOpt("-seednode=<ip>", _("Connect to a node to retrieve peer addresses, and disconnect"));
@@ -475,7 +475,7 @@ std::string HelpMessage(HelpMessageMode mode)

strUsage += HelpMessageGroup(_("Node relay options:"));
if (showDebug) {
strUsage += HelpMessageOpt("-acceptnonstdtxn", strprintf("Relay and mine \"non-standard\" transactions (%sdefault: %u)", "testnet/regtest only; ", !testnetChainParams->RequireStandard()));
strUsage += HelpMessageOpt("-acceptnonstdtxn", strprintf("Relay and mine \"non-standard\" transactions (%sdefault: %u)", "ai/regtest only; ", !aiChainParams->RequireStandard()));
strUsage += HelpMessageOpt("-incrementalrelayfee=<amt>", strprintf("Fee rate (in %s/kB) used to define cost of relay, used for mempool limiting and BIP 125 replacement. (default: %s)", CURRENCY_UNIT, FormatMoney(DEFAULT_INCREMENTAL_RELAY_FEE)));
strUsage += HelpMessageOpt("-dustrelayfee=<amt>", strprintf("Fee rate (in %s/kB) used to defined dust, the value of an output such that it will cost more than its value in fees at this fee rate to spend it. (default: %s)", CURRENCY_UNIT, FormatMoney(DUST_RELAY_TX_FEE)));
}
@@ -502,7 +502,7 @@ std::string HelpMessage(HelpMessageMode mode)
strUsage += HelpMessageOpt("-rpcuser=<user>", _("Username for JSON-RPC connections"));
strUsage += HelpMessageOpt("-rpcpassword=<pw>", _("Password for JSON-RPC connections"));
strUsage += HelpMessageOpt("-rpcauth=<userpw>", _("Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. The client then connects normally using the rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This option can be specified multiple times"));
strUsage += HelpMessageOpt("-rpcport=<port>", strprintf(_("Listen for JSON-RPC connections on <port> (default: %u or testnet: %u)"), defaultBaseParams->RPCPort(), testnetBaseParams->RPCPort()));
strUsage += HelpMessageOpt("-rpcport=<port>", strprintf(_("Listen for JSON-RPC connections on <port> (default: %u or ai: %u)"), defaultBaseParams->RPCPort(), aiBaseParams->RPCPort()));
strUsage += HelpMessageOpt("-rpcallowip=<ip>", _("Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times"));
strUsage += HelpMessageOpt("-rpcserialversion", strprintf(_("Sets the serialization of raw transaction or block hex returned in non-verbose mode, non-segwit(0) or segwit(1) (default: %d)"), DEFAULT_RPC_SERIALIZE_VERSION));
strUsage += HelpMessageOpt("-rpcthreads=<n>", strprintf(_("Set the number of threads to service RPC calls (default: %d)"), DEFAULT_HTTP_THREADS));
@@ -1442,7 +1442,7 @@ bool AppInitMain()
}

// If the loaded chain has a wrong genesis, bail out immediately
// (we're likely using a testnet datadir, or the other way around).
// (we're likely using a ai datadir, or the other way around).
if (!mapBlockIndex.empty() && mapBlockIndex.count(chainparams.GetConsensus().hashGenesisBlock) == 0)
return InitError(_("Incorrect or no genesis block found. Wrong datadir for network?"));


+ 1
- 1
src/miner.cpp View File

@@ -52,7 +52,7 @@ int64_t UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParam
if (nOldTime < nNewTime)
pblock->nTime = nNewTime;

// Updating time can change work required on testnet:
// Updating time can change work required on ai:
if (consensusParams.fPowAllowMinDifficultyBlocks)
pblock->nBits = GetNextWorkRequired(pindexPrev, pblock, consensusParams);


+ 1
- 1
src/pow.cpp View File

@@ -20,7 +20,7 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHead
{
if (params.fPowAllowMinDifficultyBlocks)
{
// Special difficulty rule for testnet:
// Special difficulty rule for ai:
// If the new block's timestamp is more than 2* 10 minutes
// then allow mining of a min-difficulty block.
if (pblock->GetBlockTime() > pindexLast->GetBlockTime() + params.nPowTargetSpacing*2)

+ 1
- 1
src/qt/guiconstants.h View File

@@ -51,6 +51,6 @@ static const int MAX_URI_LENGTH = 255;
#define QAPP_ORG_NAME "Starwels"
#define QAPP_ORG_DOMAIN "github.com/starwels"
#define QAPP_APP_NAME_DEFAULT "Starwels-Qt"
#define QAPP_APP_NAME_TESTNET "Starwels-Qt-testnet"
#define QAPP_APP_NAME_AI "Starwels-Qt-ai"

#endif // STARWELS_QT_GUICONSTANTS_H

+ 5
- 5
src/qt/guiutil.cpp View File

@@ -616,8 +616,8 @@ fs::path static StartupShortcutPath()
std::string chain = ChainNameFromCommandLine();
if (chain == CBaseChainParams::MAIN)
return GetSpecialFolderPath(CSIDL_STARTUP) / "Starwels.lnk";
if (chain == CBaseChainParams::TESTNET) // Remove this special case when CBaseChainParams::TESTNET = "testnet4"
return GetSpecialFolderPath(CSIDL_STARTUP) / "Starwels (testnet).lnk";
if (chain == CBaseChainParams::AI) // Remove this special case when CBaseChainParams::AI = "ai4"
return GetSpecialFolderPath(CSIDL_STARTUP) / "Starwels (ai).lnk";
return GetSpecialFolderPath(CSIDL_STARTUP) / strprintf("Starwels (%s).lnk", chain);
}

@@ -650,8 +650,8 @@ bool SetStartOnSystemStartup(bool fAutoStart)

// Start client minimized
QString strArgs = "-min";
// Set -testnet /-regtest options
strArgs += QString::fromStdString(strprintf(" -testnet=%d -regtest=%d", gArgs.GetBoolArg("-testnet", false), gArgs.GetBoolArg("-regtest", false)));
// Set -ai /-regtest options
strArgs += QString::fromStdString(strprintf(" -ai=%d -regtest=%d", gArgs.GetBoolArg("-ai", false), gArgs.GetBoolArg("-regtest", false)));

#ifdef UNICODE
boost::scoped_array<TCHAR> args(new TCHAR[strArgs.length() + 1]);
@@ -761,7 +761,7 @@ bool SetStartOnSystemStartup(bool fAutoStart)
optionFile << "Name=Starwels\n";
else
optionFile << strprintf("Name=Starwels (%s)\n", chain);
optionFile << "Exec=" << pszExePath << strprintf(" -min -testnet=%d -regtest=%d\n", gArgs.GetBoolArg("-testnet", false), gArgs.GetBoolArg("-regtest", false));
optionFile << "Exec=" << pszExePath << strprintf(" -min -ai=%d -regtest=%d\n", gArgs.GetBoolArg("-ai", false), gArgs.GetBoolArg("-regtest", false));
optionFile << "Terminal=false\n";
optionFile << "Hidden=false\n";
optionFile.close();

+ 4
- 4
src/qt/locale/starwels_af.ts View File

@@ -1990,12 +1990,12 @@
<translation>(standaard: %s)</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Luister vir JSON-RPC konneksies op &lt;port&gt; (verstek: %u of testnet: %u)</translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Luister vir JSON-RPC konneksies op &lt;port&gt; (verstek: %u of ai: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Luister vir konneksies op &lt;port&gt; (verstek: %u of testnet: %u)</translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Luister vir konneksies op &lt;port&gt; (verstek: %u of ai: %u)</translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 2
- 2
src/qt/locale/starwels_ar.ts View File

@@ -2478,8 +2478,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 2
- 2
src/qt/locale/starwels_be_BY.ts View File

@@ -972,8 +972,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 2
- 2
src/qt/locale/starwels_bg.ts View File

@@ -1912,8 +1912,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 8
- 8
src/qt/locale/starwels_ca.ts View File

@@ -2508,8 +2508,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>
@@ -3158,8 +3158,8 @@
<translation>Transaccions addicionals a conservar en memòria per a les reconstruccions de blocs compactes (per defecte: %u)</translation>
</message>
<message>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s)</source>
<translation>Si aquest bloc es troba a la cadena, suposa que ell i els seus avantpassats són vàlids i que es pot saltar la seva verificació d'script (0 per verificar-ho tot, per defecte: %s, testnet: %s)</translation>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, ai: %s)</source>
<translation>Si aquest bloc es troba a la cadena, suposa que ell i els seus avantpassats són vàlids i que es pot saltar la seva verificació d'script (0 per verificar-ho tot, per defecte: %s, ai: %s)</translation>
</message>
<message>
<source>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</source>
@@ -3874,12 +3874,12 @@
<translation>S'ha acabat el Keypool, si us plau, crideu a keypoolrefill primer</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escolta les connexions JSON-RPC en &lt;port&gt; (per defecte: %u o testnet: %u)</translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escolta les connexions JSON-RPC en &lt;port&gt; (per defecte: %u o ai: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escolta les connexions en &lt;port&gt; (per defecte: %u o testnet: %u)</translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escolta les connexions en &lt;port&gt; (per defecte: %u o ai: %u)</translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 6
- 6
src/qt/locale/starwels_ca@valencia.ts View File

@@ -2048,8 +2048,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>
@@ -2874,12 +2874,12 @@
<translation>Inclou l'adreça IP a l'eixida de depuració (per defecte: %u)</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escolta les connexions JSON-RPC en &lt;port&gt; (per defecte: %u o testnet: %u)</translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escolta les connexions JSON-RPC en &lt;port&gt; (per defecte: %u o ai: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escolta les connexions en &lt;port&gt; (per defecte: %u o testnet: %u)</translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escolta les connexions en &lt;port&gt; (per defecte: %u o ai: %u)</translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 6
- 6
src/qt/locale/starwels_ca_ES.ts View File

@@ -2304,8 +2304,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>
@@ -3190,12 +3190,12 @@
<translation>Inclou l'adreça IP a la sortida de depuració (per defecte: %u)</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escolta les connexions JSON-RPC en &lt;port&gt; (per defecte: %u o testnet: %u)</translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escolta les connexions JSON-RPC en &lt;port&gt; (per defecte: %u o ai: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escolta les connexions en &lt;port&gt; (per defecte: %u o testnet: %u)</translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escolta les connexions en &lt;port&gt; (per defecte: %u o ai: %u)</translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 8
- 8
src/qt/locale/starwels_cs.ts View File

@@ -2508,8 +2508,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>
@@ -3174,8 +3174,8 @@
<translation>Počet extra transakcí, které se mají držet v paměti pro účely rekonstrukce kompaktních bloků (výchozí: %u)</translation>
</message>
<message>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s)</source>
<translation>Pokud je tenhle blok v bločence, tak předpokládat, že on i jeho následníci jsou platní, a potenciálně přeskočit ověřování jejich skriptů (0 = ověřovat vše, výchozí: %s, testnet: %s)</translation>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, ai: %s)</source>
<translation>Pokud je tenhle blok v bločence, tak předpokládat, že on i jeho následníci jsou platní, a potenciálně přeskočit ověřování jejich skriptů (0 = ověřovat vše, výchozí: %s, ai: %s)</translation>
</message>
<message>
<source>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</source>
@@ -3894,12 +3894,12 @@
<translation>Vyčerpal se zásobník klíčů, zavolej prvně, prosím, keypoolrefill</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Čekat na JSON-RPC spojení na &lt;portu&gt; (výchozí: %u nebo testnet: %u)</translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Čekat na JSON-RPC spojení na &lt;portu&gt; (výchozí: %u nebo ai: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Čekat na spojení na &lt;portu&gt; (výchozí: %u nebo testnet: %u)</translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Čekat na spojení na &lt;portu&gt; (výchozí: %u nebo ai: %u)</translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 2
- 2
src/qt/locale/starwels_cs_CZ.ts View File

@@ -450,8 +450,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 2
- 2
src/qt/locale/starwels_cy.ts View File

@@ -900,8 +900,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 8
- 8
src/qt/locale/starwels_da.ts View File

@@ -2552,8 +2552,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnetværk]</translation>
<source>[ai]</source>
<translation>[aiværk]</translation>
</message>
</context>
<context>
@@ -3234,8 +3234,8 @@
<translation>Ekstra transaktioner, der skal beholdes i hukommelsen til kompakte blokgenopbygninger (standard: %u)</translation>
</message>
<message>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s)</source>
<translation>Hvis denne blok er i kæden, så antag at den og dens forgængere er gyldige, og spring potentielt deres scriptverificering over (0 for at verificere alle, standard: %s, testnet: %s)</translation>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, ai: %s)</source>
<translation>Hvis denne blok er i kæden, så antag at den og dens forgængere er gyldige, og spring potentielt deres scriptverificering over (0 for at verificere alle, standard: %s, ai: %s)</translation>
</message>
<message>
<source>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</source>
@@ -3982,12 +3982,12 @@
<translation>Nøglepulje løb tør; kald venligst keypoolrefill først</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Lyt efter JSON-RPC-forbindelser på &lt;port&gt; (standard: %u eller testnet: %u)</translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Lyt efter JSON-RPC-forbindelser på &lt;port&gt; (standard: %u eller ai: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Lyt efter forbindelser på &lt;port&gt; (standard: %u eller testnet: %u)</translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Lyt efter forbindelser på &lt;port&gt; (standard: %u eller ai: %u)</translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 8
- 8
src/qt/locale/starwels_de.ts View File

@@ -2540,8 +2540,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[Testnetz]</translation>
<source>[ai]</source>
<translation>[Aiz]</translation>
</message>
</context>
<context>
@@ -3222,8 +3222,8 @@
<translation>Zusätzliche Transaktionen für kompakten Block-Nachbau im Speicher vorhalten (default: %u)</translation>
</message>
<message>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s)</source>
<translation>Sofern dieser Block Bestandteil der Blockchain ist, nehme an, dass er und seine Vorgänger gültig sind und überspringe ggf. dessen Skriptverifikation (0 um alle zu verifizieren, default: %s, testnet: %s)</translation>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, ai: %s)</source>
<translation>Sofern dieser Block Bestandteil der Blockchain ist, nehme an, dass er und seine Vorgänger gültig sind und überspringe ggf. dessen Skriptverifikation (0 um alle zu verifizieren, default: %s, ai: %s)</translation>
</message>
<message>
<source>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</source>
@@ -3974,12 +3974,12 @@
<translation>Der Keypool ist erschöpft. Bitte rufen Sie zunächst keypoolrefill auf.</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>&lt;port&gt; nach JSON-RPC-Verbindungen abhören (Standard: %u oder Testnetz: %u)</translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>&lt;port&gt; nach JSON-RPC-Verbindungen abhören (Standard: %u oder Aiz: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>&lt;port&gt; nach Verbindungen abhören (Standard: %u oder Testnetz: %u)</translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>&lt;port&gt; nach Verbindungen abhören (Standard: %u oder Aiz: %u)</translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 2
- 2
src/qt/locale/starwels_el_GR.ts View File

@@ -1596,8 +1596,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 5
- 5
src/qt/locale/starwels_en.ts View File

@@ -3297,8 +3297,8 @@
<name>SplashScreen</name>
<message>
<location filename="../networkstyle.cpp" line="+19"/>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>
@@ -4171,7 +4171,7 @@
</message>
<message>
<location line="+20"/>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s)</source>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, ai: %s)</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -5121,12 +5121,12 @@
</message>
<message>
<location line="+1"/>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation type="unfinished"></translation>
</message>
<message>

+ 8
- 8
src/qt/locale/starwels_en_GB.ts View File

@@ -2544,8 +2544,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>
@@ -3226,8 +3226,8 @@
<translation>Extra transactions to keep in memory for compact block reconstructions (default: %u).</translation>
</message>
<message>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s)</source>
<translation>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s).</translation>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, ai: %s)</source>
<translation>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, ai: %s).</translation>
</message>
<message>
<source>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</source>
@@ -3986,12 +3986,12 @@
<translation>Keypool ran out, please call keypoolrefill first.</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 2
- 2
src/qt/locale/starwels_eo.ts View File

@@ -1480,8 +1480,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 8
- 8
src/qt/locale/starwels_es.ts View File

@@ -2544,8 +2544,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>
@@ -3229,8 +3229,8 @@
<translation>Transacciones extra a mantener en la memoria para reconstrucciones de bloque compacto (predeterminado: %u)</translation>
</message>
<message>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s)</source>
<translation>Si este bloque está en la cadena asuma que sus predecesores y él son válidos y potencialmente se saltan su script de verificación (0 para verificar todo, predeterminado: %s, testnet: %s)</translation>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, ai: %s)</source>
<translation>Si este bloque está en la cadena asuma que sus predecesores y él son válidos y potencialmente se saltan su script de verificación (0 para verificar todo, predeterminado: %s, ai: %s)</translation>
</message>
<message>
<source>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</source>
@@ -3988,12 +3988,12 @@ Establecer la serialización de las transacciones sin procesar o el bloque hex d
<translation>Keypool se ha agotado, llame a keypoolrefill primero</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escuchar conexiones JSON-RPC en &lt;puerto&gt; (predeterminado: %u o testnet: %u)</translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escuchar conexiones JSON-RPC en &lt;puerto&gt; (predeterminado: %u o ai: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escuchar conexiones en &lt;puerto&gt; (predeterminado: %u o testnet: %u)</translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escuchar conexiones en &lt;puerto&gt; (predeterminado: %u o ai: %u)</translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 5
- 5
src/qt/locale/starwels_es_CL.ts View File

@@ -2352,7 +2352,7 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<source>[ai]</source>
<translation>[red-de-pruebas]</translation>
</message>
</context>
@@ -3477,12 +3477,12 @@
<translation>Keypool se ha agotado, llame a keypoolrefill primero</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escuchar conexiones JSON-RPC en &lt;port&gt;(predeterminado: %u o testnet: %u) </translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escuchar conexiones JSON-RPC en &lt;port&gt;(predeterminado: %u o ai: %u) </translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escuchar conexiones en &lt;port&gt;(predeterminado: %u o testnet: %u) </translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escuchar conexiones en &lt;port&gt;(predeterminado: %u o ai: %u) </translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 2
- 2
src/qt/locale/starwels_es_DO.ts View File

@@ -1046,8 +1046,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 6
- 6
src/qt/locale/starwels_es_ES.ts View File

@@ -2384,8 +2384,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>
@@ -3563,12 +3563,12 @@
<translation>Incluir direcciones IP en la salida de depuración (por defecto: %u)</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escuchar conexiones JSON-RPC en &lt;puerto&gt; (predeterminado: %u o testnet: %u)</translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escuchar conexiones JSON-RPC en &lt;puerto&gt; (predeterminado: %u o ai: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Escuchar conexiones en &lt;puerto&gt; (predeterminado: %u o testnet: %u)</translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Escuchar conexiones en &lt;puerto&gt; (predeterminado: %u o ai: %u)</translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 1
- 1
src/qt/locale/starwels_es_UY.ts View File

@@ -429,7 +429,7 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<source>[ai]</source>
<translation>[prueba_de_red]</translation>
</message>
</context>

+ 2
- 2
src/qt/locale/starwels_et.ts View File

@@ -1568,8 +1568,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 1
- 1
src/qt/locale/starwels_et_EE.ts View File

@@ -610,7 +610,7 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<source>[ai]</source>
<translation>[test võrk]</translation>
</message>
</context>

+ 2
- 2
src/qt/locale/starwels_eu_ES.ts View File

@@ -582,8 +582,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 1
- 1
src/qt/locale/starwels_fa.ts View File

@@ -1608,7 +1608,7 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<source>[ai]</source>
<translation>آزمایش شبکه</translation>
</message>
</context>

+ 2
- 2
src/qt/locale/starwels_fa_IR.ts View File

@@ -958,8 +958,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 8
- 8
src/qt/locale/starwels_fi.ts View File

@@ -2476,8 +2476,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>
@@ -3118,8 +3118,8 @@
<translation>Muistissa pidettävien rahansiirtojen määrä tiiviiden lohkojen muodostusta varten (oletus: %u)</translation>
</message>
<message>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s)</source>
<translation>Jos tämä lohko on ketjussa, oleta lohkon sekä sen edeltäjien olevan kelvollisia ja mahdollisesti ohita niiden skriptin vahvistus (0 vahvistaa kaiken, oletus: %s, testnet: %s)</translation>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, ai: %s)</source>
<translation>Jos tämä lohko on ketjussa, oleta lohkon sekä sen edeltäjien olevan kelvollisia ja mahdollisesti ohita niiden skriptin vahvistus (0 vahvistaa kaiken, oletus: %s, ai: %s)</translation>
</message>
<message>
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
@@ -3726,12 +3726,12 @@
<translation>Avainallas tyhjentyi, ole hyvä ja kutsu keypoolrefill ensin</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Kuuntele JSON-RPC-yhteyksiä portissa &lt;port&gt; (oletus: %u tai testnet: %u)</translation>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Kuuntele JSON-RPC-yhteyksiä portissa &lt;port&gt; (oletus: %u tai ai: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<translation>Kuuntele yhteyksiä portissa &lt;port&gt; (oletus: %u tai testnet: %u)</translation>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Kuuntele yhteyksiä portissa &lt;port&gt; (oletus: %u tai ai: %u)</translation>
</message>
<message>
<source>Maintain at most &lt;n&gt; connections to peers (default: %u)</source>

+ 6
- 6
src/qt/locale/starwels_fr.ts View File

@@ -2552,8 +2552,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>
@@ -3230,8 +3230,8 @@
<translation>Exécuter la commande lorsqu’une transaction de porte-monnaie change (%s dans la commande est remplacée par TxID)</translation>
</message>
<message>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s)</source>
<translation>Si ce bloc est dans la chaîne, supposer qu’il est valide, ainsi que ces ancêtres, et ignorer potentiellement la vérification de leur script (0 pour tout vérifier, valeur par défaut : %s, réseau de test : %s)</translation>
<source>If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, ai: %s)</source>
<translation>Si ce bloc est dans la chaîne, supposer qu’il est valide, ainsi que ces ancêtres, et ignorer potentiellement la vérification de leur script (0 pour tout vérifier, valeur par défaut : %s, ai : %s)</translation>
</message>
<message>
<source>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</source>
@@ -3978,11 +3978,11 @@
<translation>La réserve de clés est épuisée, veuillez d’abord appeler « keypoolrefill »</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Écouter les connexions JSON-RPC sur &lt;port&gt; (par défaut : %u ou tesnet : %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Écouter les connexions sur &lt;port&gt; (par défaut : %u ou tesnet : %u)</translation>
</message>
<message>

+ 2
- 2
src/qt/locale/starwels_fr_FR.ts View File

@@ -1860,8 +1860,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 2
- 2
src/qt/locale/starwels_gl.ts View File

@@ -954,8 +954,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 3
- 3
src/qt/locale/starwels_he.ts View File

@@ -2432,7 +2432,7 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<source>[ai]</source>
<translation>[רשת-בדיקה]</translation>
</message>
</context>
@@ -3266,11 +3266,11 @@
<translation>לכלול את כתובת ה־IP בפלט ניפוי השגיאות (בררת מחדל: %u)</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>האזנה לחיבורי JSON-RPC דרך &lt;port&gt; (בררת מחדל: %u או ברשת הבדיקה: %u)</translation>
</message>
<message>
<source>Listen for connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<source>Listen for connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>האזנה לחיבורים על גבי &lt;port&gt; (בררת מחדל: %u או לרשת הבדיקה: %u)</translation>
</message>
<message>

+ 1
- 1
src/qt/locale/starwels_hi_IN.ts View File

@@ -425,7 +425,7 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<source>[ai]</source>
<translation>[टेस्टनेट]</translation>
</message>
</context>

+ 2
- 2
src/qt/locale/starwels_hr.ts View File

@@ -1300,8 +1300,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>

+ 1
- 1
src/qt/locale/starwels_hu.ts View File

@@ -2393,7 +2393,7 @@ Kérem a kulcsmondatban használjon &lt;b&gt; tíz vagy több véletlenszerű ka
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<source>[ai]</source>
<translation>[teszthálózat]</translation>
</message>
</context>

+ 3
- 3
src/qt/locale/starwels_hu_HU.ts View File

@@ -2300,8 +2300,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>
</message>
</context>
<context>
@@ -2722,7 +2722,7 @@
<translation>Hiba a tárca betöltésekor %s. Érvénytelen karakterek a tárca fájlnévben.</translation>
</message>
<message>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or testnet: %u)</source>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: %u or ai: %u)</source>
<translation>Figyelés a JSON-RPC kapcsolatokra itt: &lt;port&gt; (alapértelmezett: %u vagy tesztnet: %u)</translation>
</message>
<message>

+ 2
- 2
src/qt/locale/starwels_id_ID.ts View File

@@ -1698,8 +1698,8 @@
<context>
<name>SplashScreen</name>
<message>
<source>[testnet]</source>
<translation>[testnet]</translation>
<source>[ai]</source>
<translation>[ai]</translation>