diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-10-31 11:10:10 +0100 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-10-31 11:16:09 +0100 |
commit | 96012e83f1a1e35dd4361516f91d0ac7b87c637b (patch) | |
tree | 1f14b877a32978c7fba0b2a1ace5abec943bc3a1 | |
parent | 7bb681d4075ff02b28bda3f60b8c1243817b9bfe (diff) | |
parent | 2aa632921efd861a7c9968e8faf6c73cb3d62c4a (diff) |
Merge pull request #5077
2aa6329 Enable customising node policy for datacarrier data size with a -datacarriersize option (Luke Dashjr)
-rw-r--r-- | src/init.cpp | 3 | ||||
-rw-r--r-- | src/script/standard.cpp | 6 | ||||
-rw-r--r-- | src/script/standard.h | 1 |
3 files changed, 8 insertions, 2 deletions
diff --git a/src/init.cpp b/src/init.cpp index 3fd08ce006..d622af69ef 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -18,6 +18,7 @@ #include "miner.h" #include "net.h" #include "rpcserver.h" +#include "script/standard.h" #include "txdb.h" #include "ui_interface.h" #include "util.h" @@ -346,6 +347,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += "\n" + _("Node relay options:") + "\n"; strUsage += " -datacarrier " + strprintf(_("Relay and mine data carrier transactions (default: %u)"), 1) + "\n"; + strUsage += " -datacarriersize " + strprintf(_("Maximum size of data in data carrier transactions we relay and mine (default: %u)"), MAX_OP_RETURN_RELAY) + "\n"; strUsage += "\n" + _("Block creation options:") + "\n"; strUsage += " -blockminsize=<n> " + strprintf(_("Set minimum block size in bytes (default: %u)"), 0) + "\n"; @@ -704,6 +706,7 @@ bool AppInit2(boost::thread_group& threadGroup) #endif // ENABLE_WALLET fIsBareMultisigStd = GetArg("-permitbaremultisig", true) != 0; + nMaxDatacarrierBytes = GetArg("-datacarriersize", nMaxDatacarrierBytes); // ********************************************************* Step 4: application initialization: dir lock, daemonize, pidfile, debug log diff --git a/src/script/standard.cpp b/src/script/standard.cpp index 05938961bc..7356e541a6 100644 --- a/src/script/standard.cpp +++ b/src/script/standard.cpp @@ -15,6 +15,8 @@ using namespace std; typedef vector<unsigned char> valtype; +unsigned nMaxDatacarrierBytes = MAX_OP_RETURN_RELAY; + CScriptID::CScriptID(const CScript& in) : uint160(in.size() ? Hash160(in.begin(), in.end()) : 0) {} const char* GetTxnOutputType(txnouttype t) @@ -139,8 +141,8 @@ bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, vector<vector<unsi } else if (opcode2 == OP_SMALLDATA) { - // small pushdata, <= MAX_OP_RETURN_RELAY bytes - if (vch1.size() > MAX_OP_RETURN_RELAY) + // small pushdata, <= nMaxDatacarrierBytes + if (vch1.size() > nMaxDatacarrierBytes) break; } else if (opcode1 != opcode2 || vch1 != vch2) diff --git a/src/script/standard.h b/src/script/standard.h index 248b941a64..504d98c686 100644 --- a/src/script/standard.h +++ b/src/script/standard.h @@ -26,6 +26,7 @@ public: }; static const unsigned int MAX_OP_RETURN_RELAY = 40; // bytes +extern unsigned nMaxDatacarrierBytes; // Mandatory script verification flags that all new blocks must comply with for // them to be valid. (but old blocks may not comply with) Currently just P2SH, |