Browse Source

They are called Hush Arrakis Chains (HACs) now

mvstuff
Duke 3 months ago
parent
commit
65c4c5c8de
  1. 4
      doc/hsc.md
  2. 2
      src/chainparams.cpp
  3. 2
      src/hush_bitcoind.h
  4. 2
      src/hush_utils.h
  5. 2
      src/init.cpp
  6. 2
      src/miner.cpp
  7. 2
      src/net.cpp
  8. 2
      src/pow.cpp
  9. 2
      src/wallet/asyncrpcoperation_sendmany.cpp

4
doc/hsc.md

@ -1,10 +1,10 @@
# Hush Smart Chains # Hush Arrakis Chains
An overview of HSCs can be found here: An overview of HSCs can be found here:
https://git.hush.is/hush/hush-smart-chains https://git.hush.is/hush/hush-smart-chains
Hush Smart Chains allow you to create a privacy coin with no custom C++ code, just running one command! Hush Arrakis Chains allow you to create a privacy coin with no custom C++ code, just running one command!
The new coin that is created can use either Equihash PoW (ASIC or GPU) or RandomX PoW (CPU). The new coin that is created can use either Equihash PoW (ASIC or GPU) or RandomX PoW (CPU).
## HSC Creator ## HSC Creator

2
src/chainparams.cpp

@ -117,7 +117,7 @@ public:
consensus.nPowMaxAdjustDown = 32; // 32% adjustment down consensus.nPowMaxAdjustDown = 32; // 32% adjustment down
consensus.nPowMaxAdjustUp = 16; // 16% adjustment up consensus.nPowMaxAdjustUp = 16; // 16% adjustment up
// we are emulating old node behavior at startup, they used 150s // we are emulating old node behavior at startup, they used 150s
consensus.nPowTargetSpacing = 150; // 75; // HUSH is 75 seconds, Hush Smart Chains are 60 seconds by default consensus.nPowTargetSpacing = 150; // 75; // HUSH is 75 seconds, Hush Arrakis Chains are 60 seconds by default
consensus.nPowAllowMinDifficultyBlocksAfterHeight = boost::none; consensus.nPowAllowMinDifficultyBlocksAfterHeight = boost::none;
// HUSH never had Sprout in our blockchain history, but some internals require *knowing* about Sprout // HUSH never had Sprout in our blockchain history, but some internals require *knowing* about Sprout
// or it breaks backward compatibility. We do what we can. // or it breaks backward compatibility. We do what we can.

2
src/hush_bitcoind.h

@ -948,7 +948,7 @@ CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams);
// This function defines the Hush Founders Reward (AKA Dev Tax) // This function defines the Hush Founders Reward (AKA Dev Tax)
// 10% of all block rewards go towards Hush core team // 10% of all block rewards go towards Hush core team
// If you do not like this, you are encouraged to fork the chain // If you do not like this, you are encouraged to fork the chain
// or start your own Hush Smart Chain: https://git.hush.is/hush/hush-smart-chains // or start your own Hush Arrakis Chain: https://git.hush.is/hush/hush-smart-chains
// HUSH supply curve cannot be exactly represented via CLI args, so we do it ourselves. // HUSH supply curve cannot be exactly represented via CLI args, so we do it ourselves.
// You specify the BR, and the FR % gets added so 10% of 12.5 is 1.25 // You specify the BR, and the FR % gets added so 10% of 12.5 is 1.25
// but to tell the AC params, I need to say "11% of 11.25" is 1.25 // but to tell the AC params, I need to say "11% of 11.25" is 1.25

2
src/hush_utils.h

@ -1611,7 +1611,7 @@ uint64_t hush_block_subsidy(int height)
return subsidy; return subsidy;
} }
// wrapper for more general supply curves of Hush Smart Chains // wrapper for more general supply curves of Hush Arrakis Chains
uint64_t hush_sc_block_subsidy(int nHeight) uint64_t hush_sc_block_subsidy(int nHeight)
{ {
// Find current era, start from beginning reward, and determine current subsidy // Find current era, start from beginning reward, and determine current subsidy

2
src/init.cpp

@ -1128,7 +1128,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
LogPrintf("%s: parameter interaction: -externalip set -> setting -discover=0\n", __func__); LogPrintf("%s: parameter interaction: -externalip set -> setting -discover=0\n", __func__);
} }
// Read asmap file by default for HUSH3 and all Hush Smart Chains // Read asmap file by default for HUSH3 and all Hush Arrakis Chains
if (GetArg("-asmap",1)) { if (GetArg("-asmap",1)) {
fs::path asmap_path = fs::path(GetArg("-asmap", "")); fs::path asmap_path = fs::path(GetArg("-asmap", ""));

2
src/miner.cpp

@ -1128,7 +1128,7 @@ void static RandomXMiner()
char randomxHash[RANDOMX_HASH_SIZE]; char randomxHash[RANDOMX_HASH_SIZE];
rxdebug("%s: created randomxHash of size %d\n", RANDOMX_HASH_SIZE); rxdebug("%s: created randomxHash of size %d\n", RANDOMX_HASH_SIZE);
char randomxKey[82]; // randomx spec says keysize of >60 bytes is implementation-specific char randomxKey[82]; // randomx spec says keysize of >60 bytes is implementation-specific
// initial randomx key is unique to every Hush Smart Chain, and has at least 9 bytes (2^9=128 bits) of entropy // initial randomx key is unique to every Hush Arrakis Chain, and has at least 9 bytes (2^9=128 bits) of entropy
// since magic is 4 bytes, rpc port is 4 bytes and smart chain symbol must be at least 1 character long // since magic is 4 bytes, rpc port is 4 bytes and smart chain symbol must be at least 1 character long
snprintf(randomxKey, 81, "%08x%s%08x", ASSETCHAINS_MAGIC, SMART_CHAIN_SYMBOL, ASSETCHAINS_RPCPORT); snprintf(randomxKey, 81, "%08x%s%08x", ASSETCHAINS_MAGIC, SMART_CHAIN_SYMBOL, ASSETCHAINS_RPCPORT);

2
src/net.cpp

@ -2733,7 +2733,7 @@ bool CNode::GetTlsValidate()
{ {
if (tlsValidate == eTlsOption::FALLBACK_UNSET) if (tlsValidate == eTlsOption::FALLBACK_UNSET)
{ {
// This is useful for private Hush Smart Chains, that want to exist // This is useful for private Hush Arrakis Chains, that want to exist
// on a closed VPN with an internal CA or trusted cert system, or // on a closed VPN with an internal CA or trusted cert system, or
// various other use cases // various other use cases
if ( GetBoolArg("-tlsvalidate", false)) { if ( GetBoolArg("-tlsvalidate", false)) {

2
src/pow.cpp

@ -578,7 +578,7 @@ unsigned int CalculateNextWorkRequired(arith_uint256 bnAvg,
return bnNew.GetCompact(); return bnNew.GetCompact();
} }
// HUSH does not use these functions but Hush Smart Chains can opt-in to using more bleeding edge DAA's // HUSH does not use these functions but Hush Arrakis Chains can opt-in to using more bleeding edge DAA's
// ASIC chains do not need these protections as much -- Duke Leto // ASIC chains do not need these protections as much -- Duke Leto
unsigned int lwmaGetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params& params) unsigned int lwmaGetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params& params)
{ {

2
src/wallet/asyncrpcoperation_sendmany.cpp

@ -363,7 +363,7 @@ bool AsyncRPCOperation_sendmany::main_impl() {
/** /**
* SCENARIO #0 (All HUSH and Hush Smart Chains) * SCENARIO #0 (All HUSH and Hush Arrakis Chains)
* Sprout not involved, so we just use the TransactionBuilder and we're done. * Sprout not involved, so we just use the TransactionBuilder and we're done.
* We added the transparent inputs to the builder earlier. * We added the transparent inputs to the builder earlier.
*/ */

Loading…
Cancel
Save