mirror of
https://git.hush.is/hush/hsc-creator.git
synced 2025-10-04 00:01:54 -04:00
updated documentation
This commit is contained in:
parent
fbf89e9def
commit
8b7d77be6e
@ -28,14 +28,16 @@ Adding the parameter `-ac_adaptivepow=1` enables AdaptivePoW for a newly created
|
||||
|
||||
## ac_algo
|
||||
|
||||
The `ac_algo` parameter changes the chain's mining algorithm from the default equihash to a different algorithm.
|
||||
The `ac_algo` parameter changes the chain's mining algorithm from the default equihash to a different algorithm. The default for Hush and Hush Smart Chains is Equihash (200,9).
|
||||
|
||||
### Different Equihash
|
||||
If you want to enable a different form of the EquiHash algorithm, then set `-ac_algo=equihash -ac_nk=N,K` where N and K would be your specified values.
|
||||
|
||||
As an example, BEAM uses Equihash (150,5), so it would include `-ac_algo=equihash -ac_nk=150,5`.
|
||||
|
||||
### Use randomX algorithm
|
||||
To enable randomX algorithm, set `-ac_algo=randomx`.
|
||||
|
||||
<!---another example of different equihash algo -->
|
||||
|
||||
Default for Hush mainnet is Equihash (200,9).
|
||||
|
||||
## ac_blocktime
|
||||
|
||||
This parameter sets the average time (in seconds) by which a new block should be mined.
|
||||
@ -47,7 +49,7 @@ When the value of `ac_blocktime` is less than `60`, the Smart Chain's block time
|
||||
When the value of `ac_blocktime` is less than `12` seconds (a high speed Smart Chain), the variances in network quality between consensus nodes (miners and stakers) can create difficulties in achieving a stable blockchain consensus. High-speed Smart Chains may function effectively on a LAN or other stable network, but The Hush Developers recommend caution when attempting to manage a high-speed Smart Chain on the public Internet.
|
||||
|
||||
### Examples
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_reward=100000000 -ac_blocktime=20 &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_reward=100000000 -ac_blocktime=20 &`
|
||||
|
||||
## ac_cbmaturity
|
||||
|
||||
@ -66,7 +68,7 @@ By default, this value is set to `1` on Smart Chains without ac_eras and set to
|
||||
The ac_cbopret parameter allows the Decentralised Trustless Oracle mechanism to be enabled on a Smart Chain.
|
||||
|
||||
### Fact
|
||||
The Prices Antara module required the existence of a completely trustless and decentralized price feed Oracle (a DTO). The DTO was implemented by piggybacking on the timestamp consensus rules. It works by requiring the miners of the Smart Chain to include the required off-chain data as a part of OP_RETURN of the coinbase transaction (The transaction that pays the block reward to the miner). The validation of the off-chain data is part of the consensus rules and if the data is false, the block will be rejected by the network, which incentivizes the miner to be truthful. To achieve consensus, all nodes allow an error of about 1% in the reported data.
|
||||
The Prices CryptoCondition module required the existence of a completely trustless and decentralized price feed Oracle (a DTO). The DTO was implemented by piggybacking on the timestamp consensus rules. It works by requiring the miners of the Smart Chain to include the required off-chain data as a part of OP_RETURN of the coinbase transaction (The transaction that pays the block reward to the miner). The validation of the off-chain data is part of the consensus rules and if the data is false, the block will be rejected by the network, which incentivizes the miner to be truthful. To achieve consensus, all nodes allow an error of about 1% in the reported data.
|
||||
|
||||
The value of the parameter is a 4 bit binary number converted to decimal. Each bit of the binary number has a specific meaning as explained below:
|
||||
|
||||
@ -86,22 +88,22 @@ If we just want the prices of the Stocks included in the -ac_stocks parameter, w
|
||||
|
||||
## ac_cc
|
||||
|
||||
The `ac_cc` parameter sets the network cluster on which the chain can interact with other chains via Antara modules and MoMoM technology.
|
||||
The `ac_cc` parameter sets the network cluster on which the chain can interact with other chains via CryptoCondition modules and MoMoM technology.
|
||||
|
||||
Once activated, the `ac_cc` parameter can allow features such as cross-chain fungibility -- coins on one Smart Chain can be directly transferred to any other Smart Chain that has the same `ac_cc` setting and the same set of notary nodes (same set of `notary pubkeys`).
|
||||
|
||||
Most functionalities enabled by `ac_cc` can function with or without notarization service. However, cross-chain transaction validation and its dependent features, including cross-chain fungibility, require notarization.
|
||||
|
||||
If the `ac_cc` parameter is set to a value greater than `0` (i.e. Antara is permitted on the Smart Chain) users should include the -pubkey parameter when launching the daemon of this Smart Chain.
|
||||
If the `ac_cc` parameter is set to a value greater than `0` (i.e. CryptoCondition is permitted on the Smart Chain) users should include the -pubkey parameter when launching the daemon of this Smart Chain.
|
||||
|
||||
### ac_cc=0
|
||||
Setting `ac_cc=0` disables Antara on the Smart Chain entirely.
|
||||
Setting `ac_cc=0` disables CryptoCondition on the Smart Chain entirely.
|
||||
|
||||
TIP
|
||||
It is better to NOT use `ac_cc=0` for a Smart Chain where Antara should not be enabled. Omitting the `ac_cc` parameter altogether will achieve the same result.
|
||||
It is better to NOT use `ac_cc=0` for a Smart Chain where CryptoCondition should not be enabled. Omitting the `ac_cc` parameter altogether will achieve the same result.
|
||||
|
||||
### ac_cc=1
|
||||
Setting `ac_cc=1` permits Antara on the Smart Chain, but will not allow the Smart Chain to interact in cross-chain Antara functionality with other Smart Chains.
|
||||
Setting `ac_cc=1` permits CryptoCondition on the Smart Chain, but will not allow the Smart Chain to interact in cross-chain CryptoCondition functionality with other Smart Chains.
|
||||
|
||||
### ac_cc=2 to 99
|
||||
The values of `2` through `99` (inclusive) indicate Smart Chains that can validate transactions that occur on other Smart Chains on the same cluster (i.e. the same `ac_cc` value), but their coins are not fungible and therefore cannot be transferred between blockchains.
|
||||
@ -116,32 +118,32 @@ For example, a Smart Chain set to `ac_cc=201` in its parameters can interact wit
|
||||
### Summary of ac_cc
|
||||
Consider a chain with -ac_cc=N
|
||||
|
||||
* If N = 0, Antara is disabled
|
||||
* If N > 0, Antara is enabled
|
||||
* If N = 1, on-chain Antara is active, cross-chain validation is disabled
|
||||
* If N = 0, CryptoCondition is disabled
|
||||
* If N > 0, CryptoCondition is enabled
|
||||
* If N = 1, on-chain CryptoCondition is active, cross-chain validation is disabled
|
||||
* If N >= 2 and <= 99, the chain allows for cross-chain contracts between all other chains bearing the same N value. The base coins in each Smart Chain are non-fungible across chains.
|
||||
* If N >= 100, the chain can form a cluster with all other chains with the same N value and on the same dPoW notarization network. The base coins of all chains in the cluster are fungible via the burn protocol.
|
||||
|
||||
### Examples
|
||||
A 777777 pre-mined chain with no Antara modules enabled.
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 &`
|
||||
A 555555 pre-mined chain with no CryptoCondition modules enabled.
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 &`
|
||||
|
||||
A 777777 pre-mined chain with Antara modules on-chain only; no cross-chain Antara modules.
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_cc=1 &`
|
||||
A 555555 pre-mined chain with CryptoCondition modules on-chain only; no cross-chain CryptoCondition modules.
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_cc=1 &`
|
||||
|
||||
A 777777 pre-mined chain where Antara modules are allowed between all fellow Smart Chains that have -ac_cc=2 in their launch parameters. However, the cross-chain burn protocol is not active, and therefore coins cannot be transferred between chains.
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_cc=2 &`
|
||||
A 555555 pre-mined chain where CryptoCondition modules are allowed between all fellow Smart Chains that have -ac_cc=2 in their launch parameters. However, the cross-chain burn protocol is not active, and therefore coins cannot be transferred between chains.
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_cc=2 &`
|
||||
|
||||
A 777777 pre-mined chain. Antara modules are allowed between all fellow Smart Chains that have -ac_cc=102 in their launch parameters. Also, all -ac_cc=102 chains can use the cross-chain burn protocol to transfer coins from one chain to another.
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_cc=102 &`
|
||||
A 555555 pre-mined chain. CryptoCondition modules are allowed between all fellow Smart Chains that have -ac_cc=102 in their launch parameters. Also, all -ac_cc=102 chains can use the cross-chain burn protocol to transfer coins from one chain to another.
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_cc=102 &`
|
||||
|
||||
## ac_ccactivate
|
||||
|
||||
-ac_ccactivate=block_height
|
||||
|
||||
The `ac_ccactivate` launch parameter allows for the activation of Antara on an existing Hush Smart Chain wherein Antara was not originally enabled.
|
||||
The `ac_ccactivate` launch parameter allows for the activation of CryptoCondition on an existing Hush Smart Chain wherein CryptoCondition was not originally enabled.
|
||||
|
||||
Add the `ac_ccactivate` parameter to the existing launch command for the Smart Chain and set the value equal to a future block height. When this block height is reached, Antara will be available on the Smart Chain.
|
||||
Add the `ac_ccactivate` parameter to the existing launch command for the Smart Chain and set the value equal to a future block height. When this block height is reached, CryptoCondition will be available on the Smart Chain.
|
||||
|
||||
This change requires a hard fork of the Smart Chain. If the Smart Chain is receiving Hush's dPoW security service, the notary nodes must relaunch their Smart Chain daemons with the new launch parameter. All nodes must also update their daemons in the same manner.
|
||||
|
||||
@ -149,18 +151,18 @@ By default, `ac_ccactivate` uses the default `ac_cc` value of `ac_cc=2`. It is n
|
||||
|
||||
### Examples
|
||||
Before Using `ac_ccactivate`
|
||||
`./hushd -ac_name=EXAMPLE -ac_supply=72000000 -addnode=24.54.206.138 &`
|
||||
`./hushd -ac_name=EXAMPLE -ac_supply=72000000 -addnode=1.2.3.4 &`
|
||||
|
||||
After Using `ac_ccactivate`
|
||||
`./hushd -ac_name=EXAMPLE -ac_supply=72000000 -ac_ccactivate=140 -addnode=24.54.206.138 &`
|
||||
`./hushd -ac_name=EXAMPLE -ac_supply=72000000 -ac_ccactivate=140 -addnode=1.2.3.4 &`
|
||||
|
||||
In this example, Antara will be available at blockheight `140`. All nodes, include the notary nodes, must relaunch the daemon with the new parameters before blockheight `140`.
|
||||
In this example, CryptoCondition will be available at blockheight `140`. All nodes, include the notary nodes, must relaunch the daemon with the new parameters before blockheight `140`.
|
||||
|
||||
## ac_ccenable
|
||||
|
||||
The `ac_ccenable` parameter restricts the Smart Chain so that only indicated Antara modules can be enabled. `ac_ccenable` requires ac_cc to be active.
|
||||
The `ac_ccenable` parameter restricts the Smart Chain so that only indicated CryptoCondition modules can be enabled. `ac_ccenable` requires ac_cc to be active.
|
||||
|
||||
To indicate which Antara modules should be available, insert each module's eval code in decimal and separated by commas.
|
||||
To indicate which CryptoCondition modules should be available, insert each module's eval code in decimal and separated by commas.
|
||||
|
||||
The following table presents an abbreviated list of EVAL codes. For more information, please see [this linked content](https://git.hush.is/hush/hush3/src/branch/master/src/cc/eval.h#L43).
|
||||
|
||||
@ -190,23 +192,23 @@ For example, the following parameters create a Smart Chain where only the `fauce
|
||||
|
||||
`./hushd -ac_name=EXAMPLE -ac_supply=0 -ac_reward=100000000 -ac_cc=2 -ac_ccenable=228,229`
|
||||
|
||||
When `-ac_cc` is set, but `-ac_ccenable` is not, all Antara modules are enabled.
|
||||
When `-ac_cc` is set, but `-ac_ccenable` is not, all CryptoCondition modules are enabled.
|
||||
|
||||
**WARNING**
|
||||
`ac_ccenable` disables spending utxos that are created under a non-enabled Antara module. We have also implemented additional functionality that disables API functions. This prevents the user from creating a utxo that `ac_ccenable` would render unspendable. It is still possible to create raw transactions that bypass this security feature, and thus create utxos that are unspendable. A normal user or developer relying on our API functionality should not be concerned with this. However, those who experiment with raw transactions should be cautious.
|
||||
`ac_ccenable` disables spending utxos that are created under a non-enabled CryptoCondition module. We have also implemented additional functionality that disables API functions. This prevents the user from creating a utxo that `ac_ccenable` would render unspendable. It is still possible to create raw transactions that bypass this security feature, and thus create utxos that are unspendable. A normal user or developer relying on our API functionality should not be concerned with this. However, those who experiment with raw transactions should be cautious.
|
||||
|
||||
**WARNING**
|
||||
If the developer is also using a new feature that has yet to be documented here, `ac_cclib`, the eval codes in the `libcc.so` will not disable Antara API calls. Therefore, there remains a risk that a disabled API call can still be used to create a utxo, which will then be non-spendable.
|
||||
If the developer is also using a new feature that has yet to be documented here, `ac_cclib`, the eval codes in the `libcc.so` will not disable CryptoCondition API calls. Therefore, there remains a risk that a disabled API call can still be used to create a utxo, which will then be non-spendable.
|
||||
|
||||
## ac_cclib
|
||||
|
||||
The `ac_cclib` parameter is used in conjunction with various Antara modules.
|
||||
The `ac_cclib` parameter is used in conjunction with various CryptoCondition modules.
|
||||
|
||||
Typically, the Smart Chain that uses the `ac_cclib` parameter will have a unique build process. This is described as a part of each Antara module in question. Once the Smart Chain is properly built, the terminal command to launch the chain will include the `ac_cclib` parameter in a manner similar to the following:
|
||||
Typically, the Smart Chain that uses the `ac_cclib` parameter will have a unique build process. This is described as a part of each CryptoCondition module in question. Once the Smart Chain is properly built, the terminal command to launch the chain will include the `ac_cclib` parameter in a manner similar to the following:
|
||||
|
||||
`-ac_cclib=desired_CC_module`
|
||||
|
||||
Each Antara module uses the `ac_cclib` parameter differently, and therefore the reader should refer to the desired Antara module for further instructions.
|
||||
Each CryptoCondition module uses the `ac_cclib` parameter differently, and therefore the reader should refer to the desired CryptoCondition module for further instructions.
|
||||
|
||||
## ac_decay
|
||||
|
||||
@ -222,9 +224,9 @@ For example, if this parameter is set to `75000000`, at each "halving" the block
|
||||
|
||||
### Examples
|
||||
|
||||
A 777777-coin pre-mine, with a 10-coin block reward, and the block reward decreases by 25% every 2000 blocks.
|
||||
A 555555-coin pre-mine, with a 10-coin block reward, and the block reward decreases by 25% every 2000 blocks.
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_reward=1000000000 -ac_halving=2000 -ac_decay=75000000 &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_reward=1000000000 -ac_halving=2000 -ac_decay=75000000 &`
|
||||
|
||||
## ac_end
|
||||
|
||||
@ -232,17 +234,17 @@ This is the block height at which block rewards will end. Every block after this
|
||||
|
||||
### Examples
|
||||
|
||||
A 777777-coin pre-mine, with a block reward of 0.0005 coin. The block reward ends at block 25000.
|
||||
A 555555-coin pre-mine, with a block reward of 0.0005 coin. The block reward ends at block 25000.
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_reward=50000 -ac_end=25000 &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_reward=50000 -ac_end=25000 &`
|
||||
|
||||
A 777777-coin pre-mine, with a 5-coin block reward, and the block reward ends at block 200.
|
||||
A 555555-coin pre-mine, with a 5-coin block reward, and the block reward ends at block 200.
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_reward=500000000 -ac_end=200 &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_reward=500000000 -ac_end=200 &`
|
||||
|
||||
A 777777-coin pre-mine, with a 5-coin block reward, the block reward decreases by 50% every 2000 blocks, and the block reward ends at block 10000.
|
||||
A 555555-coin pre-mine, with a 5-coin block reward, the block reward decreases by 50% every 2000 blocks, and the block reward ends at block 10000.
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_reward=500000000 -ac_halving=2000 -ac_end=10000 &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_reward=500000000 -ac_halving=2000 -ac_end=10000 &`
|
||||
|
||||
## ac_eras
|
||||
|
||||
@ -268,7 +270,7 @@ In all parameters receiving multiple values, the values must be preceded by a co
|
||||
|
||||
For example:
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_eras=3 -ac_reward=5000000000,7000000000,4000000000 -ac_end=1000,10000,0`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_eras=3 -ac_reward=5000000000,7000000000,4000000000 -ac_end=1000,10000,0`
|
||||
|
||||
In this Smart Chain, the first era will have a reward of 5000000000, the second will have 7000000000, and the third will have 4000000000. The reward for the first era ends at block 1000, for the second era at block 10000, and the third era lasts indefinitely.
|
||||
|
||||
@ -343,18 +345,18 @@ This combination pays the pubkey address 1 coin every 10 blocks.
|
||||
The `ac_founders_reward` parameter is not compatible with the ac_eras parameter.
|
||||
|
||||
### Examples
|
||||
A 777777-coin pre-mine, with a 5-coin block reward, and founder's reward of 10 coins sent to `034916536402c0c4cf53b05e3b5d948aacafede47df640b33cb89bd28179cd2d3f` every 10 blocks.
|
||||
A 555555-coin pre-mine, with a 5-coin block reward, and founder's reward of 10 coins sent to `034916536402c0c4cf53b05e3b5d948aacafede47df640b33cb89bd28179cd2d3f` every 10 blocks.
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_reward=500000000 -ac_founders_reward=1000000000 -ac_founders=10 -ac_pubkey=034916536402c0c4cf53b05e3b5d948aacafede47df640b33cb89bd28179cd2d3f &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_reward=500000000 -ac_founders_reward=1000000000 -ac_founders=10 -ac_pubkey=034916536402c0c4cf53b05e3b5d948aacafede47df640b33cb89bd28179cd2d3f &`
|
||||
|
||||
## ac_halving
|
||||
|
||||
This is the number of blocks between each block reward halving. This parameter will have no effect if ac_reward is not set. The lowest possible value is `1440` (~1 day). If this parameter is set, but ac_decay is not, the reward will decrease by 50% each halving.
|
||||
|
||||
### Examples
|
||||
A 777777-coin pre-mine, with a 5-coin block reward, and the block reward decreases by 50% every 2000 blocks.
|
||||
A 555555-coin pre-mine, with a 5-coin block reward, and the block reward decreases by 50% every 2000 blocks.
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_reward=500000000 -ac_halving=2000 &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_reward=500000000 -ac_halving=2000 &`
|
||||
|
||||
## ac_name
|
||||
|
||||
@ -366,7 +368,7 @@ This is the ticker symbol for the coin you wish to create. We recommended it con
|
||||
|
||||
A simple Smart Chain
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 &`
|
||||
|
||||
## ac_perc
|
||||
|
||||
@ -385,10 +387,6 @@ Vout 1 of each coinbase transaction must be the correct amount sent to the corre
|
||||
### ac_perc with ac_founders
|
||||
Please see the -ac_founders documentation for this functionality.
|
||||
|
||||
### Examples
|
||||
|
||||
<!--- Need example without PoS... -->
|
||||
|
||||
## ac_prices
|
||||
|
||||
The `ac_prices` parameter has to be used along with the ac_cbopret parameter to supply TICKERS of the Cryptocurrencies whose BTC prices are to be included in the DTO.
|
||||
@ -397,7 +395,7 @@ The `ac_prices` parameter has to be used along with the ac_cbopret parameter to
|
||||
|
||||
A Smart Chain with a DTO that brings prices of various Cryptocurrencies vs BTC on-chain.
|
||||
|
||||
`./hushd -ac_cbopret=5 -ac_name=HELLOWORLD -ac_cbopret=5 -ac_prices="ETH, LTC, BNB, NEO, LRC, QTUM, OMG, ZRX, STRAT, IOTA, XVG, KMD, EOS, ZEC, DASH, XRP, STORJ, XMR, BAT, BTS, LSK, ADA, WAVES, STEEM, RVN, DCR, XEM, ICX, HOT, ENJ" -ac_cc=10797 -ac_reward=3000000000 -ac_supply=120000000 -ac_pubkey=02d3431950c2f0f9654217b6ce3d44468d3a9ca7255741767fdeee7c5ec6b47567 -ac_perc=77777 -ac_blocktime=120 &`
|
||||
`./hushd -ac_cbopret=5 -ac_name=HELLOWORLD -ac_cbopret=5 -ac_prices="ETH, LTC, BNB, NEO, LRC, QTUM, OMG, ZRX, STRAT, IOTA, XVG, KMD, EOS, ZEC, DASH, XRP, STORJ, XMR, BAT, BTS, LSK, ADA, WAVES, STEEM, RVN, DCR, XEM, ICX, HOT, ENJ" -ac_cc=10797 -ac_reward=3000000000 -ac_supply=120000000 -ac_pubkey=02d3431950c2f0f9654217b6ce3d44468d3a9ca7255741767fdeee7c5ec6b47567 -ac_perc=55555 -ac_blocktime=120 &`
|
||||
|
||||
## ac_private
|
||||
|
||||
@ -407,7 +405,7 @@ If ac_private is set to 1, zk-SNARKS is enabled, and all z address functionality
|
||||
|
||||
A Hush Smart Chain.
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_private=1 &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_private=1 &`
|
||||
|
||||
## ac_pubkey
|
||||
|
||||
@ -417,10 +415,6 @@ This parameter is not intended for isolated use. It should only be activated on
|
||||
|
||||
The `pubkey` must be a 66 character string (a compressed pubkey). You can find this pubkey for any address by using the validateaddress command, and searching for the returned `pubkey` property. The first two digits of a compressed `pubkey` are only either `02` or `03`. (The corresponding `private key` must be present/imported to the wallet before using `validateaddress`.)
|
||||
|
||||
### Examples
|
||||
|
||||
<!--- Need example without PoS... -->
|
||||
|
||||
## ac_public
|
||||
|
||||
**Hush does not support ac_public=1 chains as it is a platform for privacy!**
|
||||
@ -437,25 +431,25 @@ To make a Smart Chain that has no block reward and is not on-demand, include the
|
||||
|
||||
### Examples
|
||||
|
||||
A 777777 coin pre-mine, with a 1 coin block reward that does not end. (Note that ac_supply is given in coins, while ac_reward is given in satoshis.)
|
||||
A 555555 coin pre-mine, with a 1 coin block reward that does not end. (Note that ac_supply is given in coins, while ac_reward is given in satoshis.)
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_reward=100000000 &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_reward=100000000 &`
|
||||
|
||||
A 0 coin pre-mine with a 1-coin block reward that does not end. This is an example of a pure PoW Smart Chain that has no pre-mined coins.
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=0 -ac_reward=100000000 &`
|
||||
|
||||
A 777777-coin pre-mine, with a 10-coin block reward, and the block reward decreases by 25% every 2000 blocks.
|
||||
A 555555-coin pre-mine, with a 10-coin block reward, and the block reward decreases by 25% every 2000 blocks.
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_reward=1000000000 -ac_halving=2000 -ac_decay=75000000 &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_reward=1000000000 -ac_halving=2000 -ac_decay=75000000 &`
|
||||
|
||||
## ac_sapling
|
||||
|
||||
The `ac_sapling` parameter adjusts the block height of a Smart Chain's default sapling activation. (Sapling is an upstream privacy technology originally provided by Zcash, inheritted via Komodo, which Hush is a fork.)
|
||||
|
||||
By default, sapling will activate at block 61 on a newly created Smart Chain.
|
||||
By default, sapling will activate at block 1 on a newly created Smart Chain.
|
||||
|
||||
This can also be used to activate sapling prior to block 61. (Activating sapling prior to block 61 should not be done on a chain intended for production use.)
|
||||
This can also be used to activate sapling at a different block height.
|
||||
|
||||
To delay sapling activation, set `ac_sapling` to a block height far in the future. For example, `-ac_sapling=5000000` will delay sapling activation to block `5000000`. At block `5000000` sapling will be activated.
|
||||
|
||||
@ -523,7 +517,7 @@ The `ac_stocks` parameter has to be used along with the ac_cbopret parameter to
|
||||
|
||||
A Smart Chain with a DTO that brings prices of various Stocks vs USD on-chain.
|
||||
|
||||
`./hushd -ac_cbopret=9 -ac_name=HELLOWORLD -ac_cbopret=9 -ac_stocks="AAPL,ADBE,ADSK,AKAM,AMD,AMZN,ATVI,BB,CDW,CRM,CSCO,CYBR,DBX,EA,FB,GDDY,GOOG,GRMN,GSAT,HPQ,IBM,INFY,INTC,INTU,JNPR,MSFT,MSI,MU,MXL,NATI,NCR,NFLX,NTAP,NVDA,ORCL,PANW,PYPL,QCOM,RHT,S,SHOP,SNAP,SPOT,SYMC,SYNA,T,TRIP,TWTR,TXN,VMW,VOD,VRSN,VZ,WDC,XRX,YELP,YNDX,ZEN,BRK.A" -ac_cc=10797 -ac_reward=3000000000 -ac_supply=120000000 -ac_pubkey=02d3431950c2f0f9654217b6ce3d44468d3a9ca7255741767fdeee7c5ec6b47567 -ac_perc=77777 -ac_blocktime=120 &`
|
||||
`./hushd -ac_cbopret=9 -ac_name=HELLOWORLD -ac_cbopret=9 -ac_stocks="AAPL,ADBE,ADSK,AKAM,AMD,AMZN,ATVI,BB,CDW,CRM,CSCO,CYBR,DBX,EA,FB,GDDY,GOOG,GRMN,GSAT,HPQ,IBM,INFY,INTC,INTU,JNPR,MSFT,MSI,MU,MXL,NATI,NCR,NFLX,NTAP,NVDA,ORCL,PANW,PYPL,QCOM,RHT,S,SHOP,SNAP,SPOT,SYMC,SYNA,T,TRIP,TWTR,TXN,VMW,VOD,VRSN,VZ,WDC,XRX,YELP,YNDX,ZEN,BRK.A" -ac_cc=10797 -ac_reward=3000000000 -ac_supply=120000000 -ac_pubkey=02d3431950c2f0f9654217b6ce3d44468d3a9ca7255741767fdeee7c5ec6b47567 -ac_perc=55555 -ac_blocktime=120 &`
|
||||
|
||||
## ac_supply
|
||||
|
||||
@ -542,7 +536,7 @@ An additional fraction of a coin will be added to the initial supply based on th
|
||||
|
||||
A simple Smart Chain with pre-mined coins and a block reward of 0.0005.
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=777777 -ac_reward=50000 &`
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=555555 -ac_reward=50000 &`
|
||||
|
||||
## ac_snapshot
|
||||
|
||||
@ -554,7 +548,7 @@ The following example instructs the Smart Chain to execute a snapshot once every
|
||||
`-ac_snapshot=1440`
|
||||
|
||||
### Payments Module Functionality
|
||||
The `ac_snapshot` parameter is required by the paymentsairdrop method of the Payments Antara Module.
|
||||
The `ac_snapshot` parameter is required by the paymentsairdrop method of the Payments CryptoCondition Module.
|
||||
|
||||
The user first executes the paymentsairdrop method to create a Payments plan that is designed to distribute airdrops to addresses on the chain.
|
||||
|
||||
@ -562,26 +556,6 @@ The user then executes the paymentsrelease method to release payments based on t
|
||||
|
||||
The Payments Module features several customizations to control the nature of these automated airdrops.
|
||||
|
||||
## ac_timelock...
|
||||
|
||||
`-ac_timeunlockgte=satoshis -ac_timelockfrom=height -ac_timelockto=height`
|
||||
|
||||
The `ac_timelock`... parameters enforce "coinbase locking".
|
||||
|
||||
In coinbase locking, the Smart Chain's block-reward feature behaves in a different manner compared to a default Smart Chain. Any block reward that is greater than or equal to the `ac_timeunlockgte` satoshi amount is temporarily locked. It will be unlocked (and therefore spendable) on a random block between the `ac_timelockfrom` and `ac_timelockto` heights.
|
||||
|
||||
The random unlock time for each reward is independent of the unlock time of other rewards.
|
||||
|
||||
For example:
|
||||
|
||||
`./hushd -ac_name=HELLOWORLD -ac_supply=0 -ac_reward=10000000000 -ac_halving=10000 -ac_timelockgte=10000000000 -ac_timeunlockfrom=10000 -ac_timeunlockto=100000`
|
||||
|
||||
For the first 10000 blocks, any rewards that are greater than or equal to 10000000000 are locked until a random block between 10000 and 100000.
|
||||
|
||||
### also found these in the code...
|
||||
-ac_timeunlockfrom
|
||||
-ac_timeunlockto
|
||||
|
||||
# ac_txpow
|
||||
|
||||
Setting `-ac_txpow=1` enforces a transaction-rate limiter. This can help to prevent spam transactions on a Smart Chain.
|
||||
@ -600,9 +574,12 @@ It's in code [here](https://git.hush.is/hush/hush3/src/branch/master/src/cc/pegs
|
||||
|
||||
## misc
|
||||
|
||||
* -ac_nk
|
||||
* -ac_ccactivateht
|
||||
* -ac_beam
|
||||
* -ac_coda
|
||||
* -ac_mineropret
|
||||
* -ac_overwinter
|
||||
|
||||
## Reference
|
||||
|
||||
To learn more about the origin of CryptoConditions, please refer to this [IETF documentation here](https://datatracker.ietf.org/doc/html/draft-thomas-crypto-conditions-03).
|
||||
|
Loading…
x
Reference in New Issue
Block a user