byteball-faucet 蛇口サンプルを動作確認
byteball-faucet は下記ブログ記事の手順にある無料でテスト用のbyteを配るbotの実装です。
faucet=蛇口なのは、テスト用のbyteを吐き出してくれるからです。
こんなパトロンほしい。
最も基本的なbotとして、bot実装上の構造理解に役に立ちます。
Byteballのbotは仕組みがシンプルでよいね。
主要ファイル
check_daemon.js
conf.js
crontab.txt
faucet.sql
split_bb_outputs.js
split_bytes.js
split_indivisible_asset_outputs.js
start.js
ソースを確認してみる
start.js
メインのプログラムです
conf.js
設定ファイル
faucet.sql
MySQL互換と思われるsqliteのsqlファイル
このシステムでは支払い記録をDAGとは別にDBにも行っている
split_bb_outputs.js
split_bytes.js
split_indivisible_asset_outputs.js
ロードされていない。詳細未確認
crontab.txt
cronでcheck_daemon.jsを定期的に動かしています
*/20 * * * * cd byteball-faucet; node check_daemon.js 1>>~/.config/byteball-faucet/check_daemon.log 2>>~/.config/byteball-faucet/check_daemon.err
check_daemon.js
ソースを追っかけると、ファイル名通りnodeのプロセスについて死活監視をしているみたいです。
var check_daemon = require('byteballcore/check_daemon.js'); check_daemon.checkDaemonAndNotify('node start.js');
セットアップ
npm install
例によってビルドは成功テストネットへ変更
node_modules/byteballcore/constants.jsの次の個所を変更
前 | 後 |
---|---|
exports.version = '1.0' | exports.version = '1.0t' |
exports.alt = '1' | exports.alt = '2' |
- conf.js 編集
hubをテスト系に変更。
ライトで起動したい。
最後にメール関係の設定が必要みたいですが、実際には送信されないようです。(送信部位がコメントアウトされています)
exports.hub = 'byteball.org/bb-test'; exports.bLight = true; exports.admin_email='admin@eample.com' exports.from_email='admin@eample.com'
node start.jsで起動
例によってデバイス名と秘密鍵のパスワードを設定
次にいろいろ生成されます C:\Users[USERNAME]\AppData\Local/byteball-faucet/Ctrl + Cでいったん終了しfaucet.sqlを使用して、次のDBファイル内にテーブルを作成 C:\Users[USERNAME]\AppData\Local/byteball-faucet/byteball.sqlite
node start.jsで起動
テストウォレットへbotをペアリング
ペアリングコードはログの次の行に出ています====== my pairing code: ApvXpxFI6GzXKVYebwi25mSnjkIc26ErW2LcyZKmJUZk@byteball.org/bb#0000
動作確認
うごいたー!。botのアカウントにbyte入れてないから、金がないと怒られますが。