updated chain creator and added walkthrough page
123
how-to-run/index.html
Normal 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
After Width: | Height: | Size: 4.2 KiB |
BIN
img/graphics/button_X_white.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
img/graphics/button_burger.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
22
img/graphics/icon_question.svg
Normal 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 |
BIN
img/graphics/logo_Arrakis_Chain_Creator.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
img/graphics/logo_Arrakis_Spice_Chain.png
Normal file
After Width: | Height: | Size: 118 KiB |
BIN
img/graphics/logo_Arrakis_Spice_Chain_workmark.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
img/graphics/logo_Arrakis_Spice_Chain_workmarklogo.png
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
img/graphics/mobile-sidebar-button.png
Normal file
After Width: | Height: | Size: 962 B |
BIN
img/namibia-2049203_1920.jpg
Normal file
After Width: | Height: | Size: 349 KiB |
BIN
img/screenshots/releases_scrn.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
img/screenshots/ubuntu-1.png
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
img/screenshots/ubuntu-2.png
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
img/screenshots/ubuntu-3.png
Normal file
After Width: | Height: | Size: 4.3 MiB |
BIN
img/screenshots/ubuntu-4.png
Normal file
After Width: | Height: | Size: 3.1 MiB |
BIN
img/screenshots/ubuntu-5.png
Normal file
After Width: | Height: | Size: 2.1 MiB |
BIN
img/screenshots/ubuntu-6.png
Normal file
After Width: | Height: | Size: 2.2 MiB |
BIN
img/screenshots/win-1.png
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
img/screenshots/win-2.png
Normal file
After Width: | Height: | Size: 240 KiB |
BIN
img/screenshots/win-3.png
Normal file
After Width: | Height: | Size: 368 KiB |
BIN
img/screenshots/win-4.png
Normal file
After Width: | Height: | Size: 268 KiB |
BIN
img/screenshots/win-5.png
Normal file
After Width: | Height: | Size: 350 KiB |
BIN
img/screenshots/win-6.png
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
img/screenshots/win-7.png
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
img/screenshots/win-8.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
img/screenshots/win-9.png
Normal file
After Width: | Height: | Size: 473 KiB |
599
index.html
@ -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>
|
||||
|
||||
<div class="flex-center">
|
||||
<label class="switch">
|
||||
<input type="checkbox" v-model="optionz2z" />
|
||||
<div class="slider round"></div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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 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 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>
|
||||
|
||||
|
||||
|
||||
</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
@ -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);
|
||||
|
||||
}
|
||||
|
||||
|