チャレンジ
《名・ス自他》試合を申し込むこと。戦いや困難なことにいどむこと。挑戦。

にわかなたにさんが、調べまくったり、失敗しまくったり、何かしたり、泣いたり、笑ったり、暗がりでニヤニヤしたり、興味がある物事にチャレンジして、玉砕?したりするコンテンツです。失敗する手順等の記載もあり得ますので、良く読んで実行しましょう☆
※ 環境によっては上手く進まない場合もあります。
※ この記事の内容通りに行い、何か問題が発生しても一切責任取りません。
※ プロフェッショナルな方は見ないで下さい。にわかでトーシロな記事です。
お題「Iquidus Explorer の導入」
環境
Ubuntu18.04
nvm:0.33.11
Nodejs:0.10.28
MongoDB:3.6.3
以下実行済み
timedatectl set-timezone ‘Asia/Tokyo’
apt install -y language-pack-ja
localectl set-locale’LANG=ja_JP.utf8′
type ls
LANC=C.UTF-8 type ls

日本語が一番じゃ!!
目標
Ubuntu18.04と指定のプラグインのバージョンでIquidus Explorerを動かす。(使えるようにする)
理由
そこにExplorerがあるから。
参考ブログ
いや、もうここ一択と言っても全く過言じゃないです。むしろなむやんさんのブログの方が分かりやすいかもしれない♥

関連のインストール
おまじない
sudo apt update
sudo apt upgrade
必要なパッケージのインストール
sudo apt install build-essential libssl-dev
*Condのインストール
必須です。っていうかこれ無かったら何するの?って言われますw
Coindは各説明に沿ってインストールしましょう♪
nvmのインストール
node.jsのバージョン変更を容易にするツールです。一番使いやすかったですので、これをお勧めします☆
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
Nodejsのインストール
必須です☆nvmを使ってインストールします♪
nvm install 0.10.28
インストールがしっかり行われているか確認します。
node -v
問題がなければ、インストールされたバージョンが表示されます。
v0.10.28
MongoDBのインストール
必須です☆不具合が起こるかどうか分からなかったので、apt殿を使ってインストールしてみたら、エクスプローラーも実行出来ちゃいました。
apt install -y mongodb
これでインストールしたのが、私の環境では「3.6.3」でした。ご心配であれば、なむやんさんのブログで案内している方法で実行すると良いと思います。
foreverのインストール
お使いの環境によっては別のツールがあるので、お好みで☆
foreverとは、決められたコマンドを打つと、バックグランドで起動してくれるツールです。エクスプローラーを起動すると、そのウィンドウはエクスプローラーの起動後、エクスプローラーの稼働状況のみを表示させますが、このコマンドから起動すると「起動したツールをバックグラウンドで起動される」ので、そのウィンドウのまま別な作業が出来るというものです。
nvmをインストールできていれば、npmも使えるようになっていますので、npmを使ってインストールします。
npm install forever -g
Iquidusのセッティング
「setting.json」を開いて、必要な部分の設定を行います。ご利用の環境、目的に沿って変更します。以下のソースをそのままコピペしても使えませんので、各項の説明に沿って、必要の都度変更して下さい。
/*
This file must be valid JSON. But comments are allowedPlease edit settings.json, not settings.json.template
*/
{// サイトのタイトルになります。
“title”: “IQUIDUS”,// サイトのアドレスになります。ドメイン名でも可。ポート番号必須。
“address”: “127.0.0.1:3001”,// コインの正式名称です。
“coin”: “Darkcoin”,// コインのティッカーシンボルです。
“symbol”: “DRK”,// ロゴマークの場所を相対パスで指定
“logo”: “/images/logo.png”,// ファビコンの場所を相対パスで指定
“favicon”: “public/favicon.ico”,// エクスプローラーのスキンを変更できます。
// Valid options:
// Cerulean, Cosmo, Cyborg, Darkly, Flatly, Journal, Lumen, Paper,
// Readable, Sandstone, Simplex, Slate, Spacelab, Superhero, United, Yeti
// theme (see /public/themes for available themes)
“theme”: “Cyborg”,// サイトに対するリクエストを受けるポート番号を指定します。
“port” : 3001,// MongoDBの情報を入力します。MongoDBのです。(二回言う)
“dbsettings”: {
“user”: “iquidus”,
“password”: “3xp!0reR”,
“database”: “explorerdb”,
“address”: “localhost”,
“port”: 27017
},//update script settings
“update_timeout”: 10,
“check_timeout”: 250,// ウォレットの情報を入力します。「.conf」の設定情報と同一です。
“wallet”: {
“host”: “localhost”,
“port”: 9332,
“user”: “darkcoinrpc”,
“pass”: “123gfjk3R3pCCVjHtbRde2s5kzdf233sa”
},// confirmations
“confirmations”: 40,// 日本語にする事も可能です。jsonファイルをいじれば日本語も編集可能です。
“locale”: “locale/en.json”,// メニューに表示させるコンテンツを選びます。表示させない場合は「false」
“display”: {
“api”: true,
“markets”: true,
“richlist”: true,
“twitter”: true,
“search”: true
},// トップページに表示させるコンテンツを選びます。表示させない場合は「false」
// (valid options for difficulty are POW, POS or Hybrid)
“index”: {
“show_hashrate”: true,
“difficulty”: “POW”,
“last_txs”: 100
},// ensure links on API page are valid
“api”: {
“blockindex”: 1337,
“blockhash”: “1733320247b15ca2262be646397d1ffd6be953fa638ebb8f5dcbb4c2b91b34f1”,
“txhash”: “f270cd3813254c9922a2e222a56ba745842d9112223a1394062e460b33d27b7e”,
“address”: “RBiXWscC63Jdn1GfDtRj8hgv4Q6Zppvpwb”
},// market settings
//supported markets: bittrex, poloniex, yobit, empoex, bleutrade, cryptopia, ccex
//default market is loaded by default and determines last price in header
“markets”: {
“coin”: “JBS”,
“exchange”: “BTC”,
“enabled”: [“bittrex”, “cryptopia”],
“cryptopia_id”: “1658”,
“ccex_key” : “Get-Your-Own-Key”,
“default”: “bittrex”
},// richlist/top100 settings
“richlist”: {
“distribution”: true,
“received”: true,
“balance”: true
},
“twitter”: “iquidus”,//genesis
“genesis_tx”: “65f705d2f385dc85763a317b3ec000063003d6b039546af5d8195a5ec27ae410”,
“genesis_block”: “b2926a56ca64e0cd2430347e383f63ad7092f406088b9b86d6d68c2a34baef51”,//heavy (enable/disable additional heavy features)
“heavy”: false,//amount of txs to index per address (stores latest n txs)
“txcount”: 100,//show total sent & received on address page (set false if PoS)
“show_sent_received”: true,// 通貨の供給量を選びます。
// COINBASE : total sent from coinbase (PoW)
// GETINFO : retreive from getinfo api call (PoS)
// HEAVY: retreive from heavys getsupply api call
// BALANCES : total of all address balances
“supply”: “BALANCES”,// 難易度の表示方法を選びます。計算の表示方法が違います。
// getnetworkhashps: uses getnetworkhashps api call, returns in GH/s
// netmhashps: uses getmininginfo.netmhashpsm returns in MH/s
“nethash”: “getnetworkhashps”,// nethash unitd: sets nethash API return units
// valid options: “P” (PH/s), “T” (TH/s), “G” (GH/s), “M” (MH/s), “K” (KH/s)
“nethash_units”: “G”,// Address labels
// example : “JhbrvAmM7kNpwA6wD5KoAsbtikLWWMNPcM”: {“label”: “This is a burn address”, “type”:”danger”, “url”:”http://example.com”}
// label (required) = test to display
// type (optional) = class of label, valid types: default, primary, warning, danger, success
// url (optional) = url to link to for more information
“labels”: {
// “JSoEdU717hvz8KQVq2HfcqV9A79Wihzusu”: {“label”: “Developers address”, “type”:”primary”, “url”:”http://example.com”},
// “JSWVXHWeYNknPdG9uDrcBoZHztKMFCsndw”: {“label”: “Cryptsy”}
}
}
Iquidusの起動とアクセス
「ウォレットが起動されている事」が絶対条件☆
*cond -deamon -indextx
ウォレットの起動の際には「-indextx」のコマンドと共に起動しなければ、外部ツール等によってブロック情報を読み込む事を許可することが出来なくなります。必ず「-indextx」と共に起動して下さい。
ブロック情報の読み込み
ブロック情報を読み込む為には、「ウォレットが起動されている事」が絶対条件となります☆前項を読んで起動しましょう♪
ブロック情報の読み込みには、専用のコマンドが必要となります。感覚としては、「Explorerに対して、ツールを使ってブロック情報を読み込めゴルァ!」の命令を行う感じです。
npm start
たにさん☆チャレンジ
様々なエラーを呼び込む男たにさん。Iquidusに関わるエラーは以下の通り。
1.Paword by とか、どっかいった
お使いの環境次第では、レイアウトが崩れてしまう事があり、サイトの表示が上手くいかない場合があります。原因は現在配布しているソースコードに問題があるのか、それともサーバー自体の設定なのか謎ですが、以下のように表示箇所の修正をしてあげると治ります。
views/layout.jade のソース最下部を編集します。
○○○○ul.nav
○○○○○○li.text-center(style=’margin-left:80px;margin-right:80px;’)
○○○○○○○○p(style=’margin-top:15px;’)
○○○○○○○○○○a.navbar-link(href=’https://github.com/iquidus/explorer’, target=’_blank’) Powered by Iquidus Explorer
○○span.connections
○○○○label#lblBlockcount.label.label-default –
○○○○label#lblConnections.label.label-default –

なんだよ!空白1個の問題かよ!!!

プププ
一部フォークしているもので行うと正常に表示されたりします!
なので、まぁ、結局は

たにさんが悪い。

はい。
2.難易度でねぇ!
こんな感じ^^;
色々なエクスプローラーを見てみると、このままにしているところもあるので、皆分かっててやってないのかな・・・?もしかしてレベル低い話かもですけど、初心者なりに頑張ったので記録しておきますw
lib/explorer.js の中身を編集します。
以下のコードの部分で一部コメントアウトして追記します。
get_hashrate: function(cb) {
if (settings.index.show_hashrate == false) return cb(‘-‘);
if (settings.nethash == ‘netmhashps’) {
var uri = base_url + ‘getmininginfo’;
request({uri: uri, json: true}, function (error, response, body) { //returned in mhash
// if (body.netmhashps) { ←↓
if (body.netstakeweight){
if (settings.nethash_units == ‘K’) {
return cb((body.netmhashps * 1000).toFixed(4));
} else if (settings.nethash_units == ‘G’) {
return cb((body.netmhashps / 1000).toFixed(4));
} else if (settings.nethash_units == ‘H’) {
return cb((body.netmhashps * 1000000).toFixed(4));
} else if (settings.nethash_units == ‘T’) {
return cb((body.netmhashps / 1000000).toFixed(4));
} else if (settings.nethash_units == ‘P’) {
return cb((body.netmhashps / 1000000000).toFixed(4));
} else {
// return cb(body.netmhashps.toFixed(4)); ←↓
return cb((body.netstakeweight / 1000000).toFixed(4));
}
} else {
return cb(‘-‘);
}
});
} else ….
こうすると表示されるようになりました!
3.ブロック情報を読み込めない
私も「あれ?なんだ?」という場面が多々ありましたが、多くは
・ウォレットが既に起動されていて、-indextxが付いてない
・setting.jsonの設定ミス
・そもそも実行している階層が違った
でした;w;
落ち着いて、一つずつ行うべき事を整理すると大丈夫だと思います☆
まとめ

楽しかった!
ムカついた!

どっちすか。

それがねぇ~、どっちも成立するんだよ、しんくん。

ソースカ。

何そのリアクション。
コメント