From f212f69360e506562fb24f83c3512082cff87857 Mon Sep 17 00:00:00 2001 From: Derek May <32908855+riddlez666@users.noreply.github.com> Date: Sun, 25 Feb 2018 07:58:29 -0800 Subject: [PATCH 1/5] Add menu links - price feature - jquery - coinmarkets widget --- views/layout.pug | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/views/layout.pug b/views/layout.pug index b13d83f1..61ef692a 100644 --- a/views/layout.pug +++ b/views/layout.pug @@ -7,11 +7,17 @@ html(lang="en") // The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags meta(name='description', content='The explorer for the Ellaism blockchain') + meta(name='author', content='ellaism') + meta(name='keywords', content='ethereum, explorer, blockchain, Ellaism , Ella, etherchain, cryptocurrency, cryptocurrencies, bitcoin') - title Ellaism Explorer + title Ellaism Block Explorer link(rel='stylesheet', href='/stylesheets/theme.css') link(rel='stylesheet', href='/stylesheets/style.css') + script(src='/js/analytics.js') + script(src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js") + script(src="https://files.coinmarketcap.com/static/widget/currency.js") + script(src='/js/price.js') link(rel="icon", type="image/png", href="https://www.gravatar.com/avatar/98abb59df18a837592a8079e31fd9c47?s=16", sizes="16x16") link(rel="icon", type="image/png", href="https://www.gravatar.com/avatar/98abb59df18a837592a8079e31fd9c47?s=32", sizes="32x32") @@ -60,6 +66,34 @@ html(lang="en") a(href='/contract/verify') Verify Contract li a(href='/signature/verify') Verify Signature + li + a(href='https://ellaism.github.io/ellawallet/') Web Wallet + li + a(href='https://stats.ellaism.org/') Network Stats + li.dropdown + a.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-haspopup='true', aria-expanded='false') + | Pools + span.caret + ul.dropdown-menu + li + a(href='https://pool.ellaism.org/') Dev Pool + li + a(href='https://pool.ellaism.io/') Ellaism.io + li + a(href='http://ella.minerpool.net/') MinerPool + li + a(href='http://ella.cryptobitpool.eu/') Cryptobitpool + li + a(href='http://ella.pool.sexy/#/') Pool Sexy + li + a(href='http://ella.cryptopools.info/') Cryptopools + li + a(href='https://ella.epool.io/') Epool.io + li + a(href='http://ellaismpool.com/') Ellaismpool + li + a(href='https://minerpool.net/pools/ellaism/') Full list + form.navbar-form.navbar-right(action="/search", method="POST") .form-group @@ -80,5 +114,5 @@ html(lang="en") hr footer p - a(href="https://github.com/ellaism/etherchain-light") Etherchain Light + a(href="https://github.com/ellaism/etherchain-light") Ellaism Block Explorer. | | #{nodeStatus.version} | #{nodeStatus.nbrPeers} Peers connected From 67ed9ce22013210d58afbdaa7059139d02a4d81a Mon Sep 17 00:00:00 2001 From: Derek May <32908855+riddlez666@users.noreply.github.com> Date: Sun, 25 Feb 2018 08:01:46 -0800 Subject: [PATCH 2/5] Add files via upload --- public/siteicon.png | Bin 0 -> 7123 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/siteicon.png diff --git a/public/siteicon.png b/public/siteicon.png new file mode 100644 index 0000000000000000000000000000000000000000..37fc060d31c05f89cf09857b52cad26346a0e481 GIT binary patch literal 7123 zcmV;^8!Y6BP)85u2&)2o-n^TOqMhA%=7Ng zd;*>HwV-}7R=(dbxM^imujDTG`P%A5o$@?oXFRD1HKS3tZdZN=$zN^Wz4It)<)vkMd?y64(*bzV>~Ev!5OsWpGFJhR%z$Sz zXRq42`~oRNrvp%RD!;d861=$ICnZ`RCQChp5NQ0M1;&stY=%S9^GBXEbj$Lkb^l`E z-d?L#?v$;vWri_!5CCv^TnK=yEo=2#e$~CSG~Ss^xzhmnL>rpgma_r&cxQr6q5I`y|I6`xgTz%p8q=#}vlXGIb|e>H`5V_7W@vzzh(fAZ1d&lPpR*Lu#|%0lZ-BIcSm1 zKQhLQ3Q!VzgRkwF0DNQmZ_aGIxo2sa-rpeZR{$@Vbq4;l<*5;d{Amo9q16H(lC9)^ z%d?paR&H5wo|NLB6TtB`qjB(IB?Xerof4uT;vIj~FNJxa5CT#Nm*M>fJDI-YXO8~o z1Mq;u3v?#Gd6tA2;s^ytssKVp;OsiQm;nxtD=DCr1O&=j{atqz7Q6ZXQ~*wUavVwv z^tTlF-yA96N&zJVq>vEeLs%HvuaW{1*z0T z37o4$$RMGzz)69uDWiiaOCceJgi-=ZDyWc&S}SNNp(KVY<;|M?z!dqF1aQL4Dh%vb zHb_d$kdRVK1r@Om0Rsc@f~{jVD20HM0k~2MNGWpsp@NbM08LD(wI^RR`^>K%fMd=) zv>=fu?v^aO1>gnji-6M+!yq9cAaYt)LLdv8%rRf3RA|Nuj#f}gxyE|GsyL`?-}&{E zzB&Nj^Umdvj=fqy9OqDYDeH8{3rDUZW6F2j_ z2gt7kfD7s;qo*u6(NS`$f|LQ%0_Fq&im-1Wvdj|*-)9*Zf+r*JLPmB3QA%j307>Vy z;{EU6@x)B|r3P?8{Ur4EdX*`K+rZF4gl+qZ;;YDl7_u$)5v!F9 z|GMNEqRYn0@ikRnUH~ttmA# zl|*XH=2X*~+UmvGp5qts`rKO?3)W0Vk5u=j?|%F9U1ey$Yq7 z;-j^TXJssNfA4g!(x~0=jkJ_gROpM)N%vV2dbFINyV1Vmf}z0qal%kMQL8rM#&n1^|*FGZ}mOR15` zdy`)3^nisnyBV;NQdbvwz2|0BqnSGLfw1*eg?>Hy$hwBNFU;7~T}sNht2G=)!Bs(B z9Cu?YyL8PTv+ljr>V?&daN~cShhovCm*vbOLhx`fK+K*MnB|JZ?L~*k-4iS3?f+)N z)JMjnD3%xiWgaA=iA3ZCt#^hY>dT5oe}kXnD_3b@U~Ka&rdyJtvNbks7fTUGqRhUmKX#B&4@;j}$jQ zm^PVF25ca8b^loZxf@$InW-Zmz_=-=x*77Sr4rlAdl&!ut{*>c#@AG#qIW;Jdi(MV zeahUWrHs3dvpU}`7}LB{tXx>V2;*z2P+q17#Jk96090zJvT0Hdkg!CJY{d;;GIrn2 zrc`?2^hNuQffHs{p|mu=hjo&_Vc6@8wOykeju7}JVuoQ0%ND*hrB;|x+^QFU=lUa> zCRWVD*r`Xg*cRuxG%~}5Q1eT0z%5H(SZRKF(c?I;`ZQ!b@29>s*OH}C=~QO-5vLA* zZQ=Aq=zU~&t|%Yy)~-}z1A_+@<`taX+$i6!oxTX;Yeu82Ob>waAG1V*ISA{pM6ewA zNox%(S@_1!^Ncqd${&s@uqody6doce8dcV_oZzBN;$ zG(`xItDPzNiTwY(f94+z0NnP-RJnG0ef}>me`q%VjGs9gU5jlcl($F<(O>0MCkPqH z%pi(bXkdxpTMJ@r0XdT$oB!Xbv@ucY^SLr`LEU9YZE*9qip@1XGPe*>33BQQj&d>} zxZ7cLwPaynVJKjt4{v14PV+)pMV}qB&iVt2D!TcbHteJoOY1P_x6|eO+v{fe#=nZ0 zRc`%3Oea`tT8Eu7__eQ}Jb>q3_B-x>OyA6krF9rzQ-xT*8I-2hCz)v=LJQzLZ;C4Z<4$2_l$Q16X$U|&T{lGIMK+*Fu@WBfQ2QNVS*omCxmlTi7cCa z&1rX=@in7y`0&B*x`s8gJU??ahu~#1jkq~z(Nz#@yx8HCtsE^Y45rAX?tAN zus?e?|N_}&YDVzP; zOKZ)FrFA%e!UXyLwz@f<@va0zMR{FY3o8UKmxICBP7u?vEZCK#{`~f`dLA^QzwH_? zT$Zt^u9nO(#3Uk%uteD#OB{e`DYTA|k;XDCSulq|kRgcZK+k5*+TOZp$FNa{EFXGO zC3lR}?R?TJce%O61IP!C(O+r86Uz?siKo zmhqM^Yd}61#v7Wq&+vTj8fM6k8L98Zc?&>*T%~{BHC{Nwk7qmp$cwvfLweIqK6%$m z0g3Q@1Vk9*BC|#qSUAg22Dka8b}clfm=k-TFjhD%j)Dyj-uO&=22QA{!Z*JAb(j)= zcnZls7-Orz;gB}4pSHnl4im$V1Vu@6cyg9GOrk@dC)6$7(&ayU=k*Q#w)H7g9eS30 zv;K{_p2_?O;4Je#%@*V(5SHmU%cjd&M_=&5j7f9(Yv1f|3-XGVwR$c2zBR`Xv4~h` zvuR9}%0%qs@RscDvjAoYL-x>&O;?dLD~~>9=-MG82V%w2I;d$+o`-?~@dQfJH>Par zH$>E@O&%pe+U4#$Dh6^)Hw4cz!+=17jg;<;VwC?(Iw`YleG1*(9*MuL{>!Z?Fa0BC z$RH@~88AM@F-c6r-`%i0@2HVOUwUxnGj`C3gKTl4+n6*@F6#qRw!TJ_w)uV|OJRz5YE1 z{^h`<%V}qNJ9Tvmmu76LI}snj%%4j;O$fkooq5Gwx?R0JvnliA`J>=8^^|X?-ujVG z-YkF}DL4RHw9gk1d2&GjQ?L(`vg|PyIX^Gi(@NhZjWcoMYpwNa#nL(qJ@MdVWzo>5 zclix(S+>K8xUh`{d*3+7ZL-kUqnH*x+r>oHXG8sGa3<`R;#Q%VcIr2v>$ctew87eN?z`_L*q*cMaI>@4PKzywkz$ zODZ8mSlkCRj+6pQM)Ta9D4DH|8GtZ}SfYAx`QdZxHoR{H1j^hVi4S(HpOf}7S9DBc zK01iB1vDW*aX0qsf-Z&EWn?PJV4Qg3F!=$mx*}sTw+e#WahAo5wtxo?tE6DA!ntuX z_p_xSt(_-ba;KD_aLu$+?%jJL{pJg+al}c38&5p+xJN!{*tpxW9mdRwsGo)q93>IT z%M_eYW~OykEfo#8vkC$!ge0;jHl-VQP_IK?-m$xpT5XGe!Xc+TzhV2jVnb$FI10}3 ze|uIUxj{q-n79+WbJP*1UA3n1z0Aqy_eH;M1La1s>RLuhQ1L%+`b+2t|{N=@uesm?Wd}$q?edrZB@4_*!?MQB4V%Z)| zL}h>wA{&uZR-fl|1Ww9!TQu|*LP$&In>$ktsmh*%Uc2+hf1tv{6!q-d`=ykZEHu_0 zh3G?ahUrl&s;v?MAO+>Q@jLsJ_Pybq?aMQ@(--56b54^R#k*IKHM0eT>x95LIp(Xw zLB5hXE&y#eClIoSRwF=CsW;*x@7%tvhdh1F88_43YT^&Ag?k@a!g;dGrqZruwQ19$ z4clQ#3ayods{_V4T4yB{u99%V;{h83(~j^#6gs4ms~i!#bX50I^Im@8?aacDdCc|`rxD+qbp||@Db3iXUqR40S}CnnAaGPl zW&KR9X++7Z4ckaTM}*gE>5jek$`}70P4uGa*qq-^mw#QoY>wx9S24407eXYPn2z0k zRORv4y|v|aib6`%J)XPl{2@Lvk0{7Nk-yVIwUd!>_+@iiZ6@qd8gLp?J}OPuAHM(E zj;4FB|KsO77ruYmGmyU1&^^D`#d%I*vZGZ~TOd(zRNH_%+G36aS8KRh!%+&Z<7{%B z_*kzw@%L<0+)$9X?@x0905@DZlU(6cyW07M$VnlD09@_f-o?$IcEhDJskV9%dX|>! z;(~&LNOADSlExMJs$i_EowZtMxYB`^8jf;;b5r4ask56_8jg~1mDA$N_$7`lxuovZ z?VlLD&pefzP%|2Zr5HqpKY2JR(>O3CvZst2&}VzE1{*4FO^?k-YM+FKk=A z@H0FW|CuX+2{oh9zi&}Nv)A+!A?Z4;R3ebxDnvq}XdXdKYhyBTM%|j-D{H4O#`!-R zjp3*Cs%$kaPo#}E*f1xV^u?!?O?-I7kU&j!_RJGp+9hs+5Hcp5n;yFLId6PT6?&9( z*BhGauQxVxlTuPAVzF1cIK|_d8vPBm)r)ccqvvAaf!!*#63+l)fEH~+xuDq*sUmEW zSd&ZAd%H9R=P%Rarr-#Be|4Pa3cUQf)bLGP7 zMVMbd33dk$NK@+BjPd&WWZ|=gAx?ty4|=DM`u$~RTpuuT%4qM_9>8s&MG31Q0o zw{*%*UisFJf6Tq~5Bp!*F@9zhh8$AbgQcm~5SQo3b5~oV$F!)-%GqNc!h-tAaCbQa zl9YNPW4s|g`N33-EIhU_L`lKU#V3?bc=)tK&uRPnHB~6@R-!-HU03Z}Z>myKN3vd5 z2O^`qSl*Iu1>MK@I5fU(Qsq3%Uo#oqT8sK?2hV_bP_~mUaC61Zr zvlbp3ctr5YCKbCs*j10;-!=IOL_V*6$Eq63-Zfe&?Pvwp3Gz@^1pqqQK|B_FrL3^$ zm>srhTXe&E`{n(mrpK(MglB0={f2E%6;x<^9=ez>MBet3d&go>-|_)qCf$$LOsu#Y z3+gAMG*x_H3aKYN-#;t>&4*7Wkhj@DT;#Du##;D9NsZXWef=XJu3NKGuWoo}sg!=L7 zWt#?OO!_KEDeY<*=m3>M%neebST=QX1AU<5Ad!eKiF4uDm;X`MR9n3m3)V~mGd?%g zec=FRlkYjFWBgge`bbSrc)ow6XAOL7;8B~n(z70XvdDzTJ!_Gn07Pb_-+pnO7D8yZ zquIK_KIXcC(9&_?Iy%Tb9S8Av>?z01yZEw^cQ$@$HPR!#+Xn(jNQlzC-YssMtL&`{ zOpG`qw<7rz7bZl1H?G|;`hn~(6u?Ud%)^!>ulB8-kk{&P2+aQ_#5dHd!`CAS9=d8j7vDoduFUM5o4x9JL_ zfqV}0!nret-{c$(qGig?W9)=G$@`~1v#%~| z-##yV%LNY;8MlTczvPn%OfCmJla+;VyGX%d7sclE7LBzqhTt0;s7wh@8qdAso@<}l zmzT8fpIBeNamQ{L=Sl`z0`P3sEN$r1z)Xkxv#Hhp947i z?1!*@Yx*Bnh#L&Z7$O+rtcH;IL*^ln!J`wQFw#caKFevv@gH>Soxk?8D($~i00KbG zSqtHLdG}b0KboLyg9&?w+2`i=7$#)}KJ7qcmJd)<;;GqV9@-z5vj5hN>C@Lu3d+08 z2XFE@XeP90Uv3o6eHf8pEJuECRiQ4OVzf2;>pJ!ufD3GlFt74qt@Qk8YM#|}wgaziv>rb4O0JII zdQ`t-mpm}-nf-YQ`*;1o{rm{B4V1VTIb-Tj)7?D02j@B>t zkbN%S(Yn*y-^+pS_XQZ2FRjA?1AC{7`sFRRY|dtIJgX7RCeopHg#jt$mg2mkagK^_ zT-XWLmhKcwfHE`s>7K7>sc#k0N{bzX2s0p<@?v?_2bT?Axv-Ng%-t!L09~=P4kZIh z`RIX%y}F&Y9ZO6VxeN?6-~xF%?~!6vdgI+!KT7B%uTHZF?Ss=6Vd;|pHF3nRluB;t z7=M)#tMX%ArYNa94S1ajKp@b$*v)!nOvbJjQkqCYFC@G!PW}(O$fETNJK380oo*%b zt!rCwkU8jKrR1YgPLpu+?l`pPG5bAb>9jtuV^r=|*^PSjDSFw1U$t{Xb6r Date: Sun, 25 Feb 2018 08:06:32 -0800 Subject: [PATCH 3/5] Create price.js --- public/js/price.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 public/js/price.js diff --git a/public/js/price.js b/public/js/price.js new file mode 100644 index 00000000..afd62911 --- /dev/null +++ b/public/js/price.js @@ -0,0 +1,18 @@ +function process_data(response){ + console.log(response); + console.log(response[0]); + var priceUSD = response[0]["price_usd"]; + //var priceJPY = response[0]["price_jpy"]; + var priceBTC = response[0]["price_btc"]; + document.getElementById("price-usd").innerHTML = parseFloat(priceUSD).toFixed(2); + // document.getElementById("price-jpy").innerHTML = parseFloat(priceJPY).toFixed(2); + document.getElementById("price-btc").innerHTML = priceBTC; + }; + +var $j = jQuery.noConflict(); + $j(document).ready(function() { + const http = new XMLHttpRequest() + http.open("GET", "https://api.coinmarketcap.com/v1/ticker/ellaism/?convert=eur"); + http.send(); + http.onload = () => process_data(JSON.parse(http.responseText)); + }); From b0c418bc251bbe08e1f72ddf8d46645dbea576dd Mon Sep 17 00:00:00 2001 From: Derek May <32908855+riddlez666@users.noreply.github.com> Date: Sun, 25 Feb 2018 08:08:04 -0800 Subject: [PATCH 4/5] Create analytics.js --- public/js/analytics.js | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 public/js/analytics.js diff --git a/public/js/analytics.js b/public/js/analytics.js new file mode 100644 index 00000000..e04085e3 --- /dev/null +++ b/public/js/analytics.js @@ -0,0 +1,5 @@ + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'UA-111639102-2'); From 028ff0b47b75ead4104ac28acab2752b3a05273e Mon Sep 17 00:00:00 2001 From: Derek May <32908855+riddlez666@users.noreply.github.com> Date: Sun, 25 Feb 2018 08:12:54 -0800 Subject: [PATCH 5/5] Update index.pug - layout change to resemble mikes work. - includes blockies beside addresses --- views/index.pug | 56 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 46 insertions(+), 10 deletions(-) diff --git a/views/index.pug b/views/index.pug index aaf7d0a1..1587129d 100644 --- a/views/index.pug +++ b/views/index.pug @@ -1,13 +1,36 @@ extends layout - block content + div(class="row", style="margin-top:15px;") + + div(class="row text-center text-lg-left", style="margin-top:30px;") + div(class="well well-sm col-sm-3 ") + h5 + span(class="glyphicon glyphicon-usd", style="margin-right:2pt;") + | Price + p + span(id="price-btc") + | ₿  |  + span(id="price-usd") + | $ + div(class="well well-sm col-sm-3 col-sm-offset-1") + h5 + span(class="glyphicon glyphicon-record", style="margin-right:2pt;") + | Difficulty + p #{(diff/1e12).toFixed(2)}TH + div(class="well well-sm col-sm-3 col-sm-offset-1") + h5 + span(class="glyphicon glyphicon-flash", style="margin-right:2pt;") + | Hashrate + p #{(diff/15/1e9).toFixed(2)}G -> #{(diff/13/1e9).toFixed(2)}G + h3 Recent blocks - table.table + + table.table(class='table-responsive table-striped') thead tr th Number th Miner - th Timestamp + th Time th # Tx th # Uncles tbody @@ -15,16 +38,23 @@ block content tr td a(href="/block/" + block.number) #{block.number} - td - a(href="/account/" + block.author) #{nameformatter.format(block.author)} - td #{moment.unix(block.timestamp).format()} + td + a(href="/account/" + block.author) + - var dataURL = blockies.createDataURL({ seed: block.author}) + img(src=dataURL,class="img-rounded space-right") + |#{nameformatter.format(block.author)} + - var duration = moment().diff(moment.unix(block.timestamp), 'seconds'); + if duration < 50 + td #{duration} seconds ago + else + td #{moment.unix(block.timestamp).fromNow()} td #{block.transactions.length} td #{block.uncles.length} h3 Recent Transactions if txs.length === 0 p No transactions during the last 10 blocks else - table.table + table.table(class='table-responsive table-striped') thead tr th Hash @@ -37,10 +67,16 @@ block content td a(href="/tx/" + tx.hash) #{tx.hash.substr(0,10)}... td - a(href="/account/" + tx.from) #{nameformatter.format(tx.from)} + a(href="/account/" + tx.from) + - var dataURL = blockies.createDataURL({ seed: tx.from }) + img(src=dataURL,class="img-rounded space-right") + |#{nameformatter.format(tx.from)} td if tx.to - a(href="/account/" + tx.to) #{nameformatter.format(tx.to)} + a(href="/account/" + tx.to) + - var dataURL = blockies.createDataURL({ seed: tx.to }) + img(src=dataURL,class="img-rounded space-right") + | #{nameformatter.format(tx.to)} else | New Contract - td #{ethformatter(tx.value)} \ No newline at end of file + td #{ethformatter(tx.value)}