PHP 和树莓派开发一个比特币 / 以太坊交易机器人
本文是一篇翻译文章,喜欢看英文原文的直接去这里:原文。欢迎大家批评指正 。
我最近得到了 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 进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。对没有开发过硬件的同学会轻松许多。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: