updated chain creator and added walkthrough page

This commit is contained in:
D 2024-03-13 18:00:15 -05:00
parent fd4b363696
commit dcd86ce146
30 changed files with 1528 additions and 355 deletions

123
how-to-run/index.html Normal file
View File

@ -0,0 +1,123 @@
<html lang="en">
<head>
<title>HUSH Smart Chain Creator</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="shortcut icon" href="../img/graphics/logo_Arrakis_Spice_Chain.png" />
<!-- <link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
<link rel='stylesheet prefetch'
href='https://cdnjs.cloudflare.com/ajax/libs/milligram/1.1.0/milligram.min.css'> -->
<link
rel="stylesheet prefetch"
href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,700"
/>
<link
rel="stylesheet prefetch"
href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css"
/>
<link rel="stylesheet" href="../style.css?v=5" />
</head>
<body>
<header class="header">
<input type="checkbox" id="nav-check" style="display: none" />
<div class="nav-logo">
<a class="header-logo hover-scale hover-glow" href="https://hush.is">
</a>
</div>
<div class="nav-center"></div>
<nav class="nav-buttons">
<a href="https://hush.is" class="component-button hover-scale"
><small>HUSH</small></a
>
<a href="https://dragonx.is" class="component-button hover-scale"
><small>DragonX</small></a
>
<a href="https://videos.hush.is" class="component-button hover-scale"
><small>Videos</small></a
>
<a href="https://blog.hush.is" class="component-button hover-scale"
><small>Blog</small></a
>
</nav>
<div class="nav-bg"></div>
<label for="nav-check" class="nav-menu-btn"></label>
</header>
<div class="bg-overlay"></div>
<div class="page-bg"></div>
<section class="hero flex-center flex-col">
<img src="../img/graphics/logo_Arrakis_Spice_Chain_workmarklogo.png" />
<a href="#howTo" class="component-button">How To Run</a>
</section class="flex-center">
<section id="howTo" class="flex-start">
<input type="checkbox" id="switchTutorial" style="display: none;">
<article class="article-col flex-start bg-blur flex-col p-2">
<label for="switchTutorial" class="component-button" id="linuxBtn">Linux Walkthrough</label>
<h3 class="mx-auto font-s-2 text-center">Windows 11</h3>
<p>This walkthough uses <strong>Windows Terminal</strong>, it can be downloaded from the microsoft store or github.</p>
<div class="flex-center mb-4 w-full">
<a href="https://apps.microsoft.com/detail/9n0dx20hk701?hl=en-US&gl=US" class="component-button my-2">Microsoft Store</a>
<a href="https://github.com/microsoft/terminal/releases" class="component-button my-2">Github Repository</a>
</div>
<p>Arrakis smart chain are run from the HUSH fullnode, download the latest release of hush3 for windows:</p>
<a href="https://git.hush.is/hush/hush3/releases" class="component-button mx-auto">HUSH Latest Releases</a>
<img class="w-70 mx-auto my-8 br-25" src="../img/screenshots/releases_scrn.png" alt="">
<p>After downloading the latest release, unzip the files.</p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/win-1.png" alt="">
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/win-2.png" alt="">
<p>After unziping and navigating to the root folder, right click anyhere outside the filelist and select "open in terminal".</p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/win-3.png" alt="">
<p>This will open a terminal window in the current folder. Now paste the command and press enter.</p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/win-4.png" alt="">
<p>This will start a full node with the specified chain paramters.</p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/win-5.png" alt="">
<p>A good way to interact with the running node is to split the tab.</p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/win-6.png" alt="">
<p>You may need to navigate back to the correct folder, you can use commands such <strong>cd</strong> and <strong>ls</strong> to navigate from the terminal. <br>
<strong>tab</strong> can also be used to autocomplete folder names</p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/win-7.png" alt="">
<p>you can get information about the chain with the command <br> <strong>./hush-cli -ac_name=COINNAME getinfo</strong></p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/win-8.png" alt="">
<p>This chain specifically was run with the <strong>-testnode=1</strong> parameter, allowing a chain to be started with only 1 node <br>
with <strong>getinfo</strong> we can see that the chain has succesfulyl started by looking at the number of <strong>blocks</strong> and the intial <strong>balance</strong> or premine. <br> <br>
<strong>-testnode=1</strong> is a great way to make sure the chain starts with the intended values.
</p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/win-9.png" alt="">
<p>When running the chain without <strong>-testnode=1</strong> make sure to add the ip address of at least 1 other node, otherwise the chain will not start.</p>
<p class="mt-4">For a list of many other commands:</p>
<a href="https://faq.hush.is/rpc/" class="component-button mx-auto mb-8">List of RPC commands</a>
</article>
<article class="article-col flex-start bg-blur flex-col p-2">
<label for="switchTutorial" class="component-button">Windows Walkthrough</label>
<h3 class="mx-auto font-s-2 text-center">Linux <br> (Ubuntu 20.04.6 LTS)</h3>
<p>Open a terminal window, create a directory and <strong>cd</strong> into it <br>
run <strong>git clone https://git.hush.is/hush/hush3.git</strong></p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/ubuntu-1.png" alt="">
<p><strong>cd</strong> into the hush3 directory and run <strong>./build.sh</strong> <br>
you can add <strong>-j</strong> to specify the number of cpu threads to use, more threads will help build faster. <br>
a good number to use is <strong>4</strong>
</p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/ubuntu-2.png" alt="">
<p>After hush is built, <strong>cd</strong> into the <strong>src</strong> directory.</p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/ubuntu-3.png" alt="">
<p>From here you can paste the command generated from the chain builder to start a fullnode with the specified parameters. <br> <br>
In this example the <strong>-testchain=1</strong> parameter was used to start a chain with only 1 node. <br> <br> when not using this parameter make sure to use <strong>-addnode</strong> to specify the ip address
of at least 1 other node in order to succesfulyl start a chain.
</p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/ubuntu-4.png" alt="">
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/ubuntu-5.png" alt="">
<p>In another tab you can use <strong>./hush-cli -ac_name=COINNAME getinfo</strong> to see information about the chain. <br>
if there are any <strong>blocks</strong> that means the chain has succesfully started.</p>
<img class="w-full w-90 mx-auto mb-4" src="../img/screenshots/ubuntu-6.png" alt="">
<p class="mt-4">For a list of many other commands:</p>
<a href="https://faq.hush.is/rpc/" class="component-button mx-auto mb-8">List of RPC commands</a>
</article>
</section>
</body>
</html>

BIN
img/graphics/button_X.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352.29 352.29">
<defs>
<style>
.cls-1, .cls-2 {
fill: #fff;
stroke-width: 0px;
}
.cls-2 {
opacity: .12;
}
</style>
</defs>
<g id="Layer_2-2" data-name="Layer 2">
<g>
<path class="cls-2" d="m336.29,176.15c0,88.3-71.84,160.14-160.14,160.14S16,264.45,16,176.15,87.84,16,176.15,16s160.14,71.84,160.14,160.15Z"/>
<path class="cls-1" d="m176.15,0C79.02,0,0,79.02,0,176.15s79.02,176.14,176.15,176.14,176.14-79.02,176.14-176.14S273.27,0,176.15,0Zm0,336.29c-88.31,0-160.15-71.84-160.15-160.14S87.84,16,176.15,16s160.14,71.84,160.14,160.15-71.84,160.14-160.14,160.14Z"/>
<path class="cls-1" d="m150.28,233.49v-7.39c0-29.24,17.99-44.34,35.02-57.51,14.46-11.57,27.63-22.49,27.63-41.12,0-21.85-13.49-36.31-35.98-36.31s-38.55,17.03-38.55,41.77h-40.8c0-45.94,33.73-78.39,80.32-78.39s76.79,27.63,76.79,70.36c0,34.38-22.17,50.76-40.8,63.94-15.74,11.24-27.95,20.88-27.95,37.27v7.39h-35.66Zm-6.75,38.88c0-14.14,11.57-25.7,26.02-25.7s26.02,11.57,26.02,25.7-11.89,25.38-26.02,25.38-26.02-11.57-26.02-25.38Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 962 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

BIN
img/screenshots/win-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

BIN
img/screenshots/win-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

BIN
img/screenshots/win-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 KiB

BIN
img/screenshots/win-4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

BIN
img/screenshots/win-5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 KiB

BIN
img/screenshots/win-6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
img/screenshots/win-7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
img/screenshots/win-8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
img/screenshots/win-9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 KiB

View File

@ -1,146 +1,465 @@
<html lang="en">
<head>
<title>HUSH Smart Chain Creator</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="shortcut icon" href="https://hush.is/favicon.ico">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
<link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/milligram/1.1.0/milligram.min.css'>
<link rel='stylesheet prefetch' href='https://fonts.googleapis.com/css?family=Poppins:300,400,500,700'>
<link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css'>
<link rel="stylesheet" href="style.css?v=5">
</head>
<body>
<div id="app">
<div class="jumbo text-center">
<div class="logo">
<img src="logo.jpg" />
</div>
<h1>Hush Smart Chain Creator</h1>
<!--
<h4>Select your flavor</h4>
<ul id="flavor">
<li><button class="button-white button-outline" v-on:click="setFlavor('z2z')">Full Privacy (z2z)</button></li>
<li><button class="button-white button-outline" v-on:click="setFlavor('hybrid')">Hybrid Privacy (Smart contracts)</button></li>
</ul>
-->
</div>
<div id="build" class="content text-center">
<h3>Let's create a HUSH Smart Chain!</h3>
<h5>You have great power at your fingertips! Use it wisely, for Good</h5>
<h5>More detailed docs <a href="https://git.hush.is/hush/hsc-creator/src/branch/master/docs.md" target=_blank>here</a> and more background <a href="https://git.hush.is/hush/hush-smart-chains/src/branch/master/README.md">here</a></h5>
<div class="row">
<div class="column">
<form class="center">
<fieldset>
<h4>Options</h4>
<div class="row">
<div class="column">
<h5>General</h5>
<p>Customize general Hush settings</p>
<ul class="toggles">
<li class="animated fadeInRight" id="minerAddress" v-on:click="showMinerAddress">
<label>Specific Address</label>
<label class="switch">
<input type="checkbox" v-model="customMinerToAddress" v-on:click="showMinerAddress">
<div class="slider round"></div>
</label>
</li>
<li>
<label>Fully Shielded z2z (-ac_private)</label>
<label class="switch">
<input type="checkbox" v-model="optionz2z">
<div class="slider round"></div>
</label>
</li>
<li class="animated fadeInRight" id="nameInput" style="border-color: #2d2d2d;">
<label>Name (-ac_name)</label>
<input class="input" type="text" v-model="optionName" style="border-color: #2d2d2d;">
</li>
<li class="animated fadeInRight" id="algoInput" style="border-color: #2d2d2d;">
<label>Algo (-ac_algo)</label>
<select name="algo" v-model="optionAlgo" id="dropdown" style="border-color: #2d2d2d;">
<option value=" -ac_algo=randomx " disabled value="">RandomX</option>
<option value=" -ac_algo=equihash -ac_nk=200,9 ">Equihash (200,9)</option>
<option value=' -ac_algo=equihash -ac_nk=210,9 '>Equihash (210,9)</option>
<option value=' -ac_algo=equihash -ac_nk=48,5 '>Equihash (48,5)</option>
<option value=' -ac_algo=equihash -ac_nk=96,5 '>Equihash (96,5)</option>
<option value=' -ac_algo=equihash -ac_nk=144,5 '>Equihash (144,5)</option>
<option value=' -ac_algo=equihash -ac_nk=150,5 '>Equihash (150,5)</option>
</select>
</li>
<li class="animated fadeInRight" id="supplyInput" style="border-color: #2d2d2d;">
<label>Initial Supply (-ac_supply)</label>
<input class="input" type="text" v-model="optionSupply" style="border-color: #2d2d2d;">
</li>
<li class="animated fadeInRight" id="rewardInput" style="border-color: #2d2d2d;">
<label>Initial Block Reward (-ac_reward)</label>
<pre>This is in satoshis. 1 COIN = 100000000 satoshis.</pre>
<input class="input" type="text" v-model="optionReward" style="border-color: #2d2d2d;">
</li>
<li class="animated fadeInRight" id="blocktimeInput" style="border-color: #2d2d2d;">
<label>Block time (-ac_blocktime)</label>
<input class="input" type="text" v-model="optionBlocktime" style="border-color: #2d2d2d;">
</li>
<li class="animated fadeInRight" id="halvingInput" style="border-color: #2d2d2d;">
<label>Block Halving Period (-ac_halving)</label>
<input class="input" type="text" v-model="optionHalving" style="border-color: #2d2d2d;">
</li>
<li class="animated fadeInRight" id="pubkeyInput" style="border-color: #2d2d2d;">
<label>Public Key (-ac_pubkey)</label>
<input class="input" type="text" width="40" v-model="optionPubkey" style="border-color: #2d2d2d;">
</li>
</ul>
<h5 style="margin-top: 15px;">Addnodes</h5>
<p>Add trusted bootstrap nodes. Remove by clicking.</p>
<input style="border-color: #2d2d2d;" type="text" placeholder="Enter hostname or IP address and hit enter" v-model="tempAllowlist" @keyup.enter="addAllowList(tempAllowlist)">
<ul class="allowlist" v-for="item in optionAllowList" v-bind:item="item">
<li v-on:click="removeAllowListItem(item)">{{ item }}</li>
</ul>
</div>
</div>
<head>
<title>HUSH Smart Chain Creator</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="shortcut icon" href="./img/graphics/logo_Arrakis_Spice_Chain.png" />
<!-- <link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
<link rel='stylesheet prefetch'
href='https://cdnjs.cloudflare.com/ajax/libs/milligram/1.1.0/milligram.min.css'> -->
<link
rel="stylesheet prefetch"
href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,700"
/>
<link
rel="stylesheet prefetch"
href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css"
/>
<link rel="stylesheet" href="style.css?v=5" />
</head>
<body>
<header class="header">
<input type="checkbox" id="nav-check" style="display: none" />
<li>
<label> Test Chain (-testnode=1)</label>
<pre>Use this for testing. Requires only a single node.</pre>
<label class="switch">
<input type="checkbox" v-model="optionTestNode">
<div class="slider round"></div>
</label>
</li>
<div class="nav-logo">
<a class="header-logo hover-scale hover-glow" href="https://hush.is">
</a>
</div>
<div class="nav-center"></div>
<nav class="nav-buttons">
<a href="https://hush.is" class="component-button hover-scale"
><small>HUSH</small></a
>
<a href="https://dragonx.is" class="component-button hover-scale"
><small>DragonX</small></a
>
<a href="https://videos.hush.is" class="component-button hover-scale"
><small>Videos</small></a
>
<a href="https://blog.hush.is" class="component-button hover-scale"
><small>Blog</small></a
>
</nav>
<div class="nav-bg"></div>
<label for="nav-check" class="nav-menu-btn"></label>
</header>
<div class="bg-overlay"></div>
<div class="page-bg"></div>
<div id="app">
<section class="hero flex-center flex-col">
<img src="./img/graphics/logo_Arrakis_Chain_Creator.png" />
<a href="#options" class="component-button">Create A Chain</a>
</section>
<li>
<label> Mining (-gen=1)</label>
<pre>Enable mining.</pre>
<label class="switch">
<input type="checkbox" v-model="optionGen">
<div class="slider round"></div>
</label>
</li>
<div
class="bg-blur bg-dark-50 pos-rel box-shadow-dark flex-center flex-col"
>
<form class="center" id="options">
<fieldset>
<h3 class="my-4 flex-center my-2 text-center font-w-800">
Customize Your Chain
</h3>
<div class="content-container">
<div>
<div class="toggles">
<div class="w-full">
<div class="p-1 my-4 br-25">
<div
class="animated fadeInRight flex-center flex-col input-wrapper"
id="nameInput"
>
<label>Coin Name</label>
<input class="input" type="text" v-model="optionName" />
<p class="popup-info">
<strong>-ac_name</strong> <br />
The name of your coin (ALL CAPS)
</p>
</div>
<div class="flex-center w-full pos-rel mt-4">
<input
type="checkbox"
name="info-mining"
id="info-z2z"
style="display: none"
/>
<h3 class="flex-center">Fully Shielded z2z</h3>
<label for="info-z2z"
><img
class="info-btn"
src="./img/graphics/icon_question.svg"
alt=""
/></label>
<label for="info-z2z" class="popup-text">
<p class="p-1 br-25 my-1 popup-info-2">
<strong>-ac_private</strong> <br />
All p2p transactions will be shielded
</p>
</label>
</div>
</fieldset>
</form>
<button class="compile button-dark" v-on:click="compile">Compile</button>
</div>
<div class="column">
<div class="flavor-banner animated fadeInDown">
You have selected <span class="bold">{{ flavor }}</span> as your flavor. A wise decision.
</div>
<div class="flex-center">
<label class="switch">
<input type="checkbox" v-model="optionz2z" />
<div class="slider round"></div>
</label>
</div>
</div>
</div>
<div id="meme" class="animated fadeInDown">
<img src=hush-bam.gif>
</div>
<div id="profile" class="profile animated fadeInDown" v-html="command">
</div>
<div id="clapping" class="clapping animated fadeInDown">
<center>
<img src=clapping.gif>
</center>
</div>
</div>
</div>
</div>
<script src='https://cdn.jsdelivr.net/npm/vue@2.6.0'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
<script src='main.js?v=8'></script>
</body>
<div class="w-full p-1 mb-8 br-25">
<li
class="animated fadeInRight pos-rel input-wrapper"
id="algoInput"
>
<div class="flex-center w-full pos-rel">
<input
type="checkbox"
name="info-mining"
id="info-mining"
style="display: none"
/>
<h3 class="flex-center">Mining Algorithm</h3>
<label for="info-mining" style="width: unset"
><img
class="info-btn"
src="./img/graphics/icon_question.svg"
alt=""
/></label>
<label for="info-mining" class="popup-text">
<p class="p-1 br-25 my-2 popup-info-2">
<strong>-ac_algo</strong>
The proof of work algorithm used to mine blocks.
<br />
<br />
<b>RandomX</b> uses the CPU. <br />
<b>Equihash</b> uses ASICs
</p>
</label>
</div>
<select name="algo" v-model="optionAlgo" id="dropdown">
<option value=" -ac_algo=randomx ">RandomX</option>
<option value=" -ac_algo=equihash -ac_nk=200,9 ">
Equihash (200,9)
</option>
<option value=" -ac_algo=equihash -ac_nk=210,9 ">
Equihash (210,9)
</option>
<option value=" -ac_algo=equihash -ac_nk=48,5 ">
Equihash (48,5)
</option>
<option value=" -ac_algo=equihash -ac_nk=96,5 ">
Equihash (96,5)
</option>
<option value=" -ac_algo=equihash -ac_nk=144,5 ">
Equihash (144,5)
</option>
<option value=" -ac_algo=equihash -ac_nk=150,5 ">
Equihash (150,5)
</option>
</select>
</li>
</div>
<div
class="animated fadeInRight flex-center flex-col my-2 input-wrapper"
id="supplyInput"
>
<label>Initial Supply</label>
<input class="input" type="text" v-model="optionSupply" />
<p class="popup-info">
<strong>-ac_supply</strong> <br />
The premine, denominated in coins
</p>
</div>
<div
class="animated fadeInRight flex-center flex-col my-2 input-wrapper"
id="rewardInput"
>
<label>Initial Block Reward </label>
<input class="input" type="text" v-model="optionReward" />
<p class="popup-info">
<strong>-ac_reward</strong> <br />
The reward for finding a block, denominated in satoshis (1
coin = 100000000 sats)
</p>
</div>
<div
class="animated fadeInRight flex-center flex-col my-2 input-wrapper"
id="blocktimeInput"
>
<label>Block time </label>
<input class="input" type="text" v-model="optionBlocktime" />
<p class="popup-info">
<strong>-ac_blocktime</strong> <br />
The time it will take to mine a block in seconds.
</p>
</div>
<div
class="animated fadeInRight flex-center flex-col my-2 input-wrapper"
id="halvingInput"
>
<label>Block Halving Period </label>
<input class="input" type="text" v-model="optionHalving" />
<p class="popup-info">
<strong>-ac_halving</strong> <br />
After how many blocks the block reward will be reduced by
half.
</p>
</div>
</div>
<div
class="animated fadeInRight flex-center flex-col my-2 addnodes"
>
<div
class="animated fadeInRight flex-center flex-col my-2 input-wrapper"
id="pubkeyInput"
>
<h3 class>Addnodes</h3>
<input
type="text"
placeholder="Enter hostname or IP address and hit enter"
v-model="tempAllowlist"
@keyup.enter="addAllowList(tempAllowlist)"
class="text-white-80 input mx-auto"
/>
<p class="popup-info">
<strong>-addnode</strong> <br />
Add trusted nodes to start syncing your chain from.
</p>
</div>
</div>
<ul
class="allowlist"
v-for="item in optionAllowList"
v-bind:item="item"
>
<li>
<div
v-on:click="removeAllowListItem(item)"
class="li-delete"
></div>
{{ item }}
</li>
</ul>
<div class="flex-center w-full pos-rel mt-4">
<input
type="checkbox"
name="info-enable-mining"
id="infoEnableMining"
style="display: none"
class="input-label"
/>
<h3 class="flex-center">Enable Mining</h3>
<label for="infoEnableMining"
><img
class="info-btn"
src="./img/graphics/icon_question.svg"
alt=""
/></label>
<label for="infoEnableMining" class="popup-text">
<p class="p-1 br-25 my-1 popup-info-2 w-90 mx-auto">
<strong>-gen=1</strong> <br />
Enable mining for the node that will be running this command.
</p>
</label>
</div>
<div class="flex-center mb-4">
<label class="switch">
<input type="checkbox" v-model="optionGen" />
<div class="slider round"></div>
</label>
</div>
</div>
<div>
<input
type="checkbox"
id="optionalParams"
style="position: absolute; display: none"
/>
<div class="optional-params pos-rel mt-12 w-90 mx-auto">
<label for="optionalParams" id="optionalLabel"
>Advanced Options</label
>
<div class="py-2">
<div
class="animated fadeInRight flex-center flex-col my-2 input-wrapper"
id="pubkeyInput"
>
<label>Founder's Reward (Percentage)</label>
<input
class="input"
type="text"
width="40"
v-model="optionFoundersPerc"
/>
<p class="popup-info">
<strong>-ac_founders</strong> <br />
This parameter creates a "founder's reward." and requires
<strong>-ac_perc</strong>. If the
<strong>-ac_perc</strong> value is not declared, the
<strong>-ac_founders</strong> value defaults to 35%. Also,
either <strong>-ac_pubkey</strong> OR
<strong>-ac_script</strong> must be set.
</p>
</div>
<div
class="animated fadeInRight flex-center flex-col my-2 input-wrapper"
id="pubkeyInput"
>
<label>Founder's Reward (Satoshis)</label>
<input
class="input"
type="text"
width="40"
v-model="optionFoundersSats"
/>
<p class="popup-info">
<strong>-ac_founders_reward</strong> <br />
This parameter functions in a manner that is similar to a
combination of the ac_perc and ac_founders parameters.
However, the value specified in the ac_founders_reward
parameter is given in satoshis, as opposed to a percentage
of the block reward. Also, the founder's reward does not
accumulate over several blocks.
</p>
</div>
<div
class="animated fadeInRight flex-center flex-col my-2 input-wrapper"
id="pubkeyInput"
>
<label>Percentage Inflation</label>
<input
class="input"
type="text"
width="40"
v-model="optionPerc"
/>
<p class="popup-info">
<strong>-ac_perc</strong> <br />
When used without <strong>-ac_founders</strong> the chain
will follow an inflation-tax model in which the
<strong>-ac_perc</strong> parameter is the percentage added
to the block reward, and the transactions that allocate
these rewards are sent to the
<strong>-ac_pubkey</strong> address.<br />
<br />
For example, if <strong>-ac_reward=100000000</strong> and
<strong>-ac_perc=10000000</strong>, for each block mined the
miner receives 100000000 satoshis (1 coin), and the owner of
the <strong>-ac_pubkey</strong> address receives 10000000
satoshis (0.1 coin, which is 10% of the miner's reward)
</p>
</div>
<div
class="animated fadeInRight flex-center flex-col my-2 input-wrapper"
id="pubkeyInput"
>
<label>Public Key</label>
<input
class="input"
type="text"
width="40"
v-model="optionPubkey"
/>
<p class="popup-info">
<strong>-ac_pubkey</strong> <br />
Designate a public key address for recieving funds from the
network such as a with devtax. This parameter must only be
used if <strong>-ac_perc</strong>,
<strong>-ac_founders</strong>, or
<strong>-ac_import=PUBKEY</strong> is used.
</p>
</div>
<div class="flex-center w-full pos-rel mt-4">
<input
type="checkbox"
name="info-test-chain"
id="infoTestChain"
style="display: none"
class="input-label"
/>
<h3 class="flex-center text-center">Test Mode</h3>
<label for="infoTestChain"
><img
class="info-btn"
src="./img/graphics/icon_question.svg"
alt=""
/></label>
<label for="infoTestChain" class="popup-text">
<p class="p-1 br-25 my-1 popup-info-2 w-90 mx-auto">
<strong>-testnode=1</strong>
Use this for testing. Requires only a single node to start
a chain.
</p>
</label>
</div>
<label class="switch mx-auto flex-center">
<input type="checkbox" v-model="optionTestNode" />
<div class="slider round"></div>
</label>
</div>
</div>
</div>
</div>
</fieldset>
</form>
<button class="compile component-button" v-on:click="compile">
Compile
</button>
<div class="content text-center my-4 mb-8">
<div
id="profile"
class="profile animated fadeInDown"
v-html="command"
></div>
<div class="flex-center">
<button
id="copyCommandBtn"
class="component-button mx-auto"
onclick="copyText()"
>
Copy To Clipboard
</button>
<a
class="component-button btn-sm"
href="#"
>How To Run</a
>
</div>
<div class="flex-center flex-col mt-12">
<h4 class="tet-center">Detailed Documentation and background</h4>
<a
class="component-button m-1"
href="https://git.hush.is/hush/hsc-creator/src/branch/master/docs.md"
>Chain Creator Code</a
>
<a
class="component-button m-1"
href="https://git.hush.is/hush/hush-smart-chains/src/branch/master/README.md"
>Arrakis Spice Chains</a
>
<a
class="component-button m-1"
href="https://git.hush.is/hush/hsc-creator/src/branch/master/hsc-options-explained.md"
>All ASC options</a
>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.0"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="main.js?v=8"></script>
</div>
</body>
</html>

38
main.js
View File

@ -17,12 +17,15 @@ new Vue({
tempAllowlist: '',
customPath: 0,
customMinerToAddress: 0,
optionName: 'TUSH',
optionName: 'COINNAME',
optionAlgo: ' -ac_algo=randomx ',
optionFoundersPerc: '',
optionFoundersSats: '',
optionPerc: '',
optionPubkey: '',
optionReward: '1250000000', // in puposhis
optionz2z: 1,
optionSupply: '21000000',
optionSupply: '0',
optionBlocktime: 60,
optionHalving: 210000,
optionRpcAllowIp: '127.0.0.1',
@ -93,29 +96,48 @@ new Vue({
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":"
+ currentdate.getSeconds()
this.command = "git clone https://git.hush.is/hush/hush3<br/>cd hush3<br/>./build.sh<br/>cd src<br/>./<b>hush-smart-chain</b> -ac_name=" + this.optionName + this.optionAlgo
this.command = "<p class='chain-command' id='commandOutput' >./hush-smart-chain -ac_name=" + this.optionName + this.optionAlgo
+ " -ac_supply=" + this.optionSupply + " -ac_blocktime=" + this.optionBlocktime + " -ac_private=" + this.optionz2z;
this.command += " -ac_reward=" + this.optionReward + " -ac_halving=" + this.optionHalving;
if(this.optionFoundersPerc != '')
this.command += " -ac_founders=" + this.optionFoundersPerc;
if(this.optionFoundersSats != '')
this.command += " -ac_founders_reward=" + this.optionFoundersSats;
if(this.optionPerc != '')
this.command += " -ac_perc=" + this.optionPerc;
if(this.optionPubkey != '')
this.command += " -ac_pubkey=" + this.optionPubkey;
if(this.optionTestNode)
this.command += " -testnode=1";
if(this.optionGen)
this.command += " -gen=1";
/*
if (this.optionAllowList.length != 0) {
this.command = this.conf + "<br /><br />whitelist=" + this.optionAllowList
this.command += " -addnode=" + this.optionAllowList
}
for (var i = 0; i< this.peersList.length; i++) {
if (i == 0) {
this.command = this.conf + "<br />"
this.command += this.conf + "<br />"
}
this.command = this.conf + "<br />addnode=" + this.peersList[i]
this.command += this.conf + "<br />addnode=" + this.peersList[i]
}
*/
this.command += " <p/>";
$('#profile').show()
$('#clapping').show();
}
}
});
function copyText() {
var copyText = document.getElementById("commandOutput").innerText;
// copyText.select();
// copyText.setSelectionRange(0, 99999);
navigator.clipboard.writeText(copyText);
}

1101
style.css

File diff suppressed because it is too large Load Diff