最終更新: byteball_dev 2018年01月30日(火) 22:00:51履歴
本記事の方法は非推奨ですが、記録として残しています。
ツールなどにこだわりがなければ
こちら
http://byteball.memo.wiki/d/%A5%C7%A5%D0%A5%C3%A5%...
の方法を推奨します。
この記事はMac上でnode.jsの開発とデバッグを行う手順を解説します。
下記のコマンドは全てMac上で行います
Windows環境での検証は行ってないので注意してください。
[注意]
著者にて構築後、sqlite3内のモジュール読み込み時にバージョンの食い違いで必ずエラーがでる不具合に遭遇しています。
現在は対策を追記しているので、恐らく起きないと思われますが、検証は出来てないのでご注意ください。
ここまでの設定がうまく言っていれば以下のようなURLが生成されるので
chromeにコピペして開くとデバッグが可能となる。
ツールなどにこだわりがなければ
こちら
http://byteball.memo.wiki/d/%A5%C7%A5%D0%A5%C3%A5%...
の方法を推奨します。
この記事はMac上でnode.jsの開発とデバッグを行う手順を解説します。
下記のコマンドは全てMac上で行います
Windows環境での検証は行ってないので注意してください。
[注意]
著者にて構築後、sqlite3内のモジュール読み込み時にバージョンの食い違いで必ずエラーがでる不具合に遭遇しています。
現在は対策を追記しているので、恐らく起きないと思われますが、検証は出来てないのでご注意ください。
node-inspectorを安定して使うために、バージョンを6に指定してインストールします。
git clone git://github.com/creationix/nvm.git ~/.nvm source ~/.nvm/nvm.sh
本ウィキの環境構築ページを参考に任意の場所にモジュールの導入とコード展開を行います。
http://byteball.memo.wiki/d/%B3%AB%C8%AF%B4%C4%B6%...
[追記]
上記でapt-geをt実行する際にnodeとsqlite3はインストール対象から除外してください。
入れてしまうとバージョンの食い違いが起こる可能性があります。
*通常のMacユーザーにはroot権限がないのでapt-getコマンドの頭にsudoをつける必要があります。
もしくはユーザーにroot権限を付与してください。
http://byteball.memo.wiki/d/%B3%AB%C8%AF%B4%C4%B6%...
[追記]
上記でapt-geをt実行する際にnodeとsqlite3はインストール対象から除外してください。
入れてしまうとバージョンの食い違いが起こる可能性があります。
*通常のMacユーザーにはroot権限がないのでapt-getコマンドの頭にsudoをつける必要があります。
もしくはユーザーにroot権限を付与してください。
ディレクトリ移動
ターミナルを起動して、
自分がソースコードを展開したい場所まで移動してください。
自分がソースコードを展開したい場所まで移動してください。
必須モジュールの取得
readmeファイル作成
以下のコマンドを入力して、作成したファイルに説明文を加えてください。
特にプログラムには影響しないので「a」とだけ入れても問題ありません。
特にプログラムには影響しないので「a」とだけ入れても問題ありません。
vim README.md
npmインストール準備
npm経由で必要なモジュールを取得する準備をします。
その後、作成されたファイルをさらに書き換えます。
*ない場合は"license": "ISC"の後にカンマを入れて"dependencies"を追加してください。
npm initガイドに従って入力していってください。
その後、作成されたファイルをさらに書き換えます。
vim package.jsondependenciesを以下のように変更してください。
*ない場合は"license": "ISC"の後にカンマを入れて"dependencies"を追加してください。
"dependencies": { "headless-byteball": "git+https://github.com/byteball/headless-byteball.git", "byteballcore": "git+https://github.com/byteball/byteballcore.git", "bitcore-lib": "^0.13.14", "bitcore-mnemonic": "~1.0.0", "json-rpc2": "^1.0.2" }npmのモジュールを一括取得
npm install
コンフィグファイルの作成
以下のコマンドでコンフィグファイルを作成
vim conf.js以下の内容を書き込んで保存する。
/*jslint node: true */ "use strict"; //exports.port = 6611; //exports.myUrl = 'wss://mydomain.com/bb'; exports.bServeAsHub = false; exports.bLight = false; exports.storage = 'sqlite'; exports.hub = 'byteball.org/bb'; exports.deviceName = 'Headless'; //ランダムな文字列。ペアリングコードの一部になる exports.permanent_pairing_secret = '0000'; //チャットを許可するデバイスのアドレスを設定 exports.control_addresses = ['']; exports.payout_address = 'WHERE THE MONEY CAN BE SENT TO'; exports.KEYS_FILENAME = 'keys.json'; // where logs are written to (absolute path). Default is log.txt in app data directory //exports.LOG_FILENAME = '/dev/null'; // consolidate unspent outputs when there are too many of them. Value of 0 means do not try to consolidate exports.MAX_UNSPENT_OUTPUTS = 0; exports.CONSOLIDATION_INTERVAL = 3600*1000; // this is for runnining RPC service only, see play/rpc_service.js exports.rpcInterface = '127.0.0.1'; exports.rpcPort = '6332'; console.log('finished headless conf');
node --inspect-brk あなたのソースファイル名.js
ここまでの設定がうまく言っていれば以下のようなURLが生成されるので
chromeにコピペして開くとデバッグが可能となる。
chrome-devtools://devtools/remote/serve_file/@60cd6e859b9f557d2312f5bf532f6aec5f284980/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/04969c6c-a3c8-4d65-9787-9f8f864ab660
コメントをかく