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

ここではゼロからアプリやシステム(チャットボットなど)を開発するために必要な環境構築手順を解説します。
この手順が完了すれば、.jsファイルを作ってnode ファイル名.js
でプログラムを起動することができます。

環境構築

dockerの準備

以下のアドレスからdockerを取得してください。
これ以降の説明では、dockerの基本的な扱いはわかってる前提で説明します。
Mac https://store.docker.com/editions/community/docker...
Windows https://store.docker.com/editions/community/docker...

手順

docker起動

作業の土台となるubuntuを取得して、ポートを開放した上で起動します。
docker pull ubuntu 
docker run -it -p 6611:6611 -p 80:80 -p 587:587 ubuntu
*PC側のポート開放も必要です。環境によって違うので各自でポート開放方法を調べて行ってください。

プロジェクトフォルダの作成

以下のコマンドでフォルダを作成して移動します。
projectnameの部分はお好みで書き換えてください。
mkdir projectname
cd projectname

日本語表示&入力対応

初期状態だと日本語は文字化けして正しく表示されず、日本語入力もできないので設定が必要になります。
以下のコードを実行してください。
apt-get install -y language-pack-ja-base language-pack-ja
update-locale LANG=ja_JP.UTF-8 LANGUAGE=ja_JP:ja
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
export LC_CTYPE=ja_JP.UTF-8

必須モジュールの取得

下記のコマンドを実行して最初に必要なモジュールを取得します。
apt-get update;apt-get install -y nodejs npm nodejs 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');

動作確認

まず、
https://github.com/byteball/headless-byteballから
start.jsを開きます。

次にターミナル上で
vim test.js
と入力して、start.jsのコードを全てその中に貼り付けます。
貼り付けが終わったら保存して閉じて、次に
node test.js
と入力すると、通常のheadless-byteballのstart.jsと同じ動作をすることが確認できると思います。
*デバイス名やパスワードの入力は行わないでください。ウォレットが作成されてしまい後から行う開発に支障が出る場合があります。
確認が終わったらtest.jsは削除して構いません。
あとはあなたが作りたいコードを実装してください。

コメントをかく


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

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

当サイトは寄付歓迎です

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

メニュー

メニュー



実用テクニック

【メニュー編集】

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