本文是一篇翻譯文章,喜歡看英文原文的直接去這裡:原文。歡迎大家批評指正 :blush: 。
我最近得到了Raspberry Pi Zero Wifi
,我告訴你這個東西是改變遊戲規則的。我之前使用過RasPis
,但由於該裝置的佔地面積小得多,耗電少,價格便宜且無線上網,因此非常適合低端或物聯網專案。
注:目前我已經擴充套件了機器人以便能夠交易以太坊!
我希望它能夠在不必太多關注的情況下做事,而我想到的第一件事就是:
為什麼不建立一個可以自動進行比特幣和以太坊的簡單交易機器人。
這個想法很簡單:Raspberry Pi Zero
使用Coinbase API
定期檢查價格,並在有意義的時候購買和銷售比特幣。你應該能夠給它一個預算,看看能用它做些什麼。
這個機器人是一個潛伏數週或數月的潛伏者,並等待一個很棒的比特幣價格購買和出售。這取決於你如何使用它!
機器人應該能夠做什麼:
- 我希望你買50歐元的比特幣,當50歐元變成52歐元時賣掉。
- 當比特幣價格達到1000歐元/比特幣時,我希望你買100歐元的比特幣,當這100歐元的比特幣價值150歐元時賣掉。
- 買低,賣高。
- 在下一個泡沫破裂的時候自動購買比特幣。
機器人不會做什麼:
- 進行市場分析並檢測泡沫和暴跌。
- 讓你富有。
- 做大量交易。這個機器人是一個緩慢的潛伏投資者。
出於控制原因,我希望每當出售或購買BTC/ETH時都會收到通知。為此,我使用一個簡單的webhook為我最喜歡的(和自主)聊天平臺rocket.chat。但它也適用於Slack
的webhook
!
這是PHPTrader機器人。
我們需要什麼讓它執行:
- 一個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 key
和API secret
時,請在config.inc.php
檔案中COINBASE_KEY
和COINBASE_SECRET
下的PHPTrader bot輸入它們。
警告:保密API key
和API 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 &
你可以檢視日誌檔案,以便檢視機器人目前正在執行的操作:
這個軟硬結合的教程,有點兒挑戰,如果你希望純PC實戰學習PHP與以太坊開發,推薦這個:
php以太坊實戰入門教程,主要是介紹使用php進行智慧合約開發互動,進行賬號建立、交易、轉賬、代幣開發以及過濾器和事件等內容。對沒有開發過硬體的同學會輕鬆許多。