diff --git a/src/App.vue b/src/App.vue
index 0006230..5088486 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,47 +1,81 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/css/stylesheet.sass b/src/css/stylesheet.sass
deleted file mode 100644
index 3c82689..0000000
--- a/src/css/stylesheet.sass
+++ /dev/null
@@ -1,313 +0,0 @@
-$white-text: #fff
-$grey-text: #888
-$border-grey: #97A2A8
-$background: #000
-$panel-background: #191919
-$panel-background-clear: #2d2c2c
-
-$teal: #198a88
-$yellow: #d78716
-$red: #ec4a41
-
-body
- padding: 0
- font-family: 'Lato', sans-serif
- background: $background
- margin: 8em 0
-
-h1, h2, h3, h4, h5, h6, p, label
- margin: 0
- font-weight: normal
-
-[v-cloak]
- display: none
-
-a, a:visited, a:hover
- color: $grey-text
- text-decoration: underline
-
-a:hover
- color: $white-text
-
-.header
- margin-bottom: 8em
- color: $white-text
- font-family: 'Montserrat', sans-serif
- text-align: center
-
- h1
- font-size: 3em
- font-weight: 700
- border: 4px solid $white-text
- width: 33%
- margin: 0 auto
- padding: 1px
-
- p
- font-size: 1.5em
- letter-spacing: 2px
- font-weight: 400
- margin-top: 1em
-
-.panel
- padding: 1.5em 3em
- background-color: $panel-background
- margin-top: 2em
- color: $white-text
- font-weight: 400
- &.error
- background-color: $red
- a, a:visited, a:hover
- color: $white-text
- text-decoration: underline
-
-.description
- p
- margin: 15px 0 20px
- color: $grey-text
-.form
- input
- &[type="text"]
- width: 100%
- color: $white-text
- background: $panel-background-clear
- outline: none
- font-size: 1.3em
- padding: 0.5em
- border: none
- margin-bottom: 10px
- -webkit-appearance: none
- &[type="button"]
- border: none
- outline: none
- color: $white-text
- padding: 0.6em
- font-size: 1.3em
- font-weight: 500
- margin: 1.3em 0 0 0
- cursor: pointer
- -webkit-appearance: none
- background: $teal
- width: 100%
- &:hover
- background: $yellow
- &:disabled
- background: $panel-background-clear
- cursor: auto
- .error-text
- display: none
- font-size: 0.85em
- color: $red
- .error
- input[type="text"]
- border: 1px solid $red
- .error-text
- display: block
- .check
- margin: .5em 0
-
-.checkbox
- margin-bottom: 4px
- padding-left: 30px
- line-height: 27px
- cursor: pointer
- position: relative
- font-size: 1.2em
- color: $white-text
- font-weight: 400
- &:last-child
- margin-bottom: 0
- i
- position: absolute
- bottom: 4px
- left: 17.5em
- display: block
- width: 19px
- height: 19px
- outline: none
- border: 1px solid $border-grey
- &.left
- position: absolute
- bottom: 4px
- left: 0
- display: block
- width: 19px
- height: 19px
- outline: none
- border: 1px solid $border-grey
- input
- + i:after
- content: ''
- background: url("./assets/images/tick-mark.png") no-repeat 1px 2px
- top: 4px
- left: 2px
- width: 15px
- height: 15px
- font: normal 12px/16px FontAwesome
- text-align: center
- position: absolute
- opacity: 0
- position: absolute
- left: -9999px
- &:checked + i:after
- opacity: 1
-
-.threads
- font-size: 1.2em
- h4
- display: inline
- input[type=button].square-btn
- display: inline-block
- width: 24px
- height: 24px
- margin: 0 5px 0 0
- padding: 0
- line-height: 1em
-
-.statistics > div:not(:last-child), .result > div:not(:last-child)
- margin-bottom: 15px
-
-.statistics
- padding-bottom: 3.2em
- > div:not(.percentage)
- clear: both
-
-.probability
- width: 85%
- margin: 5px 0
- height: 18px
- background: $panel-background-clear
- float: left
-
-.probability-bar
- height: 100%
- width: 0
- display: block
- background-color: #d78716
-
-.percentage
- float: right
- width: 15%
- text-align: center
- position: relative
- top: -10px
- left: 15px
- div
- font-size: 0.75em
- h5
- color: $white-text
- font-weight: 500
-
-.output
- font-family: monospace
- font-size: 1.2em
- color: $grey-text
- margin-left: 15px
- word-break: break-all
-
-/*-- Fonts --*/
-
-@font-face
- font-family: 'Lato'
- font-style: normal
- font-weight: 400
- src: local('Lato Regular'), local('Lato-Regular'), url(./assets/fonts/lato-regular.woff2) format('woff2')
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215
-
-@font-face
- font-family: 'Montserrat'
- font-style: normal
- font-weight: 400
- src: local('Montserrat Regular'), local('Montserrat-Regular'), url(./assets/fonts/montserrat.woff2) format('woff2')
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215
-
-@font-face
- font-family: 'Montserrat'
- font-style: normal
- font-weight: 700
- src: local('Montserrat Bold'), local('Montserrat-Bold'), url(./assets/fonts/montserrat-bold.woff2) format('woff2')
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215
-
-/*-- Responsive design --
-
-@media screen and (max-width: 1280px)
- .header h1
- font-size: 2.8em
- width: 35%
-
-@media screen and (max-width: 1024px)
- .header
- h1
- font-size: 2.5em
- border: 3px solid $white-text
- width: 34%
- p
- font-size: 1.4em
- margin-top: 0.8em
- body
- margin: 7em 0 5em 0
- .header
- margin-bottom: 4em
-
-@media screen and (max-width: 768px)
- .header h1
- width: 43%
-
-@media screen and (max-width: 640px)
- .header
- h1
- width: 46%
- font-size: 2.2em
- padding: 8px
- p
- font-size: 1.3em
- margin-top: 0.7em
- body
- margin: 5em 0 4em 0
- .header
- margin-bottom: 4em
-
-@media screen and (max-width: 480px)
- .header
- h1
- width: 65%
- font-size: 2em
- padding: 7px
- border: 2px solid $white-text
- p
- font-size: 1.2em
-
-@media screen and (max-width: 320px)
- .header
- h1
- width: 73%
- font-size: 1.6em
- padding: 6px
- p
- font-size: 1em
-
-/*-- Github corner --
-
-.github-corner
- &:hover .octo-arm
- animation: octocat-wave 560ms ease-in-out
- svg
- position: absolute
- top: 0
- border: 0
- right: 0
-
-@keyframes octocat-wave
- 0%, 100%
- transform: rotate(0)
- 20%, 60%
- transform: rotate(-25deg)
- 40%, 80%
- transform: rotate(10deg)
-
-@media (max-width: 500px)
- .github-corner:hover .octo-arm
- animation: none
-
- .github-corner .octo-arm
- animation: octocat-wave 560ms ease-in-out
\ No newline at end of file
diff --git a/src/css/variables.sass b/src/css/variables.sass
new file mode 100644
index 0000000..09a1fe2
--- /dev/null
+++ b/src/css/variables.sass
@@ -0,0 +1,10 @@
+$white-text: #fff
+$grey-text: #888
+$border-grey: #97A2A8
+$background: #000
+$panel-background: #191919
+$panel-background-clear: #2d2c2c
+
+$teal: #198a88
+$yellow: #d78716
+$red: #ec4a41
diff --git a/src/templates/App.html b/src/templates/App.html
deleted file mode 100644
index 64cffe8..0000000
--- a/src/templates/App.html
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
-
-
-
- Vanity-ETH is a browser-based tool to generate vanity Ethereum addresses.
-
-
Usage
-
- Enter the prefix of your choice below, then click 'generate' to start.
- Ethereum addresses are hexadecimal, which means your prefix can only contain numbers and letters
- from A to F.
- You can increase the number of threads allocated to address generation to be faster, or decrease
- it
- if you computer struggles.
-
-
How it works
-
- You browser is going to generate a ton of random addresses until one of them starts with your
- prefix.
- Everything is computed by your browser, so you should notice a better speed on a powerful
- computer.
-
-
Security
-
- As explained above, everything is computed in your browser. Nothing ever leaves your machine, or
- even your browser tab.
- You can download the latest build of Vantiy-ETH from
- Github and use it
- completely offline.
- Vanity-ETH uses a cryptographically secure pseudorandom number generator (CSPRNG) to generate
- Ethereum addresses.
-
-
-
-
-
-
-
-
- Your browser disallows multi-thread computation when run from a local file.
- Please use the online version at git.io/veth , or use a
- different
- browser.
-
-
- Your browser does not support multi-thread computation.
- Please use a different browser.
-
-
-
-
-
-
-
-
-
-
Difficulty: 1
-
Generated: 0 addresses
-
-
50% probability: 0 addresses
-
Speed: 0 addr/s
-
Status: Waiting
-
-
-
-
-
-
-
-
-
-
Address:
-
Private key:
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/vue/Corner.vue b/src/vue/Corner.vue
index 8b45770..b7aefb4 100644
--- a/src/vue/Corner.vue
+++ b/src/vue/Corner.vue
@@ -1,6 +1,5 @@
-
-
+
export default {}
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/src/vue/Description.vue b/src/vue/Description.vue
new file mode 100644
index 0000000..6e870a9
--- /dev/null
+++ b/src/vue/Description.vue
@@ -0,0 +1,44 @@
+
+
+
+ Vanity-ETH is a browser-based tool to generate vanity Ethereum addresses.
+
+
Usage
+
+ Enter the prefix of your choice below, then click 'generate' to start.
+ Ethereum addresses are hexadecimal, which means your prefix can only contain numbers and letters
+ from A to F.
+ You can increase the number of threads allocated to address generation to be faster, or decrease
+ it
+ if you computer struggles.
+
+
How it works
+
+ You browser is going to generate a ton of random addresses until one of them starts with your
+ prefix.
+ Everything is computed by your browser, so you should notice a better speed on a powerful
+ computer.
+
+
Security
+
+ As explained above, everything is computed in your browser. Nothing ever leaves your machine, or
+ even your browser tab.
+ You can download the latest build of Vantiy-ETH from
+ Github and use it
+ completely offline.
+ Vanity-ETH uses a cryptographically secure pseudorandom number generator (CSPRNG) to generate
+ Ethereum addresses.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vue/Error.vue b/src/vue/Error.vue
new file mode 100644
index 0000000..d279d2b
--- /dev/null
+++ b/src/vue/Error.vue
@@ -0,0 +1,36 @@
+
+
+
+ Your browser disallows multi-thread computation when run from a local file.
+ Please use the online version at git.io/veth , or use a
+ different
+ browser.
+
+
+ Your browser does not support multi-thread computation.
+ Please use a different browser.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vue/Headline.vue b/src/vue/Headline.vue
new file mode 100644
index 0000000..73a4fba
--- /dev/null
+++ b/src/vue/Headline.vue
@@ -0,0 +1,86 @@
+
+
+
+
VANITY-ETH
+
Vanity ETH address generator
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vue/Input.vue b/src/vue/Input.vue
new file mode 100644
index 0000000..0552240
--- /dev/null
+++ b/src/vue/Input.vue
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vue/Result.vue b/src/vue/Result.vue
new file mode 100644
index 0000000..aa05bba
--- /dev/null
+++ b/src/vue/Result.vue
@@ -0,0 +1,27 @@
+
+
+
Address:
+
Private key:
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/vue/Statistics.vue b/src/vue/Statistics.vue
new file mode 100644
index 0000000..32b7f16
--- /dev/null
+++ b/src/vue/Statistics.vue
@@ -0,0 +1,112 @@
+
+
+
Difficulty: 1
+
Generated: 0 addresses
+
+
50% probability: 0 addresses
+
Speed: 0 addr/s
+
Status: Waiting
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file