This commit is contained in:
sabash-c 2019-08-09 11:52:35 +05:30
commit d3efd5ac7f
19 changed files with 252 additions and 172 deletions

View File

@ -72,6 +72,21 @@ const controllers = [
new BlockchainOutputController()
];
app.use(function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With, Accept, Authtoken,cookie_id');
// intercept OPTIONS method
if ('OPTIONS' == req.method) {
return res.status(200).end();
}
else {
next();
}
}
);
app.use(errorMiddleware);
app.use(bodyParser.json({ limit: "50mb" }));
app.use(bodyParser.urlencoded({ extended: false }));

View File

@ -1238,6 +1238,11 @@ export class BlockchainBlockController {
var Maxrange = Math.max.apply(Math, TotalDifficultyNBlockQuery.map(function(o) { return o.tarket_difficulty; }));
var Minrange = Math.min.apply(Math, TotalDifficultyNBlockQuery.map(function(o) { return o.tarket_difficulty; }));
if(Minrange != 0){
Minrange = (Minrange - (Minrange * 0.2));
}
Maxrange = (Maxrange + (Maxrange * 0.2));
// Minrange = parseInt(Minrange);
// var Minrange2 = parseInt(Minrange * 0.3);
response.status(200).json({
@ -1250,7 +1255,7 @@ export class BlockchainBlockController {
// DifficultyCuckatoo: DifficultyCuckatoo,
// DifficultyProgpow: DifficultyProgpow,
Maxrange: Maxrange,
Minrange: (Minrange * 0.2),
Minrange: Minrange,
TargetDifficulty: TargetDifficulty,
tickFormat: tickFormat
},

View File

@ -1,6 +1,7 @@
{
"difficulty" : "Schwierigkeit",
"transactions-by-time" : "Transaktionen im Zeitverlauf",
"transactions-over-time" : "Transaktionen im Zeitverlauf",
"blocks-by-algorithm" : "Blöcke nach Algorithmus",
"blocks" : "Blöcke",
"transaction-fees" : "Transkationsgebühren",
"supply-growth" : "Angebotswachstum",
@ -17,7 +18,7 @@
"VIEWALL": "Alle Diagramme anzeigen",
"BLOCKCHAIN_HEIGHT": "Blockchain Höhe",
"LATEST_BLOCK": "Letzter Block",
"LATEST_BLOCK1": "Neueste Block-Schwierigkeit",
"LATEST_BLOCK1": "Aktuelle Schwierigkeit",
"COIN_IN": "Münzen in Existenz",
"HEIGHT": "Höhe",
"HASH": "Hash",
@ -29,7 +30,8 @@
"INPUT" : "Eingang",
"OUTPUTS" : "Ausgänge",
"OUTPUT" : "Ausgabe",
"KERNELS" : "Kernel",
"KERNEL" : "Kernel",
"KERNELS" : "Kernels",
"EPIC" : "Epic",
"EXPLORE" : "Erkunden",
"AGO" : "vor",

View File

@ -1,13 +1,14 @@
{
"difficulty" : "Difficulty",
"transactions-by-time" : "Transactions over time",
"transactions-over-time" : "Transactions over time",
"blocks-by-algorithm" : "Blocks by Algorithm",
"blocks" : "Blocks",
"transaction-fees" : "Transaction Fees",
"supply-growth" : "Supply Growth",
"blocks-mined" : "Blocks Mined",
"hashrate-growth-chart" : "HashRate Growth Chart",
"block-interval" : "Block Interval",
"transactions-vs-date" : "Transactions by Date",
"transactions-by-date" : "Transactions by Date",
"total-difficulty" : "Total Difficulty",
"target-difficulty" : "Target Difficulty",
"home": {
@ -16,8 +17,8 @@
"EXPLORE_IT": "Explore",
"VIEWALL": "View All Charts",
"BLOCKCHAIN_HEIGHT": "Blockchain Height",
"LATEST_BLOCK": "Latest Blocks",
"LATEST_BLOCK1": "Latest Block Difficulty",
"LATEST_BLOCK": "Latest Block",
"LATEST_BLOCK1": "Current Difficulty",
"COIN_IN": "Coins in Existence",
"HEIGHT": "Height",
"HASH": "Hash",
@ -29,6 +30,7 @@
"INPUT" : "Input",
"OUTPUTS" : "Outputs",
"OUTPUT" : "Output",
"KERNEL" : "Kernel",
"KERNELS" : "Kernels",
"EPIC" : "Epic",
"EXPLORE" : "Explore",

View File

@ -2,29 +2,7 @@
<nav class="navbar navbar-expand navbar-light bg-transparent">
<div class="container-fluid">
<div class="collapse navbar-collapse home_mble_hdr" id="navbarSupportedContent">
<div class="home_tst_net">
<span>You are viewing </span>
<ul class="list-unstyled d-inline-block mb-0">
<li class="nav-item dropdown">
<a
class="nav-link dropdown-toggle bg-white"
id="navbarDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
Testnet
</a>
<div class="dropdown-menu net_dropdwn" aria-labelledby="navbarDropdown">
<a class="dropdown-item p-2 disabled" style="background-color: #00000024;" target = '_blank' href="#">Mainnet</a
>
</div>
</li>
</ul>
<span> Network </span>
</div>
<ul class="navbar-nav ml-auto">
<!-- <li *ngIf="TimeArr" class="d-none d-sm-inline-block"><h1 class="test_msg d-inline-block mb-0 align-middle mr-3">{{'home.HEADER_TEXT' | translate}}</h1>
<h1 class="test_msg align-middle mr-3 d-inline-block mb-0">{{'home.COUNTDOWN' | translate}}</h1>
@ -36,10 +14,33 @@
</ul>
</li> -->
<li class="home_tst_net mr-3">
<a href="https://epic.tech/" target="_blank" class="text_underline mr-2">Epic Cash</a>
<span>You are viewing </span>
<ul class="list-unstyled d-inline-block mb-0">
<li class="nav-item dropdown">
<a
class="nav-link dropdown-toggle bg-white"
id="navbarDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
TestNet
</a>
<div class="dropdown-menu net_dropdwn" aria-labelledby="navbarDropdown">
<a class="dropdown-item p-2 disabled" style="background-color: #00000024;" target = '_blank' href="#">MainNet</a
>
</div>
</li>
</ul>
</li>
<li class="nav-item px-2 dropdown bg-white">
<span class="flag " [ngStyle]="{ 'background-image': 'url(assets/img/' + translate.getCurrentLang() + '.jpg)'}"></span>
<span class="flag " [ngStyle]="{ 'background-image': 'url(assets/img/' + translate.getCurrentLang() + '.jpg)'}"></span>
<!--<span class="flag" ngIf="translate.getCurrentLang() =='de'" style="background-image: url('assets/img/german.jpg')"></span>-->
<select class="langbut py-2 mx-1" #langSelect (change)="translate.changeLang(langSelect.value)">
<option *ngFor="let lang of translate.getLanguage()" [value]="lang" [selected]="lang == translate.getCurrentLang()">{{translate.langLabel[lang]}}</option>

View File

@ -13,10 +13,10 @@
<a class="nav-link dropdown-toggle bg-white" href="#" id="navbarDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Testnet
TestNet
</a>
<div class="dropdown-menu net_dropdwn" aria-labelledby="navbarDropdown">
<a class="dropdown-item p-2 disabled" href="https://explorer2.epic.tech">Mainnet</a>
<a class="dropdown-item p-2 disabled" href="https://explorer2.epic.tech">MainNet</a>
</div>
</li>
</ul>
@ -32,9 +32,9 @@
</button>
</div>
<div class="mble_view_hdr">
<div class="nav-item dropdown bg-white px-2 d-inline-block ml-2 order-1 order-sm-2">
<span class="flag " [ngStyle]="{ 'background-image': 'url(assets/img/' + translate.getCurrentLang() + '.jpg)'}"></span>
<span class="flag " [ngStyle]="{ 'background-image': 'url(assets/img/' + translate.getCurrentLang() + '.jpg)'}"></span>
<!--<span class="flag" ngIf="translate.getCurrentLang() =='de'" style="background-image: url('assets/img/german.jpg')"></span>-->
<select class="langbut py-2 mx-1" #langSelect (change)="translate.changeLang(langSelect.value)">
<option *ngFor="let lang of translate.getLanguage()" [value]="lang" [selected]="lang == translate.getCurrentLang()">{{translate.langLabel[lang]}}</option>
@ -46,9 +46,9 @@
src="assets/img/light_theme.png" height="20" class="dark_theme_display"></button>
</div>
</div>
<div class="position-relative d-block d-sm-none w-100 mt-3">
<input type="text" [(ngModel)]="search" #ctrl="ngModel" class="form-control search_input"
(keyup.enter)="ctrl.value ? onSearch(ctrl.value) : ''" placeholder="{{'home.SEARCH_TEXT' | translate}}">
<button class="btn search_btn" (click)="ctrl.value ? onSearch(ctrl.value) : ''">
@ -64,10 +64,10 @@
<a class="nav-link dropdown-toggle bg-white" href="#" id="navbarDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Testnet
TestNet
</a>
<div class="dropdown-menu net_dropdwn" aria-labelledby="navbarDropdown">
<a class="dropdown-item p-2 disabled" href="https://explorer2.epic.tech">Mainnet</a>
<a class="dropdown-item p-2 disabled" href="https://explorer2.epic.tech">MainNet</a>
</div>
</li>
</ul>

View File

@ -17,7 +17,7 @@ export class TransServiceService {
if (isPlatformBrowser(this.platformId)) {
translate.addLangs(["en", "de"]);
translate.setDefaultLang("en");
this.langLabel = { en: "English", de: "German" };
this.langLabel = { en: "EN", de: "DE" };
// console.log('this.getCookie() ifconf',this.getCookie() != 'undefined' ? 1: 2);
// console.log("(this.getCookie() && this.getCookie() != null) ? this.getCookie() : (this.getCurrentLang() && this.getCurrentLang() != null) ? this.getCurrentLang() : 'en'",(this.getCookie() && this.getCookie() != 'undefined') ? this.getCookie() : (this.getCurrentLang() && this.getCurrentLang() != 'undefined') ? this.getCurrentLang() : 'en');
translate.use(

View File

@ -124,7 +124,7 @@
<a href="JavaScript:void(0);"
(click)="ChartFromView(GraphtDate, GraphtHour, GraphtKernal,'Kernal'); selectedItem8 = 2" id="2"
#item2
[ngClass]="{ active: selectedItem8 == item2.id, day15_txt: true }">{{'home.KERNELS' | translate}}</a>
[ngClass]="{ active: selectedItem8 == item2.id, day15_txt: true }">{{'home.KERNEL' | translate}}</a>
<a href="JavaScript:void(0);"
(click)="ChartFromView(GraphtDate, GraphtHour, GraphtOutput,'Output'); selectedItem8 = 3" id="3"
#item3
@ -156,7 +156,7 @@
<li class="mb-1" *ngIf="this.title!='Total Difficulty'"><a
routerLink="/chart/total-difficulty">{{'total-difficulty' | translate}}</a></li>
<li class="mb-1" *ngIf="this.title!='Transactions over time'"><a
routerLink="/chart/transactions-by-time">{{'home.TRANSACTIONS_BY_TIME' | translate}}</a></li>
routerLink="/chart/transactions-over-time">{{'home.TRANSACTIONS_BY_TIME' | translate}}</a></li>
<li class="mb-1" *ngIf="this.title!='Blocks'"><a
routerLink="/chart/blocks">{{'home.BLOCKS' | translate}}</a></li>
<li class="mb-1" *ngIf="this.title!='Blocks Mined'"><a
@ -169,8 +169,8 @@
<li class="mb-1" *ngIf="this.title!='Transactions over time'"><a
routerLink="/chart/block-interval">{{'home.BLOCK_INTERVAL' | translate}}</a></li>
<li class="mb-1" *ngIf="this.title!='Transactions by Date'"><a
routerLink="/chart/transactions-vs-date">{{'home.TRANSACTIONS_VS_DATE' | translate}}</a></li>
<li class="mb-1" *ngIf="this.title!='Stackbar Chart'"><a routerLink="/chart/stackchart">Stackbar Chart</a>
routerLink="/chart/transactions-by-date">{{'home.TRANSACTIONS_VS_DATE' | translate}}</a></li>
<li class="mb-1" *ngIf="this.title!='Stackbar Chart'"><a routerLink="/chart/blocks-by-algorithm">Blocks by Algorithm</a>
</li>
<!-- <li class="mb-1" *ngIf="this.title!='Pie Chart'"><a routerLink="/chart/piechart">Pie Chart</a></li> -->
</ul>

View File

@ -60,7 +60,7 @@ export class GraphDetailComponent implements OnInit {
this.comp.Difficultyreq('total').then(res => {
this.hashdata = this.comp.linearTotalGraphData;
console.log('this.comp.linearTotalGraphData',this.comp.linearTotalGraphData);
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Total Difficulty';
this.selectedItem = 6;
this.titleService.setTitle(
@ -74,7 +74,7 @@ export class GraphDetailComponent implements OnInit {
this.comp.Difficultyreq('target').then(res => {
this.hashdata = this.comp.linearGraphData;
console.log('this.comp.linearGraphData',this.comp.linearGraphData);
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Target Difficulty';
this.selectedItem = 6;
this.titleService.setTitle(
@ -84,10 +84,10 @@ export class GraphDetailComponent implements OnInit {
});
break;
case 'transactions-by-time':
case 'transactions-over-time':
this.comp.Transactionheatmapreq().then(res => {
this.hashdata = this.comp.heatMapGrowthData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
// this.hashdata.layout.width =
// window.innerWidth - (window.innerWidth / 2.8);
this.title = 'Transactions over time';
@ -108,7 +108,7 @@ export class GraphDetailComponent implements OnInit {
case 'blocks':
this.comp.blockreq().then(res => {
this.hashdata = this.comp.barGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Blocks';
this.titleService.setTitle(
this.route.snapshot.data.title + ' - ' + this.title,
@ -119,7 +119,7 @@ export class GraphDetailComponent implements OnInit {
this.comp.Transcationreq().then(res => {
this.hashdata = this.comp.transcationGraphData;
//console.log(this.hashdata);
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Transaction Fees';
this.titleService.setTitle(
this.route.snapshot.data.title + ' - ' + this.title,
@ -129,7 +129,7 @@ export class GraphDetailComponent implements OnInit {
case 'supply-growth':
this.comp.Growthreq().then(res => {
this.hashdata = this.comp.growthGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Supply Growth';
this.titleService.setTitle(
this.route.snapshot.data.title + ' - ' + this.title,
@ -139,7 +139,7 @@ export class GraphDetailComponent implements OnInit {
case 'blocks-mined':
this.comp.Blockminedreq().then(res => {
this.hashdata = this.comp.doubleareaGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Blocks Mined';
this.titleService.setTitle(
this.route.snapshot.data.title + ' - ' + this.title,
@ -147,21 +147,21 @@ export class GraphDetailComponent implements OnInit {
});
break;
case 'hashrate-growth-chart':
this.comp.Transactiondoublelinechartreq().then(res => {
this.hashdata = this.comp.blockGraphData;
this.hashdata.layout.height = 500;
// this.hashdata.layout.width =
// window.innerWidth - window.innerWidth / 2.8;
this.title = 'HashRate Growth Chart';
this.titleService.setTitle(
this.route.snapshot.data.title + ' - ' + this.title,
);
});
// this.comp.Transactiondoublelinechartreq().then(res => {
// this.hashdata = this.comp.blockGraphData;
// this.hashdata.layout.height = 300;
// // this.hashdata.layout.width =
// // window.innerWidth - window.innerWidth / 2.8;
// this.title = 'HashRate Growth Chart';
// this.titleService.setTitle(
// this.route.snapshot.data.title + ' - ' + this.title,
// );
// });
break;
case 'block-interval':
this.comp.Blockspersecreq().then(res => {
this.hashdata = this.comp.areaGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
// this.hashdata.layout.width =
// window.innerWidth - window.innerWidth / 2.8;
this.title = 'Block Interval';
@ -170,11 +170,11 @@ export class GraphDetailComponent implements OnInit {
);
});
break;
case 'stackchart':
case 'blocks-by-algorithm':
this.comp.stackchartreq().then(res => {
this.hashdata = this.comp.stackGraphData;
this.hashdata.layout.height = 500;
this.title = 'Stackbar Chart';
this.hashdata.layout.height = 300;
this.title = 'Blocks by Algorithm';
this.titleService.setTitle(
this.route.snapshot.data.title + ' - ' + this.title,
);
@ -183,17 +183,17 @@ export class GraphDetailComponent implements OnInit {
case 'piechart':
this.comp.piechartreq().then(res => {
this.hashdata = this.comp.pieGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Pie Chart';
this.titleService.setTitle(
this.route.snapshot.data.title + ' - ' + this.title,
);
});
break;
case 'transactions-vs-date':
case 'transactions-by-date':
this.comp.Transactionlinechartreq().then(res => {
this.hashdata = this.comp.feeGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
// this.hashdata.layout.width =
// window.innerWidth - window.innerWidth / 2.8;
//console.log(this.hashdata.layout.width);
@ -221,22 +221,22 @@ export class GraphDetailComponent implements OnInit {
case 'target-difficulty':
this.comp.Difficultyreq('target',p1, p2, p3, p4).then(res => {
this.hashdata = this.comp.linearGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Target Difficulty';
});
break;
case 'total-difficulty':
this.comp.Difficultyreq('total',p1, p2, p3, p4).then(res => {
this.hashdata = this.comp.linearTotalGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Total Difficulty';
});
break;
case 'transactions-by-time':
case 'transactions-over-time':
this.comp.transactionheatmapFunc(p1, p2, p3, p4).then(res => {
this.hashdata = this.comp.heatMapGrowthData;
// console.log(this.hashdata);
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
// this.hashdata.layout.width =
// window.innerWidth - window.innerWidth / 2.8;
this.title = 'Transactions over time';
@ -245,53 +245,53 @@ export class GraphDetailComponent implements OnInit {
case 'blocks':
this.comp.blockreq(p1, p2, p3).then(res => {
this.hashdata = this.comp.barGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Blocks';
});
break;
case 'blocks-mined':
this.comp.Blockminedreq(p1, p2, p3).then(res => {
this.hashdata = this.comp.doubleareaGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Blocks Mined';
});
break;
case 'transaction-fees':
this.comp.Transcationreq(p1, p2, p3).then(res => {
this.hashdata = this.comp.transcationGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Transaction Fees';
});
break;
case 'supply-growth':
this.comp.Growthreq(p1, p2, p3).then(res => {
this.hashdata = this.comp.growthGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
this.title = 'Supply Growth';
});
break;
case 'hashrate-growth-chart':
this.comp.Transactiondoublelinechartreq(p1, p2, p3).then(res => {
this.hashdata = this.comp.blockGraphData;
this.hashdata.layout.height = 500;
// this.hashdata.layout.width =
// window.innerWidth - window.innerWidth / 2.8;
this.title = 'HashRate Growth Chart';
});
// this.comp.Transactiondoublelinechartreq(p1, p2, p3).then(res => {
// this.hashdata = this.comp.blockGraphData;
// this.hashdata.layout.height = 300;
// // this.hashdata.layout.width =
// // window.innerWidth - window.innerWidth / 2.8;
// this.title = 'HashRate Growth Chart';
// });
break;
case 'block-interval':
this.comp.Blockspersecreq(p1, p2, p3).then(res => {
this.hashdata = this.comp.areaGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
// this.hashdata.layout.width =
// window.innerWidth - window.innerWidth / 2.8;
this.title = 'Block Interval';
});
break;
case 'stackchart':
case 'blocks-by-algorithm':
this.comp.stackchartreq(p1, p2, p3).then(res => {
this.hashdata = this.comp.stackGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
// this.hashdata.layout.width =
// window.innerWidth - window.innerWidth / 2.8;
this.title = 'Stackbar Chart';
@ -300,16 +300,16 @@ export class GraphDetailComponent implements OnInit {
case 'piechart':
this.comp.piechartreq(p1, p2, p3).then(res => {
this.hashdata = this.comp.pieGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
// this.hashdata.layout.width =
// window.innerWidth - window.innerWidth / 2.8;
this.title = 'Pie Chart';
});
break;
case 'transactions-vs-date':
case 'transactions-by-date':
this.comp.Transactionlinechartreq(p1, p2, p3).then(res => {
this.hashdata = this.comp.feeGraphData;
this.hashdata.layout.height = 500;
this.hashdata.layout.height = 300;
// this.hashdata.layout.width =
// window.innerWidth - window.innerWidth / 2.8;
this.title = 'Transactions by Date';
@ -336,7 +336,7 @@ export class GraphDetailComponent implements OnInit {
// ],
// layout: {
// hovermode: 'closest',
// height: 500,
// height: 300,
// autosize: true,
// showlegend: false,
// xaxis: {

View File

@ -35,6 +35,7 @@
[ngClass]="latestblockdetail.blink == true ? 'item-highlight' : ''"
>
{{ latestblockdetail.block_height | number }}
<span class="">Blocks</span>
</p>
</div>
</div>
@ -56,23 +57,43 @@
<div class="text-center detail_div" #minhgt>
<p class="mb-2 desc">{{ "home.LATEST_BLOCK1" | translate }}</p>
<div
class=" text-left d-inline-block"
title="Target / Total Block Difficulty"
class=" text-center d-inline-block"
[ngClass]="latestblockdetail.blink == true ? 'item-highlight' : ''"
>
<!-- <p class="difficulty_datas">Cuckaroo : {{latestblockdetail.targetdifficultycuckaroo | number}} / {{latestblockdetail.TotalDifficultyCuckatoo | number}}</p> -->
<p class="difficulty_datas">
Cuckoo : {{ latestblockdetail.targetdifficultycuckatoo | number }} /
{{ latestblockdetail.TotalDifficultyCuckatoo | number }}
</p>
<p class="difficulty_datas">
<div class="difficulty_datas">
<span class="day60_txt">Cuckoo</span>
<div>
<span>Target:</span><span>{{ latestblockdetail.targetdifficultycuckatoo | number }}, </span>
<span>Total :</span><span>{{ latestblockdetail.TotalDifficultyCuckatoo | number }}</span>
</div>
</div>
<div class="difficulty_datas">
<span class="day60_txt">ProgPow </span>
<div>
<span>Target:</span><span class="diff_span" title="{{ latestblockdetail.targetdifficultyprogpow | number }}">{{ latestblockdetail.targetdifficultyprogpow | number }} </span>,
<span>Total:</span><span class="diff_span" title="{{ latestblockdetail.TotalDifficultyProgpow | number }}">{{ latestblockdetail.TotalDifficultyProgpow | number }}</span>
</div>
</div>
<div class="difficulty_datas">
<span class="day60_txt"> RandomX </span>
<div>
<span>Target:</span><span>{{ latestblockdetail.targetdifficultyrandomx | number }}, </span>
<span>Total:</span><span>{{ latestblockdetail.TotalDifficultyRandomx | number }}</span>
</div>
</div>
<!-- <p class="difficulty_datas">
ProgPow : {{ latestblockdetail.targetdifficultyprogpow | number }} /
{{ latestblockdetail.TotalDifficultyProgpow | number }}
</p>
<p class="difficulty_datas">
RandomX : {{ latestblockdetail.targetdifficultyrandomx | number }} /
{{ latestblockdetail.TotalDifficultyRandomx | number }}
</p>
</p> -->
</div>
</div>
</div>

View File

@ -6,7 +6,19 @@
<!-- <span class="txn_count" *ngIf="this.lg_last.length > 0"><span *ngFor="let l of lg_last">{{
this.l | number</span>
}}</span> -->
<div class="chart_show">
<div class="difficulty_filter day_filter p-0 bg-transparent mt-2">
<a href="JavaScript:void(0);" (click)="
Difficultyreq('target', '', '', difficultyRange,'cuckatoo'); selectedItem12 = 1
" id="1" #item121 [ngClass]="{ active: selectedItem12 == item121.id, txt_primay: true }">Cuckoo</a>
<a href="JavaScript:void(0);" (click)="
Difficultyreq('target', '', '', difficultyRange,'progpow'); selectedItem12 = 2
" id="2" #item122 [ngClass]="{ active: selectedItem12 == item122.id, txt_primay: true }">ProgPow</a>
<a href="JavaScript:void(0);" (click)="
Difficultyreq('target', '', '', difficultyRange,'randomx'); selectedItem12 = 3
" id="3" #item123 [ngClass]="{ active: selectedItem12 == item123.id, txt_primay: true }">RandomX</a>
</div>
<epic-explorer-plotly *ngIf="linearGraphData.data" [data]="linearGraphData.data" [layout]="linearGraphData.layout">
</epic-explorer-plotly>
<div *ngIf="!linearGraphData.data" class="feedback_div news_desc text-center">
@ -26,13 +38,13 @@
<div class="day_filter diff_margin">
<a href="JavaScript:void(0);" (click)="
Difficultyreq('target', '', '', '1 day',''); selectedItem = 6; difficultyRange = '1 day'
" id="6" #item6 [ngClass]="{ active: selectedItem == item6.id, txt_primay: true }">1 Day</a>
" id="6" #item6 [ngClass]="{ active: selectedItem == item6.id, txt_primay: true }">1 day</a>
<a href="JavaScript:void(0);" (click)="
Difficultyreq('target', '', '', '1 week',''); selectedItem = 1; difficultyRange = '1 week'
" id="1" #item1 [ngClass]="{ active: selectedItem == item1.id, txt_primay: true }">1 {{'home.WEEK' | translate}}</a>
<a href="JavaScript:void(0);" (click)="
<!-- <a href="JavaScript:void(0);" (click)="
Difficultyreq('target', '', '', '15 days',''); selectedItem = 2; difficultyRange = '15 days'
" id="2" #item2 [ngClass]="{ active: selectedItem == item2.id, day15_txt: true }">15 {{'home.DAYS' | translate}}</a>
" id="2" #item2 [ngClass]="{ active: selectedItem == item2.id, day15_txt: true }">15 {{'home.DAYS' | translate}}</a> -->
<a href="JavaScript:void(0);" (click)="
Difficultyreq('target', '', '', '30 days',''); selectedItem = 3; difficultyRange = '30 days'
" id="3" #item3 [ngClass]="{ active: selectedItem == item3.id, day30_txt: true }">30 {{'home.DAYS' | translate}}</a>
@ -45,17 +57,7 @@
</div>
<div class="explore_all text-right">
<div class="d-inline float-left difficulty_filter day_filter p-0 bg-transparent">
<a href="JavaScript:void(0);" (click)="
Difficultyreq('target', '', '', difficultyRange,'cuckatoo'); selectedItem12 = 1
" id="1" #item121 [ngClass]="{ active: selectedItem12 == item121.id, txt_primay: true }">Cuckoo</a>
<a href="JavaScript:void(0);" (click)="
Difficultyreq('target', '', '', difficultyRange,'progpow'); selectedItem12 = 2
" id="2" #item122 [ngClass]="{ active: selectedItem12 == item122.id, txt_primay: true }">ProgPow</a>
<a href="JavaScript:void(0);" (click)="
Difficultyreq('target', '', '', difficultyRange,'randomx'); selectedItem12 = 3
" id="3" #item123 [ngClass]="{ active: selectedItem12 == item123.id, txt_primay: true }">RandomX</a>
</div>
<a routerLink="/chart/target-difficulty"><span class="text-uppercase">{{'home.EXPLORE_IT' | translate}} <i
class="fa fa-long-arrow-right"></i></span></a>
</div>
@ -68,7 +70,22 @@
<!-- <span class="txn_count" *ngIf="this.lg_last.length > 0"><span *ngFor="let l of lg_last">{{
this.l | number</span>
}}</span> -->
<div class="chart_show">
<div class="difficulty_filter day_filter p-0 bg-transparent mt-2">
<a href="JavaScript:void(0);" (click)="
Difficultyreq('total', '', '', TdifficultyRange,'cuckatoo'); selectedTarget12 = 1
" id="1" #itemtarget121
[ngClass]="{ active: selectedTarget12 == itemtarget121.id, txt_primay: true }">Cuckoo</a>
<a href="JavaScript:void(0);" (click)="
Difficultyreq('total', '', '', TdifficultyRange,'progpow'); selectedTarget12 = 2
" id="2" #itemtarget122
[ngClass]="{ active: selectedTarget12 == itemtarget122.id, txt_primay: true }">ProgPow</a>
<a href="JavaScript:void(0);" (click)="
Difficultyreq('total', '', '', TdifficultyRange,'randomx'); selectedTarget12 = 3
" id="3" #itemtarget123
[ngClass]="{ active: selectedTarget12 == itemtarget123.id, txt_primay: true }">RandomX</a>
</div>
<epic-explorer-plotly *ngIf="linearTotalGraphData.data" [data]="linearTotalGraphData.data"
[layout]="linearTotalGraphData.layout">
</epic-explorer-plotly>
@ -89,15 +106,15 @@
<div class="day_filter diff_margin">
<a href="JavaScript:void(0);" (click)="
Difficultyreq('total', '', '', '1 day',''); selectedTarget = 6; TdifficultyRange = '1 day'
" id="6" #itemtarget6 [ngClass]="{ active: selectedTarget == itemtarget6.id, txt_primay: true }">1 Day</a>
" id="6" #itemtarget6 [ngClass]="{ active: selectedTarget == itemtarget6.id, txt_primay: true }">1 day</a>
<a href="JavaScript:void(0);" (click)="
Difficultyreq('total', '', '', '1 week',''); selectedTarget = 1; TdifficultyRange = '1 week'
" id="1" #itemtarget1 [ngClass]="{ active: selectedTarget == itemtarget1.id, txt_primay: true }">1
{{'home.WEEK' | translate}}</a>
<a href="JavaScript:void(0);" (click)="
<!-- <a href="JavaScript:void(0);" (click)="
Difficultyreq('total', '', '', '15 days',''); selectedTarget = 2; TdifficultyRange = '15 days'
" id="2" #itemtarget2 [ngClass]="{ active: selectedTarget == itemtarget2.id, day15_txt: true }">15
{{'home.DAYS' | translate}}</a>
{{'home.DAYS' | translate}}</a> -->
<a href="JavaScript:void(0);" (click)="
Difficultyreq('total', '', '', '30 days',''); selectedTarget = 3; TdifficultyRange = '30 days'
" id="3" #itemtarget3 [ngClass]="{ active: selectedTarget == itemtarget3.id, day30_txt: true }">30
@ -113,20 +130,7 @@
</div>
<div class="explore_all text-right">
<div class="d-inline float-left difficulty_filter day_filter p-0 bg-transparent">
<a href="JavaScript:void(0);" (click)="
Difficultyreq('total', '', '', TdifficultyRange,'cuckatoo'); selectedTarget12 = 1
" id="1" #itemtarget121
[ngClass]="{ active: selectedTarget12 == itemtarget121.id, txt_primay: true }">Cuckoo</a>
<a href="JavaScript:void(0);" (click)="
Difficultyreq('total', '', '', TdifficultyRange,'progpow'); selectedTarget12 = 2
" id="2" #itemtarget122
[ngClass]="{ active: selectedTarget12 == itemtarget122.id, txt_primay: true }">ProgPow</a>
<a href="JavaScript:void(0);" (click)="
Difficultyreq('total', '', '', TdifficultyRange,'randomx'); selectedTarget12 = 3
" id="3" #itemtarget123
[ngClass]="{ active: selectedTarget12 == itemtarget123.id, txt_primay: true }">RandomX</a>
</div>
<a routerLink="/chart/total-difficulty"><span class="text-uppercase">{{'home.EXPLORE_IT' | translate}} <i
class="fa fa-long-arrow-right"></i></span></a>
</div>
@ -156,15 +160,15 @@
<div class="day_filter">
<a href="JavaScript:void(0);" (click)="transactionheatmapFunc(tDate, tHour, tInput,'Input'); selectedItem8 = 1" id="1" #item1
[ngClass]="{ active: selectedItem8 == item1.id, txt_primay: true }">{{'home.INPUT' | translate}}</a>
<a href="JavaScript:void(0);" (click)="transactionheatmapFunc(tDate, tHour, tKernal,'Kernal'); selectedItem8 = 2" id="2" #item2
[ngClass]="{ active: selectedItem8 == item2.id, day15_txt: true }">{{'home.KERNELS' | translate}}</a>
<a href="JavaScript:void(0);" (click)="transactionheatmapFunc(tDate, tHour, tOutput,'Output'); selectedItem8 = 3" id="3" #item3
[ngClass]="{ active: selectedItem8 == item3.id, day30_txt: true }">{{'home.OUTPUT' | translate}}</a>
<a href="JavaScript:void(0);" (click)="transactionheatmapFunc(tDate, tHour, tInput,'Input'); selectedItem81 = 1" id="1" #item1
[ngClass]="{ active: selectedItem81 == item1.id, txt_primay: true }">{{'home.INPUT' | translate}}</a>
<a href="JavaScript:void(0);" (click)="transactionheatmapFunc(tDate, tHour, tKernal,'Kernal'); selectedItem81 = 2" id="2" #item2
[ngClass]="{ active: selectedItem81 == item2.id, day15_txt: true }">{{'home.KERNEL' | translate}}</a>
<a href="JavaScript:void(0);" (click)="transactionheatmapFunc(tDate, tHour, tOutput,'Output'); selectedItem81 = 3" id="3" #item3
[ngClass]="{ active: selectedItem81 == item3.id, day30_txt: true }">{{'home.OUTPUT' | translate}}</a>
</div>
<div class="explore_all text-right">
<a routerLink="/chart/transactions-by-time"><span class="text-uppercase d-block">{{'home.EXPLORE_IT' | translate}} <i
<a routerLink="/chart/transactions-over-time"><span class="text-uppercase d-block">{{'home.EXPLORE_IT' | translate}} <i
class="fa fa-long-arrow-right"></i></span></a>
</div>
</div>
@ -429,7 +433,7 @@
" id="5" #item5 [ngClass]="{ active: selectedItem10 == item5.id, day3m_txt: true }">3 {{'home.MONTHS' | translate}}</a>
</div>
<div class="explore_all text-right">
<a routerLink="/chart/stackchart"><span class="text-uppercase d-block">{{'home.EXPLORE_IT' | translate}} <i
<a routerLink="/chart/blocks-by-algorithm"><span class="text-uppercase d-block">{{'home.EXPLORE_IT' | translate}} <i
class="fa fa-long-arrow-right"></i></span></a>
</div>
</div>
@ -517,7 +521,7 @@
" id="5" #item5 [ngClass]="{ active: selectedItem8 == item5.id, day3m_txt: true }">3 {{'home.MONTHS' | translate}}</a>
</div>
<div class="explore_all text-right">
<a routerLink="/chart/transactions-vs-date"><span class="text-uppercase d-block">{{'home.EXPLORE_IT' | translate}} <i
<a routerLink="/chart/transactions-by-date"><span class="text-uppercase d-block">{{'home.EXPLORE_IT' | translate}} <i
class="fa fa-long-arrow-right"></i></span></a>
</div>
</div>

View File

@ -45,7 +45,8 @@ export class GraphListComponent implements OnInit {
public selectedItem4: Number = 3;
public selectedItem5: Number = 3;
public selectedItem7: Number = 3;
public selectedItem8: Number = 1;
public selectedItem8: Number = 3;
public selectedItem81: Number = 2;
public selectedItem9: Number = 3;
public selectedItem10: Number = 3;
public selectedItem11: Number = 3;
@ -180,21 +181,21 @@ export class GraphListComponent implements OnInit {
params = params.append('FromDate', fromDate);
params = params.append('ToDate', ToDate);
params = params.append('Interval', interval);
this.chartService
.apiGetRequest(params, '/blockchain_block/hashrate')
.subscribe(
res => {
if (res['status'] == 200) {
let Hdate = res.response.date;
let H29 = res.response.hashrate29;
let H31 = res.response.hashrate31;
this.hg_last = H31[H31.length - 1];
this.transactiondoublelinechartFunc(Hdate, H29, H31);
resolve();
}
},
error => {},
);
// this.chartService
// .apiGetRequest(params, '/blockchain_block/hashrate')
// .subscribe(
// res => {
// if (res['status'] == 200) {
// let Hdate = res.response.date;
// let H29 = res.response.hashrate29;
// let H31 = res.response.hashrate31;
// this.hg_last = H31[H31.length - 1];
// this.transactiondoublelinechartFunc(Hdate, H29, H31);
// resolve();
// }
// },
// error => {},
// );
});
}
@ -259,8 +260,8 @@ export class GraphListComponent implements OnInit {
this.transactionheatmapFunc(
this.tDate,
this.tHour,
this.tInput,
'Input',
this.tKernal,
'Kernal',
);
resolve();
}
@ -775,7 +776,7 @@ export class GraphListComponent implements OnInit {
rangemode: 'nonnegative',
fixedrange: true,
showgrid: true,
tickformat :".0f",
//tickformat :".0f",
tickprefix: ' '
},
margin: {

View File

@ -2,6 +2,8 @@ import { Component, OnInit, Inject, AfterViewInit } from '@angular/core';
import { DOCUMENT } from '@angular/common';
import { Utils } from 'src/app/shared/utils';
import { Router } from '@angular/router';
import { Title } from '@angular/platform-browser';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'epic-explorer-home-worksapce',
@ -31,7 +33,7 @@ import { Router } from '@angular/router';
</div>
</div>
</div>
<div class="latest_blocks my-5">
<div class="container">
<div class="filter_shadow">
@ -46,7 +48,7 @@ export class HomeWorksapceComponent extends Utils
implements OnInit, AfterViewInit {
viewchartvar: boolean;
constructor(@Inject(DOCUMENT) public document: Document,
private router: Router) {
private router: Router,private route: ActivatedRoute,private titleService: Title) {
super(document);
if (this.router.url == '/all') {
this.viewchartvar = false;
@ -55,7 +57,10 @@ export class HomeWorksapceComponent extends Utils
}
}
ngOnInit() {}
ngOnInit() {
this.titleService.setTitle(
this.route.snapshot.data.title,
);}
viewchartenable() {
this.viewchartvar = false;

View File

@ -20,7 +20,7 @@
</div>
<div class="col-6 col-md-4 tble_col">
<div class="block_div">
<h5 class="mb-0">{{'home.DIFFICULTY' | translate}}</h5>
<h5 class="mb-0">{{'home.TARGET_DIFFICULTY' | translate}}</h5>
</div>
</div>
<div class="col-7 col-sm-6 col-md-4 tble_col">
@ -46,6 +46,7 @@
</div>
</div>
<div #block></div>
<!-- <ng-container #block></ng-container> -->
<div [ngClass]="{mobile_table : true, hght_40: item.id != clickValue }"
id="hash_{{hashvalue.blockchain_block_height}}" #item *ngFor="let hashvalue of hashvalues">

View File

@ -64,10 +64,11 @@ export class LatestblocksComponent implements OnInit {
this.blockdetails = response;
//console.log(this.blockdetails);
if (this.lastblock != this.blockdetails.block_height) {
//console.log('Create');
console.log('Create');
this.createBlock();
}
this.lastblock = this.blockdetails.block_height;
console.log(this.lastblock);
});
}
@ -75,7 +76,7 @@ export class LatestblocksComponent implements OnInit {
const blockFactory = this.resolver.resolveComponentFactory(
BlockAppendComponent,
);
const block = this.block.createComponent(blockFactory);
const block = this.block.createComponent(blockFactory, 0);
this.blockAppend = {};
this.blockAppend['blockchain_block_hash'] = this.blockdetails.hash;
this.blockAppend[

View File

@ -7,6 +7,9 @@ const viewRoutes: Routes = [
{
path: '',
loadChildren: './home/home.module#HomeModule',
data: {
title: 'Epic Explorer - Home',
},
},
{
path: 'all',
@ -21,6 +24,9 @@ const siteRoutes: Routes = [
{
path: 'blockdetail/:hash',
loadChildren: './block-view/block-view.module#BlockViewModule',
data: {
title: 'Epic Explorer - Block',
},
},
{
path: 'chart',

View File

@ -8,7 +8,7 @@
.mobile_table h6, .view_moble_tble h6, .peer_mobile_table h6{display: none;}
.view_moble_tble .block_div{text-align: left;}
.peer_table_data .col-md-3 { flex: 0 0 16%; max-width: 16%;}
.peer_table{ margin-left: -20px; border-bottom: none}
}
@media(max-width: 1199px){
@ -25,7 +25,7 @@
.blck_value {font-size: 13px; }
.block_div {min-width: 110px;}
.peer_table .block_div {min-width: 145px;}
}
@media (min-width: 768px) and (max-width: 991px){
.detail_div{padding: 10px 0;}
@ -78,16 +78,16 @@
/* .view_page_header{text-align: center;} */
.view_page_header .navbar-brand{display: block; margin: 0 auto;}
.view_page_header .ml-auto{margin: 0 !important; display: inherit;}
}
@media(max-width: 470px){
.navbar-expand .navbar-collapse.home_mble_hdr{display: block !important;}
.home_mble_hdr .navbar-nav{margin: 15px auto 0; width: 63%;}
.home_tst_net{font-size: 15px; width: 85%; margin: 0 auto;}
}
@media(max-width: 365px){
.mobile_table .col-6 {flex: 0 0 100%;max-width: 100%;}
.view_page_header .search_btn{display: none;}
.home_tst_net{font-size: 13px;}
}
}

View File

@ -19,6 +19,7 @@ body {
max-width: 75%;
margin: 0 auto;
}
.text_underline{text-decoration: underline;}
a:hover,
a:focus {
text-decoration: none;
@ -252,6 +253,7 @@ a:focus {
background: #fff;
padding: 0 5px;
}
.difficulty_filter.day_filter a.active{border-color: #0056b3; color: #0056b3;}
.explore_all {
background: #ecf2ff;
padding: 15px;
@ -287,6 +289,9 @@ a:focus {
padding: 20px;
transition: 0.3s linear all;
min-height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
}
.detail_div .count {
font-size: 25px;
@ -353,6 +358,9 @@ a:focus {
right: 5px;
top: 1px;
}
.chart_show {
min-height: 268px;
}
/************************************************Footer*****************************************/
.footer_div {
border-top: 1px solid rgba(0, 0, 0, 0.15);

View File

@ -41,3 +41,11 @@
background-position: 468px 0;
}
}
.diff_span{
width: 42px;
overflow: hidden;
/* max-width: 52px; */
display: inline-block;
vertical-align: middle;
text-overflow: ellipsis;
}