Byteballを使ったアプリやシステムを開発するための情報wikiです。現時点では管理人個人のメモとなっています。編集したい方はSlack経由でYamaokaまでご連絡下さい。

当wiki推奨の方法となります。

環境

OS:MAC OSX 10.13.4 beta

手順

Finkのインストール(apt-getの有効化)

初期設定だとapt-getが使えないので
こちらのサイトを参考にaptを導入。

参照先が落ちた場合に備えて同じ内容をこの中に残しておきます。

ソースコード・モジュール環境の構築

本ウィキの環境構築ページを参考に任意の場所にモジュールの導入とコード展開を行います。
http://byteball.memo.wiki/d/%B3%AB%C8%AF%B4%C4%B6%...

*通常のMacユーザーにはroot権限がないのでapt-getコマンドの頭にsudoをつける必要があります。
もしくはユーザーにroot権限を付与してください。

以下必要箇所の抜粋

ディレクトリ移動

ターミナルを起動して、
自分がソースコードを展開したい場所まで移動してください。

必須モジュールの取得

下記のコマンドを実行して最初に必要なモジュールを取得します。
apt-get update;apt-get install -y nodejs npm node-sqlite3 git logrotate vim;update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10;

1行ずつ実行する場合はこちら


メール送信が必要な場合この中の設定もしておく必要があります

readmeファイル作成

以下のコマンドを入力して、作成したファイルに説明文を加えてください。
特にプログラムには影響しないので「a」とだけ入れても問題ありません。
vim README.md

npmインストール準備

npm経由で必要なモジュールを取得する準備をします。
npm init
ガイドに従って入力していってください。
その後、作成されたファイルをさらに書き換えます。
vim package.json
dependenciesを以下のように変更してください。
*ない場合は"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');

*sqliteの読み込みでエラーが出る場合は以下のページを参考にnpmを入れ直してsqliteを導入するとうまく行くかもしれません
http://blue-bear.jp/kb/mac-macにnode-jsをイントールしてnpmを実行できるようにする/#i-4

Visual Studio Codeの導入

クライアントのダウンロード

以下のサイトから本体を取得し、インストールします。
https://code.visualstudio.com/download

code .コマンドのインストール

Visual Studio Codeを起動したら、
「SHIFT+⌘(Command)キー+P」を押して
出てきたテキストボックスに
「shell」と打ち込むと、候補に
「シェルコマンド:PATH内に’code’コマンドをインストールします」
「Shell command:install ’code’ command」
と書かれた項目が出るので選択して実行

クライアント再起動

一旦Visual Studio codeを終了させてターミナルを起動します。

自分のソースコードのディレクトリまで移動したら
code .
と入力。
するとVisual Studio codeが起動して自分のソースコードディレクトリが表示されます。

設定の変更

画面左上にある歯車のアイコンをクリック

出てきたファイルに
"console": "externalTerminal",
を追記。
これでデバッグ実行時に別途コンソールが現れてそこのパスワード入力などができるようになります。


"program": "${workspaceFolder}/index.js"
のファイル名の部分は自分のファイル名に変更してください。

デバッグ実行

左端の虫のマークをクリックして再生ボタンを押すと起動できます。


ブレークポイントは行番号の左をクリックすると打ち込めます。
あとは通常のデバッグツールと同じように使ってください。
設定に成功して入れば、起動時にターミナルが別画面でポップアップするので
ウォレット起動時のパスワードなどはそちらに打ち込んでください。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

当サイトは寄付歓迎です

Byteball
[1MB] [10MB] [100MB]

メニュー

メニュー



開発者ガイド

キャッシュバックプログラム

ウォレットを使用したユーザー認証(翻訳)
(調査中)JSON-RPC経由でByteballにアクセスする
コード解説(headless-byteballのstart.js)(作成中)

実用テクニック

【メニュー編集】

メンバーのみ編集できます