diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..21b89f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +################################################################################ +# This .gitignore file was automatically created by Microsoft(R) Visual Studio. +################################################################################ + +/.vs/config/applicationhost.config +/.vs diff --git a/css/links.css b/css/links.css index 1cf09d8..fdb2ce6 100644 --- a/css/links.css +++ b/css/links.css @@ -4,13 +4,14 @@ a { text-decoration: underline; cursor: pointer; } + a:hover { color: #8987df; text-decoration: none; } -/* Header Links*/ -a.nav { + /* Header Links*/ + a.nav { position: relative; top: 12px; margin: 10px; @@ -19,13 +20,23 @@ a.nav { letter-spacing: 0.05em; text-decoration: none; } - a.nav:hover { - color: #fff; - transition: all 0.5s ease; - text-shadow: 0px 0px 10px #fff; - } - a.nav:not(:hover) { - transition: all 0.5s ease; + + a.nav:hover { + color: #fff; + transition: all 0.5s ease; + text-shadow: 0px 0px 10px #fff; + } + + a.nav:not(:hover) { + transition: all 0.5s ease; + } + + a.mobile-nav { + position: relative; + color: #e4ebfd; + font-size: 1.2em; + letter-spacing: 0.05em; + text-decoration: none; } /* Social Media Link Image Animation */ @@ -33,6 +44,7 @@ img.social-anim:hover { transition: all 0.5s ease; transform: translateX(-10px); } + img.social-anim:not(:hover) { transition: all 0.5s ease; -} \ No newline at end of file +} diff --git a/css/particles.css b/css/particles.css index 25620bb..91a8446 100644 --- a/css/particles.css +++ b/css/particles.css @@ -1,9 +1,10 @@ /* Wrapper for particles.js */ particles-wrapper { + display: block; position: absolute; top: 0px; width: 100%; - height: 340px; + height: 260px; padding: 0px; margin: 0px; overflow: hidden; diff --git a/css/responsive.css b/css/responsive.css index f7d95fa..9d8c228 100644 --- a/css/responsive.css +++ b/css/responsive.css @@ -1,64 +1,91 @@ /* Responsive Design */ +* { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} + hamburger-menu { display: none; - height: 40px; - width: 40px; - margin: 5px 0px; + position: fixed; + top: 7px; + height: 35px; + width: 35px; + margin: 0px; + padding: 0px; border: 1px solid #e4ebfd; border-radius: 5px; text-align: center; + cursor: pointer; } + hamburger-line { display: none; height: 3px; - width: 26px; - margin: 7px 6px; + width: 22px; + margin: 6px 6px; background-color: #e4ebfd; + border-radius: 1px; content: ""; } -.menu { - position: absolute; - top: 7px; - left: 10px; - padding: 5px; - background-color: #036; - border: solid 1px #fff; - border-radius: 5px; - cursor: pointer; -} -.container { - display: flex; + +ul.nav-menu { + float: right; + display: none; + position: fixed; + height: calc(100% - 80px); + width: 100%; + top: 50px; + left: 0px; + margin: 0px; + padding: 0px; + background: #333; + background: -moz-linear-gradient(90deg, #303 0%, #636 100%); + background: -webkit-linear-gradient(90deg, #636 0%, #636 100%); + background: linear-gradient(90deg, #303 0%, #636 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#330033",endColorstr="#663366",GradientType=1); + text-align: right; } -.main { - width: 60%; - margin-right: 20px; + +.nav-menu.is-open ul { + display: block; } -.sidebar { - width: 40%; + +li.menu-item { + display: block; + height: 50px; + width: 100%; + position: relative; + padding: 12px 20px; + margin: 0px; + background: #636; + background: -moz-linear-gradient(90deg, #969 0%, #636 100%); + background: -webkit-linear-gradient(90deg, #969 0%, #636 100%); + background: linear-gradient(90deg, #959 0%, #636 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#996699",endColorstr="#663366",GradientType=1); + border-bottom: solid 1px #e4ebfd; + list-style-type: none; } -/*@media(max-width: 1024px) { - .container { - flex-direction: column; - } - .main { - width: 100%; - } - .sidebar { - width: 100%; - } -}*/ -@media (max-width: 960px) /*and (-webkit-min-device-pixel-ratio: 2)*/ { - hamburger-menu { - display: block; - } - hamburger-line { - display: block; - } - particles-wrapper { - display: none; + li.menu-item:first-of-type { + border-top: 1px solid #e4ebfd; } - .nav { - display: none; - } -} \ No newline at end of file + + /* Media Queries */ + @media (max-width: 960px) /*and (-webkit-min-device-pixel-ratio: 2)*/ { + hamburger-menu { + display: block; + } + + hamburger-line { + display: block; + } + + particles-wrapper { + display: none; + } + + .nav { + display: none; + } + } \ No newline at end of file diff --git a/css/roadmap.css b/css/roadmap.css new file mode 100644 index 0000000..6212bb9 --- /dev/null +++ b/css/roadmap.css @@ -0,0 +1,189 @@ +* { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} + +h2 { + margin-top: 0px; + padding-top: 0px; + font-size: 1.1em; +} + +p { + text-align: left; +} + +/* The actual timeline (the vertical ruler) */ +.timeline { + position: relative; + max-width: 1200px; + margin: 0px auto; +} + + /* The actual timeline (the vertical ruler) */ + .timeline::after { + content: ' '; + position: absolute; + width: 7px; + background-color: white; + top: 0; + bottom: 0; + left: 50%; + margin-left: -4px; + background-color: #636; + border-radius: 3px; + } + +/* Container around content */ +.container { + padding: 20px 40px; + position: relative; + background-color: inherit; + width: 50%; +} + + /* The circles on the timeline */ + .container::after { + content: ' '; + position: absolute; + width: 25px; + height: 25px; + right: -16px; + background: url('../images/tiny-egem.png') 5px 0px no-repeat; + background-color: #969; + border: 4px solid #636; + top: 40px; + border-radius: 50%; + z-index: 1; + } + +/* Place the container to the left */ +.left { + left: 0; +} + +/* Place the container to the right */ +.right { + left: 50%; +} + +/* Add arrows to the left container (pointing right) */ +.left::before { + content: ' '; + height: 0; + position: absolute; + top: 47px; + width: 0; + z-index: 1; + right: 30px; + border: 1px solid #636; + border-width: 10px 0px 10px 10px; + border-color: transparent transparent transparent #636; +} + +/* Add arrows to the right container (pointing left) */ +.right::before { + content: ' '; + height: 0; + position: absolute; + top: 47px; + width: 0; + z-index: 1; + left: 30px; + border: 1px solid #636; + border-width: 10px 10px 10px 0px; + border-color: transparent #636 transparent transparent; +} + +/* Fix the circle for containers on the right side */ +.right::after { + left: -17px; +} + +/* The actual content */ +.card { + padding: 20px 30px; + background-color: #e4ebfd; + background: -moz-linear-gradient(270deg, #e4ebfd 0%, #c2c9db 100%); + background: -webkit-linear-gradient(270deg, #e4ebfd 0%, #c2c9db 100%); + background: linear-gradient(270deg, #e4ebfd 0%, #c2c9db 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e4ebfd",endColorstr="#c2c9db",GradientType=1); + position: relative; + border-radius: 10px; + border: 4px solid #636; +} + +.container:nth-of-type(even) .card { + background-color: #e4ebfd; + background: -moz-linear-gradient(90deg, #e4ebfd 0%, #c2c9db 100%); + background: -webkit-linear-gradient(90deg, #e4ebfd 0%, #c2c9db 100%); + background: linear-gradient(90deg, #e4ebfd 0%, #c2c9db 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e4ebfd",endColorstr="#c2c9db",GradientType=1); +} + +/* Show accomplished milestones in greyscale */ +.grey-complete { + background: #bbb; + background: -moz-linear-gradient(270deg, #ccc 0%, #999 100%); + background: -webkit-linear-gradient(270deg, #ccc 0%, #999 100%); + background: linear-gradient(270deg, #ccc 0%, #999 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#cccccc",endColorstr="#aaaaaa",GradientType=1); +} + +.container:nth-of-type(even) .grey-complete { + background: #bbb; + background: -moz-linear-gradient(90deg, #ccc 0%, #999 100%); + background: -webkit-linear-gradient(90deg, #ccc 0%, #999 100%); + background: linear-gradient(90deg, #ccc 0%, #999 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#cccccc",endColorstr="#aaaaaa",GradientType=1); +} + +/* Media queries - Responsive timeline on screens less than 660px wide */ +@media screen and (max-width: 660px) { + /* Place the timelime to the left */ + .timeline::after { + left: 31px; + } + + /* Full-width containers */ + .container { + width: 100%; + padding-left: 70px; + padding-right: 25px; + } + + /* Make sure that all arrows are pointing leftwards and gradients go same direction */ + .container::before { + left: 60px; + border: 1px solid #636; + border-width: 10px 10px 10px 0; + border-color: transparent #636 transparent transparent; + } + + .card { + background-color: #e4ebfd; + background: -moz-linear-gradient(90deg, #e4ebfd 0%, #c2c9db 100%); + background: -webkit-linear-gradient(90deg, #e4ebfd 0%, #c2c9db 100%); + background: linear-gradient(90deg, #e4ebfd 0%, #c2c9db 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e4ebfd",endColorstr="#c2c9db",GradientType=1); + } + + .grey-complete { + background: #ccc; + background: -moz-linear-gradient(90deg, #ccc 0%, #999 100%); + background: -webkit-linear-gradient(90deg, #ccc 0%, #999 100%); + background: linear-gradient(90deg, #ccc 0%, #999 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#cccccc",endColorstr="#999999",GradientType=1); + } + + /* Make sure all circles are at the same spot */ + .left::after, .right::after { + left: 14px; + } + + /* Make all right containers behave like the left ones */ + .right { + left: 0%; + } +} diff --git a/css/style.css b/css/style.css index 9b64510..489ee59 100644 --- a/css/style.css +++ b/css/style.css @@ -5,9 +5,32 @@ } /* HTML Element Formatting */ +* { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +img { + border: none; +} + img.screenshot { + width: 100%; + max-width: 590px; + margin-top: 20px; + border-radius: 10px; + box-shadow: 5px 5px 10px 0px #333; + -moz-box-shadow: 5px 5px 10px 0px #333; + -webkit-box-shadow: 5px 5px 10px 0px #333; + } + +p { + margin: 20px 0px 0px 0px; +} + html { scroll-behavior: smooth; } + body { height: 100%; width: 100%; @@ -19,24 +42,13 @@ body { color: #333; font-size: 14px; text-align: left; - letter-spacing: 0.075em; + letter-spacing: 0.08em; -ms-text-size-adjust: none; -webkit-text-size-adjust: none; text-align: left; } -img { - border: none; -} - img.title { - padding-right: 10px; - content: '\A'; - } -p { - margin: 20px 0px 0px 0px; -} -/* Custom Element Formatting */ -header { +nav { height: 50px; width: 100%; position: fixed; @@ -48,64 +60,79 @@ header { background-image: linear-gradient(top, #636 0%, #303 100%); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #636), color-stop(1, #303)); background-image: -moz-linear-gradient(center top, #636 0%, #303 100%); - box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#663366",endColorstr="#330033",GradientType=1); text-align: right; z-index: 500; } + +/* Custom Element Formatting */ +content { + position: absolute; + height: 100%; + width: 100%; + top: 80px; + margin: 0px auto; + overflow: visible; + text-align: left; +} + +footer { + height: 30px; + width: 100%; + position: fixed; + bottom: 0px; + margin: 0px; + padding-top: 8px; + background-color: #636; + background-image: linear-gradient(top, #303 0%, #636 100%); + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #303), color-stop(1, #636)); + background-image: -moz-linear-gradient(center top, #303 0%, #636 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#663366",endColorstr="#330033",GradientType=1); + text-align: center; + color: #e4ebfd; + font-size: 0.9em; + z-index: 500; +} + intro { height: 260px; width: 100%; position: absolute; - top: 80px; + top: 0px; left: 0px; margin: 0px auto; padding-top: 0px; overflow: hidden; - background: scroll 0 0; + border-bottom: 1px solid #333; background-color: #969; background-image: linear-gradient(top, #969 0%, #636 100%); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #969), color-stop(1, #636)); background-image: -moz-linear-gradient(center top, #969 0%, #636 100%); - border-bottom: 1px solid #333; - box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#996699",endColorstr="#663366",GradientType=1); text-align: center; color: #fff; z-index: 100; } + social { display: none; height: auto; width: 42px; position: absolute; - top: 100px; + top: 20px; right: 20px; margin: 0px; padding: 0px; overflow: hidden; text-align: right; - z-index: 300; -} -content { - height: auto; - width: 100%; - position: relative; - top: 340px; - margin: 0px auto; - overflow: auto; - box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - text-align: left; + z-index: 3000; } + section { height: auto; width: auto; position: relative; - margin: 40px 20px 0px 20px; + margin: 40px 20px 20px 20px; padding: 5px 0px; border-top: 1px solid #333; border-bottom: 1px solid #333; @@ -113,22 +140,21 @@ section { font-weight: bold; text-align: center; } - section::before { - content: " "; - display: block; - height: 80px; - margin: -80px 0 0; - visibility: hidden; + + section:first-of-type { + margin-top: 300px; } + arrow { height: auto; width: auto; position: absolute; - bottom: 5px; + top: 2px; right: 10px; font-size: 1.2em; cursor: pointer; } + section-content { display: block; height: auto; @@ -136,59 +162,57 @@ section-content { margin: 0px 20px; position: relative; padding: 0px; - text-align: left; -} -footer { - height: auto; - width: 100%; - position: fixed; - bottom: 0px; - margin: 0px; - padding: 5px 20px 5px 20px; - overflow: hidden; - background-color: #636; - background-image: linear-gradient(top, #303 0%, #636 100%); - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #303), color-stop(1, #636)); - background-image: -moz-linear-gradient(center top, #303 0%, #636 100%); - box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - text-align: center; - color: #e4ebfd; - z-index: 500; + text-align: justify; } /* Formatting Classes */ +.section-anchor { + margin-top: -120px; + height: 120px; + display: block; + visibility: hidden; +} + .clickable { cursor: pointer; } + .bold { font-weight: bold; } + .underline { text-decoration: underline; } + .italic { font-style: italic; } + .shadow { text-shadow: 0px 2px 2px #000; } + .alignleft { text-align: left; } + .aligncenter { text-align: center; } + .alignright { text-align: right; } + .alignjustified { text-align: justify; } + .framepic { border: 1px solid #000; } + .upsize { font-size: 1.2em; } diff --git a/css/team.css b/css/team.css index ec82251..03462e5 100644 --- a/css/team.css +++ b/css/team.css @@ -24,10 +24,12 @@ img.team-member-image { border-radius: 50%; content: '\A'; } + .team-member-name { font-size: 1.1em; font-weight: bold; } + .team-member-content { padding-top: 10px; } diff --git a/css/ticker.css b/css/ticker.css index c30b871..92c9f2c 100644 --- a/css/ticker.css +++ b/css/ticker.css @@ -10,6 +10,7 @@ transform: translate3d(0, 0, 0); visibility: visible; } + 100% { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); @@ -22,6 +23,7 @@ transform: translate3d(0, 0, 0); visibility: visible; } + 100% { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); @@ -34,10 +36,11 @@ ticker-wrapper { width: 100%; overflow: hidden; height: 30px; - background-color: #333; - background-image: linear-gradient(top, #333 0%, #000 100%); - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #333), color-stop(1, #000)); - background-image: -moz-linear-gradient(center top, #333 0%, #000 100%); + background-color: #000; + background: -moz-linear-gradient(180deg, #333 0%, #000 100%); + background: -webkit-linear-gradient(180deg, #333 0%, #000 100%); + background: linear-gradient(180deg, #333 0%, #000 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#333333",endColorstr="#000000",GradientType=1); padding-left: 100%; box-sizing: content-box; -moz-box-sizing: content-box; @@ -64,15 +67,15 @@ ticker { ticker-item { display: inline-block; - padding: 8px 50px 0px 50px; + padding: 8px 10px 8px 10px; + margin-right: 100px; font-size: 1.0em; + background-color: #333; color: #e4ebfd; + border-radius: 10px; } .stat-title { - color: #000; - background-color: #e4ebfd; - padding-left: 5px; - padding-right: 5px; - border-radius: 3px; -} \ No newline at end of file + color: #c9c/*8987df*/; + padding-right: 10px; +} diff --git a/images/egem-bot-qn.png b/images/egem-bot-qn.png new file mode 100644 index 0000000..c769c09 Binary files /dev/null and b/images/egem-bot-qn.png differ diff --git a/images/particles.css b/images/particles.css deleted file mode 100644 index 2f4e336..0000000 --- a/images/particles.css +++ /dev/null @@ -1,8 +0,0 @@ -.particles-wrapper { - /*background-color: #525;*/ - width: 100%; - height: 450px; - padding: 0; - margin: 0px; - overflow: hidden; -} \ No newline at end of file diff --git a/images/roadmap.png b/images/roadmap.png deleted file mode 100644 index 80fb3ea..0000000 Binary files a/images/roadmap.png and /dev/null differ diff --git a/images/tiny-egem.png b/images/tiny-egem.png new file mode 100644 index 0000000..b6f42ef Binary files /dev/null and b/images/tiny-egem.png differ diff --git a/images/white-paper-header.jpg b/images/white-paper-header.jpg new file mode 100644 index 0000000..9993368 Binary files /dev/null and b/images/white-paper-header.jpg differ diff --git a/index.html b/index.html index fc348e5..3392b7e 100644 --- a/index.html +++ b/index.html @@ -8,11 +8,12 @@ + of Ethereum, such as limited transactional throughput. It also offers quarry nodes that pay dividends to node holders." /> EtherGem (EGEM) - Home + @@ -23,62 +24,75 @@ - -
+
+ + + - Current Era: (0) + Current Era:0 - Block Height: 811245 + Block Height: - Est. EGEM Supply: 9,000,087 + Est. EGEM Supply: - Market Cap (USD): $244,836 + Market Cap (USD):$ - Average Exchange Price (USD): $0.02563453 + Average Exchange Price (USD):$ - - - - - - - - - - -
-
- - - - -
+ + + + + + +
+
+ +
+ +
+ About EGEM ▲ @@ -106,19 +120,71 @@ while continuing to rely on a solid foundation. The sidechain and token will be available shortly after the mainnet release.

- View the EtherGem white paper. + View the EtherGem white paper.

-
+
+ Project Roadmap
- +
+
+
+

Genesis block

+

+ Stable EGEM blockchain with 13 second average block time, web wallets, and basic explorer (Initial Launch) +

+
+
+
+
+

Desktop wallet Opal alpha release

+

+ A wallet we can grow with to add the upcoming integrated subchain and works on all platforms +

+
+
+
+
+

Quarry nodes

+

+ Master (Quarry) nodes implemented, community bots for node management (Discord), game bots (Discord), and automated payments for node holders +

+
+
+
+
+

Explorer and wallet enhancements

+

+ Upgraded explorer, mobile wallets and Opal wallet beta release +

+
+
+
+
+

Sapphire

+

+ Sapphire is an integrated sub-chain that interweaves the mainchain on EGEM and includes a DEX. It is dual-mineable with EGEM and companies can + ICO on the multicurrency wallet and DEX - paying in EGEM, with proceeds enhancing the quarry node payments +

+
+
+
+
+

Product integration and growth

+

+ Fiat to crypto conversion capabilities, ATM development and implementation, integration of both with DEX +

+
+
+
-
+
+ Master Nodes ▲ @@ -126,8 +192,8 @@

- Interested in earning a return on your EGEM holdings? EGEM quarry nodes allow node operators to receive EtherGem in exchange for running a node. There are - currently two tiers of nodes: + Interested in earning a return on your EGEM holdings? EGEM quarry nodes (a form of master node) allow node operators to receive EtherGem in exchange for + running a node. There are currently two tiers of nodes:

  • Tier 1 - 10000 EGEM Collateral
  • Tier 2 - Tier 1 Node & 30000 EGEM Collateral @@ -136,8 +202,16 @@ their holdings as they acquire more EGEM. Click here to access the GitHub code for setting up a node.

    +

    + EtherGem has a full-service Discord bot that allows you to manage your node(s). You can perform such actions as: registering a node, changing the IP address + of a node, turning automatic payments on/off, checking your wallet balance, and much more! +

    +
    + EGEM Quarry Node Bot +
    -
    +
    + Exchanges ▲ @@ -152,13 +226,14 @@ Graviex MapleChange - + -->
    - ©2018 The EtherGem Project, All Rights Reserved. + ©2018 EtherGem, All Rights Reserved.
    + diff --git a/js/blockchain.js b/js/blockchain.js deleted file mode 100644 index 880e128..0000000 --- a/js/blockchain.js +++ /dev/null @@ -1,96 +0,0 @@ -/* ---- particles.js config ---- */ -particlesJS("particles-js", { - "particles": { - "number": { - "value": 150, - "density": { - "enable": true, - "value_area": 1000 - } - }, - "color": { - "value": ["#e4ebfd", "#e4ebfd"] - }, - "shape": { - "type": "polygon", - "stroke": { - "width": 0, - "color": "#e4ebfd" - }, - "polygon": { - "nb_sides": 16 - } - }, - "size": { - "value": 2, - "random": true, - "anim": { - "enable": false, - "speed": 3, - "size_min": 1, - "sync": false - } - }, - "line_linked": { - "enable": true, - "distance": 200, - "color": "#e4ebfd", - "opacity": 0.5, - "width": 1 - }, - "move": { - "enable": true, - "speed": 1, - "direction": "left", - "random": true, - "straight": true, - "out_mode": "out", - "bounce": false, - "attract": { - "enable": false, - "rotateX": 600, - "rotateY": 1200 - } - } - }, - "interactivity": { - "detect_on": "canvas", - "events": { - "onhover": { - "enable": true, - "mode": "grab" - }, - "onclick": { - "enable": false, - "mode": "repulse" - }, - "resize": true - }, - "modes": { - "grab": { - "distance": 150, - "line_linked": { - "opacity": 1 - } - }, - "bubble": { - "distance": 400, - "size": 40, - "duration": 2, - "opacity": 8, - "speed": 3 - }, - "repulse": { - "distance": 200, - "duration": 0.4 - }, - "push": { - "particles_nb": 4 - }, - "remove": { - "particles_nb": 2 - } - } - }, - "retina_detect": true -}); \ No newline at end of file diff --git a/js/functions.js b/js/functions.js index 6cd12cb..6dc63c0 100644 --- a/js/functions.js +++ b/js/functions.js @@ -3,7 +3,7 @@ history.go(1) // Scroll to top of page $(document).ready(function () { $('.scrollTop').click(function () { - $('html, body').animate({scrollTop: 0}, 0); + $('html, body').animate({ scrollTop: 0 }, 0); return false; }); }); @@ -11,20 +11,21 @@ $(document).ready(function () { // Fade in logo, and social media links $(document).ready(function () { $('.egem-logo').delay(500).fadeIn(1000); - $('.social-media').delay(500).fadeIn(1000); + $('.social-media').delay(750).fadeIn(1000); }); -// Fade out coin info on scroll +// Show mobile nav when clicking on hamburger and hide when a link is selected $(document).ready(function () { - $('.coin-info').delay(1000).fadeIn(1000); - $(window).scroll(function(){ - $(".coin-info").css("opacity", 1 - $(window).scrollTop() / ($('.coin-info').height() / 1)); + $('hamburger-menu').add('.mobile-nav').on('click', function () { + $('.nav-menu').slideToggle(500); + }); + $('hamburger-menu').add('.mobile-nav').on('tap', function () { + $('.nav-menu').slideToggle(500); }); }); // Open new window -function popup(url) -{ +function popup(url) { var width = 950; var height = 450; var left = (screen.width - width) / 2; @@ -39,8 +40,7 @@ function popup(url) params += ', status=yes'; params += ', toolbar=yes'; newwin = window.open(url, 'windowname5', params); - if (window.focus) - { + if (window.focus) { newwin.focus() } return false; @@ -56,38 +56,30 @@ function popup(url) //} // iDevice handling function -function iDeviceHandler() -{ - if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) - { +function iDeviceHandler() { + if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) { document.getElementById('iDeviceMusic').style.display = "block"; return true; } - else - { + else { document.getElementById('FlashMusic').style.display = "block"; } } // Div display functions -function hideContent(divId) -{ +function hideContent(divId) { document.getElementById(divId).style.display = "none"; } -function showContent(divId) -{ +function showContent(divId) { document.getElementById(divId).style.display = "block"; } -function toggleDisplay(divId) -{ - if (document.getElementById(divId).style.display == "none") - { +function toggleDisplay(divId) { + if (document.getElementById(divId).style.display == "none") { document.getElementById(divId).style.display = "block"; } - else - { + else { document.getElementById(divId).style.display = "none"; } } @@ -158,23 +150,23 @@ function getBrowserName(element) { if (navigator.userAgent.search("MSIE") >= 0) { browserName = "IE"; } - // Check for Chrome + // Check for Chrome else if (navigator.userAgent.search("Chrome") >= 0) { browserName = "Chrome"; } - // Check for Firefox + // Check for Firefox else if (navigator.userAgent.search("Firefox") >= 0) { browserName = "Firefox"; } - // Check for Safari + // Check for Safari else if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") < 0) { browserName = "Safari"; } - // Check for Opera + // Check for Opera else if (navigator.userAgent.search("Opera") >= 0) { browserName = "Opera"; } - // Browser is Other + // Browser is Other else { browserName = "Other"; } @@ -182,13 +174,11 @@ function getBrowserName(element) { } // Returns the current time to the specified element in 24 hour format -function getTime(element) -{ +function getTime(element) { var currentTime = new Date(); var hours = currentTime.getHours(); var minutes = currentTime.getMinutes(); - if (minutes < 10) - { + if (minutes < 10) { minutes = ("0" + minutes); } currentTime = (hours + ":" + minutes); @@ -196,18 +186,15 @@ function getTime(element) } // Returns the current date to the specified element -function getDate(element) -{ +function getDate(element) { var currentDate = new Date(); var month = (currentDate.getMonth() + 1); var day = currentDate.getDate(); var year = currentDate.getFullYear(); - if (month < 10) - { + if (month < 10) { month = ("0" + month); } - if (day < 10) - { + if (day < 10) { day = ("0" + day) } currentDate = (month + "/" + day + "/" + year); @@ -215,15 +202,13 @@ function getDate(element) } // Adds 0 in front of single digits in time and date strings -function pad(str, max) -{ +function pad(str, max) { str = str.toString(); return str.length < max ? pad("0" + str, max) : str; } // Formats the time into hh:mm -function formatTime(timeStr) -{ +function formatTime(timeStr) { var parts = timeStr.split(":"); parts[0] = pad(parts[0], 2); parts[1] = pad(parts[1], 2); @@ -232,8 +217,7 @@ function formatTime(timeStr) } // Formats the date into mm/dd/yyyy -function formatDate(dateStr) -{ +function formatDate(dateStr) { var parts = dateStr.split("/"); parts[0] = pad(parts[0], 2); parts[1] = pad(parts[1], 2); diff --git a/js/particles-config.js b/js/particles-config.js index 014e4e4..c99c301 100644 --- a/js/particles-config.js +++ b/js/particles-config.js @@ -1,11 +1,11 @@ -/* ---- particles.js config ---- */ +// ---- particles.js config ---- particlesJS("particles-js", { "particles": { "number": { - "value": 50, + "value": 75, "density": { "enable": false, - "value_area": 500 + "value_area": 750 } }, "color": { @@ -14,25 +14,25 @@ particlesJS("particles-js", { "shape": { "type": "circle", "stroke": { - "width": 0.5, + "width": 1, "color": "#e4ebfd" }, "polygon": { "nb_sides": 16 }, "image": { - "src": "none", - "width": 10, - "height": 10 + "src": "none", + "width": 10, + "height": 10 } }, "opacity": { - "value": 0.25, + "value": 0.5, "random": true, "anim": { "enable": true, - "speed": 0.25, - "opacity_min": 0.1, + "speed": 0.5, + "opacity_min": 0.25, "sync": true } }, @@ -41,12 +41,12 @@ particlesJS("particles-js", { "random": true, "anim": { "enable": true, - "speed": 0.25, + "speed": 0.5, "size_min": 0.5, - "sync": true + "sync": false } }, - + "line_linked": { "enable": true, "distance": 200, @@ -84,20 +84,20 @@ particlesJS("particles-js", { }, "modes": { "grab": { - "distance": 200, + "distance": 150, "line_linked": { "opacity": 1 } }, "bubble": { - "distance": 400, - "size": 40, + "distance": 150, + "size": 50, "duration": 2, "opacity": 8, "speed": 3 }, "repulse": { - "distance": 200, + "distance": 150, "duration": 0.5 }, "push": { diff --git a/js/xhr.js b/js/xhr.js index 4b73b98..87eab52 100644 --- a/js/xhr.js +++ b/js/xhr.js @@ -1,31 +1,31 @@ -// *********************************** // Call REST API to retrieve coin info -// *********************************** -/*function getCoinInfo() { + +function getCoinInfo() { var xhr = new XMLHttpRequest(); - var url = 'http://api.egem.io/api/v1/egem_prices'; + var url = 'https://api.egem.io/api/v1/egem_prices'; xhr.onreadystatechange = function () { if (this.readyState == 4 && this.status == 200) { - var coinArr = JSON.parse(this.responseText); - parsedResponse(coinArr); + var coinResponse = JSON.parse(this.responseText); + var blockHeight = parseFloat(coinResponse.BLOCK_HEIGHT).toFixed(); + var totalSupply = parseFloat(coinResponse.TOTAL_EGEM_SUPPLY).toFixed(); + var marketCap = parseFloat(coinResponse.MARKET_CAP_USD).toFixed(2); + var averageUSD = parseFloat(coinResponse.AVERAGEUSD).toFixed(4); + + document.getElementById('block-height').innerHTML = blockHeight; + document.getElementById('total-egem-supply').innerHTML = totalSupply; + document.getElementById('market-cap-usd').innerHTML = marketCap; + document.getElementById('average-usd').innerHTML = averageUSD; } }; xhr.open("GET", url, true); xhr.send(); - function parsedResponse(arr) { - var out = ""; - var i; - for (i = 0; i < arr.length; i++) { - out += 'arr[i]' + arr[i].display; - } - document.getElementById("id01").innerHTML = out; - } - /*try { + try { // Compliant browsers xhr = new XMLHttpRequest(); } + catch (e) { try { // IE7+ @@ -33,21 +33,7 @@ } catch (e) { // AJAX is not supported - console.log("AJAX is not supported. Please upgrade your browser!"); - } - } - */ -$(document).ready(function () { - // Get coin info - $.ajax({ - url: 'http://api.egem.io', - dataType: 'jsonp', - crossDomain: true, - type: 'GET', - data: '/api/v1/egem_prices'}).then(function(coinData) { - $('.block-height').append(coinData.BLOCK_HEIGHT); - $('.total-egem-supply').append(coinData.TOTAL_EGEM_SUPPLY); - $('.market-cap-usd').append(coinData.MARKET_CAP_USD); - $('.average-usd').append(coinData.AVERAGEUSD); - }); - }); \ No newline at end of file + alert('AJAX is not supported. Please upgrade your browser!'); + }; + }; +}; \ No newline at end of file diff --git a/web.config b/web.config new file mode 100644 index 0000000..ff851fe --- /dev/null +++ b/web.config @@ -0,0 +1,4 @@ + + + + diff --git a/whitepaper.html b/whitepaper.html new file mode 100644 index 0000000..b08874d --- /dev/null +++ b/whitepaper.html @@ -0,0 +1,119 @@ + + + + + + + + + + + EtherGem (EGEM) - White Paper + + + + + + + + + EtherGem White Paper Header + +

    + The EtherGem Whitepaper is currently being updated to include the details of our integrated subchain. While this is in progress, here are + some basics about the EGEM Chain: +

    +

    + Ethergem is the foundational currency platform with an integrated subchain that starts by replicating the stable ethereum core to avoid + a reinvention of the wheel and focus on the solutions needed for a decentralized Marketplace. The integration of a subchain allows for + tokens to become coins with their own blockchain and consensus while maintaining the dapp infrastructure we have become accustomed to. + The resulting chain structure adds enhancements to scalability, transactional throughput, and technical capabilities available on very + few platforms in today's crypto environment. +

    +
    + +
    + + I + + ▲ + +
    + +

    + EtherGem, "EGEM," is first and foremost, a pure community coin with no pre-mine. True to its roots as a cryptocurrency, the Proof of Work mining + community will always be a part of EGEM's future and is the foundation of the EGEM launch. There is no ICO on EGEM and EGEM is its own primary + blockchain, not just a token or concept on another chain. The EtherGem blockchain is an Ethereum network, meaning it starts with the tested and proven + Ethereum (as in ETH) core technologies and builds from there. Technically, EGEM is an Ethereum chain as described in the yellow paper, with EIP150, + EIP155, EIP158 applied from block 0. Block Rewards have 7 eras of reduction, including a dev reward enabled after block 5000. Developers and Community + Managers are bound by a continuity agreement to maintain the network, community, and coin. There is no cap to EGEM at the moment. A monetary cap will be + put in place when the community determines that the logical progression would be to cap the coin. +

    +
    +
    + + II + + ▲ + +
    + +

    + Working Product and Community came first. +

    +

    + EtherGem developers were already working on production ethereum products, so our roadmap begins with that core and community. That means we inherited all + of the Ethereum stable core, smart contracts, and tokenization capabilities, with an altered difficulty that produces a shorter block time (13 seconds). + We began adding enhancements like the Quarrynodes and integrated subchain. Since March (our launch) we have been listed on multiple exchanges, refined + our stable core, released the Quarrynodes, a custom desktop wallet (Opal), built a terrific discord and telegram community, attended the Blockchain + World Conference, hosted an ICO (Validity - formerly Division X) on our chain, developed the integrated subchain in the labs, we are operating on + Trezor, and are recognized by CoinMarketCap, and MyEtherWallet. We built an entire new block explorer with api endpoints for continued development around + the EGEM chain, produced a mobile wallet approved by the App Store, added continuous community to chain interaction with discord bots, and have planned + for a fantastic 2019. It is now time to formalize our plans and hidden technology in the upcoming whitepaper. The plans for this release are in sync with + the Sapphire testnet and should be in the next quarter. At that time we will update the roadmap to reflect the confidential aspects related to these + projects. +

    +
    +
    + + III + + ▲ + +
    + +

    + An "applied technologies peernet" is the EtherGem blockchain's integrated subchain structure. Dual mining EtherGem and an integrated coin on Claymore is + something new. The EGEM integrated subchain (code named Sapphire) is designed to be a platform that enhances the EGEM experience by allowing other coins + to list on it as a Decentralized Exchange (DEX). Sapphire is very much an integral part of ongoing mainchain development where peers can implement new + technology while continuing to rely on a solid foundation. The Sapphire subchain is currently in late stage development and early testing in the EGEM + labs. We expect to see this product release over the next quarter. A lot of excitement is surrounding the Sapphire subchain because early EGEM miners and + HODLers get a 2:1 Sapphire : EGEM airdrop at a to be released snapshot. Combined with the Quarrynodes, we feel that the sponsored Sapphire expansion will + bring the EtherGem chain into mainstream use. +

    +
    +
    + + IV + + ▲ + +
    + +

    + A Quarry Node (QN) is the backbone of the EtherGem ecosystem. QNs function as masternodes: user maintained virtual private servers that require EGEM + collateral [10k primary + 30k secondary] and in return for supporting the network's transactions, they earn the holder a daily fixed ammount of EGEM + income. While Sapphire (the subchain) is in beta, the QN's reward come from the DevFund. After Sapphire is released, the goals for the QNs is to provide + rewards will be added based on the EGEM network's transactions and the fees paid for the DEX listings. A Sapphire Sponsor Node (SpN) is similar to a + Quarry Node, but instead of EGEM they will require some Sapphire collateral locked. These VPS are going to support the subchain infrastructure while + providing the holders with Sapphire rewards. The ammount of Sapphire collateral required for a SpN will be calculated before release, based on the 2:1 + (SPHR:EGEM) airdrop. A single Quarry Node and a Sapphire Sponsore Node will be able to coexist on the same VPS, providing both services to the network. +

    +
    +
    + + + \ No newline at end of file