They are called Hush Arrakis Chains (HACs) now
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
# Hush Smart Chains
|
||||
# Hush Arrakis Chains
|
||||
|
||||
An overview of HSCs can be found here:
|
||||
|
||||
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).
|
||||
|
||||
## HSC Creator
|
||||
|
||||
@@ -117,7 +117,7 @@ public:
|
||||
consensus.nPowMaxAdjustDown = 32; // 32% adjustment down
|
||||
consensus.nPowMaxAdjustUp = 16; // 16% adjustment up
|
||||
// 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;
|
||||
// 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.
|
||||
|
||||
@@ -948,7 +948,7 @@ CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams);
|
||||
// This function defines the Hush Founders Reward (AKA Dev Tax)
|
||||
// 10% of all block rewards go towards Hush core team
|
||||
// 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.
|
||||
// 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
|
||||
|
||||
@@ -1611,7 +1611,7 @@ uint64_t hush_block_subsidy(int height)
|
||||
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)
|
||||
{
|
||||
// Find current era, start from beginning reward, and determine current subsidy
|
||||
|
||||
@@ -1128,7 +1128,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
|
||||
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)) {
|
||||
fs::path asmap_path = fs::path(GetArg("-asmap", ""));
|
||||
|
||||
|
||||
@@ -1128,7 +1128,7 @@ void static RandomXMiner()
|
||||
char randomxHash[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
|
||||
// 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
|
||||
snprintf(randomxKey, 81, "%08x%s%08x", ASSETCHAINS_MAGIC, SMART_CHAIN_SYMBOL, ASSETCHAINS_RPCPORT);
|
||||
|
||||
|
||||
@@ -2733,7 +2733,7 @@ bool CNode::GetTlsValidate()
|
||||
{
|
||||
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
|
||||
// various other use cases
|
||||
if ( GetBoolArg("-tlsvalidate", false)) {
|
||||
|
||||
@@ -578,7 +578,7 @@ unsigned int CalculateNextWorkRequired(arith_uint256 bnAvg,
|
||||
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
|
||||
unsigned int lwmaGetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params& params)
|
||||
{
|
||||
|
||||
@@ -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.
|
||||
* We added the transparent inputs to the builder earlier.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user