使用PHP和樹莓派開發一個比特幣和以太坊交易機器人

我最近獲得了Raspberry Pi Zero Wifi,我告訴你這個東西是改變遊戲規則的。我以前使用過RasPis,但因爲該設備的佔地面積小得多,耗電少,價格便宜且無線上網,所以很是適合低端或物聯網項目。php

注:目前我已經擴展了機器人以便可以交易以太坊!html

我但願它可以在沒必要太多關注的狀況下作事,而我想到的第一件事就是:git

爲何不建立一個能夠自動進行比特幣和以太坊的簡單交易機器人。github

這個想法很簡單:Raspberry Pi Zero使用Coinbase API按期檢查價格,並在有意義的時候購買和銷售比特幣。你應該可以給它一個預算,看看能用它作些什麼。web

這個機器人是一個潛伏數週或數月的潛伏​​者,並等待一個很棒的比特幣價格購買和出售。這取決於你如何使用它!json

機器人應該可以作什麼:api

  • 我但願你買50歐元的比特幣,當50歐元變成52歐元時賣掉。
  • 當比特幣價格達到1000歐元/比特幣時,我但願你買100歐元的比特幣,當這100歐元的比特幣價值150歐元時賣掉。
  • 買低,賣高。
  • 在下一個泡沫破裂的時候自動購買比特幣。

機器人不會作什麼:composer

  • 進行市場分析並檢測泡沫和暴跌。
  • 讓你富有。
  • 作大量交易。這個機器人是一個緩慢的潛伏投資者。

出於控制緣由,我但願每當出售或購買BTC/ETH時都會收到通知。爲此,我使用一個簡單的webhook爲我最喜歡的(和自主)聊天平臺rocket.chat。但它也適用於Slackwebhookthis

這是PHPTrader機器人。3d

咱們須要什麼讓它運行:

  • 一個Raspberry Pi或只是Linux盒子。
  • Coinbase賬戶,包含有一些資金的歐元/美圓錢包。
  • PHP 5或更高版本。
  • PHP Composer安裝庫。
  • 若是你想有通知,你須要一個rocket.chat或Slack webhook。

第1步:安裝機器人

它很簡單:

  • 使用命令git clone https://github.com/chrisiaut/phptrader.git 下載repo或下載爲ZIP文件。
  • 進入php交易者目錄cd phptrader
  • 安裝所需的composer文件composer install
  • example.config.inc.php重命名爲config.inc.php

第2步:輸入Coinbase API密鑰和密鑰

得到你的鑰匙也很容易:

  • 1.輸入https://www.coinbase.com/settings/api
  • 2.點擊 + New API Key
  • 3.而後,你將看到API密鑰建立對話框。選擇比特幣/以太坊和歐元/美圓錢包。
  • 4.選擇全部權限。
  • 5.提交。

當你看到API keyAPI secret時,請在config.inc.php文件中COINBASE_KEYCOINBASE_SECRET下的PHPTrader bot輸入它們。

警告:保密API keyAPI secret,當攻擊者得到訪問權限時,就像交了你的房門鑰匙同樣。

第3步(可選):設置rocket.chat或Slack webhook

對於Slack,請使用本教程來獲取webhook。 並將其填入config.inc.php中的ROCKETCHAT_WEBHOOK字段中:

注意:你須要成爲管理員才能爲rocket.chat設置webhook。託管你的實例(使用Docker很是容易)或者請信任的管理員爲你執行此操做。

  • 1.在聊天實例上,轉到Administration -> Integrations
  • 2.單擊New Integration,而後單擊Incoming WebHook
  • 3.將其設置爲enabled,選擇發佈頻道或用戶。
  • 4.點擊Save Changes

如今將看到一個Webhook URL,將其複製並放入config.inc.php中的ROCKETCHAT_WEBHOOK字段中就ok了。

最後一步:告訴機器人何時買賣

使用如下命令,機器人將建立一個transacitons.json文件,其中將保存歐元,BTC,起始價格和賣出價格的金額,以便咱們能夠在從新啓動時跟蹤它們。

  • php trader.php buy [amount in EUR] [sell when price increases by EUR]
  • php trader.php sell [amount in EUR] [sell when this BTC/ETH price is reached]
  • php trader.php order [amount in EUR] [sell when price increases by EUR] [buy at BTC/ETH price]

例子:

  • 在BTC/ETH買入10歐元,當它們價值12歐元時出售:php trader.php buy 10 2
  • 添加賣單。當BTC/ETH價格達到2000時賣出100歐元/美圓:php trader.php sell 100 2000
  • 當1BTC/ETH價值1000歐元時添加100歐元的買單,當100歐元價值110歐元時賣出:php trader.php order 100 10 1000

設置完成後,你能夠啓動看門狗:機器人的核心是無限循環,按期(每10秒)檢查一次價格變化。你可使用命令php trader.php watchdog自行啓動它,或者使用start.sh腳本將該進程置於後臺並登陸到/var/log/phptrader.log

./start.sh

或者

nohup php trader.php watchdog >> /var/log/phptrader.log 2> /var/log/phptrader.err &

你能夠查看日誌文件,以便查看機器人目前正在執行的操做:

若是你們對PHP開發以太坊不熟悉能夠看這個PHP開發以太坊教程
若是你們對樹莓派開發不熟悉能夠看這個阮一峯樹莓派新手入門教程

相關文章
相關標籤/搜索