使用PHP和树莓派开发一个比特币和以太坊交易机器人

我最近得到了Raspberry Pi Zero Wifi,我告诉你这个东西是改变游戏规则的。我之前使用过RasPis,但由于该设备的占地面积小得多,耗电少,价格便宜且无线上网,因此非常适合低端或物联网项目。

注:目前我已经扩展了机器人以便能够交易以太坊!

我希望它能够在不必太多关注的情况下做事,而我想到的第一件事就是:

为什么不创建一个可以自动进行比特币和以太坊的简单交易机器人。

这个想法很简单:Raspberry Pi Zero使用Coinbase API定期检查价格,并在有意义的时候购买和销售比特币。你应该能够给它一个预算,看看能用它做些什么。

这个机器人是一个潜伏数周或数月的潜伏??者,并等待一个很棒的比特币价格购买和出售。这取决于你如何使用它!

机器人应该能够做什么:

  • 我希望你买50欧元的比特币,当50欧元变成52欧元时卖掉。
  • 当比特币价格达到1000欧元/比特币时,我希望你买100欧元的比特币,当这100欧元的比特币价值150欧元时卖掉。
  • 买低,卖高。
  • 在下一个泡沫破裂的时候自动购买比特币。

机器人不会做什么:

  • 进行市场分析并检测泡沫和暴跌。
  • 让你富有。
  • 做大量交易。这个机器人是一个缓慢的潜伏投资者。

出于控制原因,我希望每当出售或购买BTC/ETH时都会收到通知。为此,我使用一个简单的webhook为我最喜欢的(和自主)聊天平台rocket.chat。但它也适用于Slackwebhook

这是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 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开发以太坊教程

如果大家对树莓派开发不熟悉可以看这个阮一峰树莓派新手入门教程

原文地址:https://www.cnblogs.com/malakashi/p/9638576.html

时间: 2024-10-09 16:01:20

使用PHP和树莓派开发一个比特币和以太坊交易机器人的相关文章

PoW挖矿算法原理及其在比特币、以太坊中的实现

PoW,全称Proof of Work,即工作量证明,又称挖矿.大部分公有链或虚拟货币,如比特币.以太坊,均基于PoW算法,来实现其共识机制.即根据挖矿贡献的有效工作,来决定货币的分配.? 比特币区块 ? 比特币区块由区块头和该区块所包含的交易列表组成.区块头大小为80字节,其构成包括:? 4字节:版本号 32字节:上一个区块的哈希值 32字节:交易列表的Merkle根哈希值 4字节:当前时间戳 4字节:当前难度值 4字节:随机数Nonce值? 此80字节长度的区块头,即为比特币Pow算法的输入

比特币,以太坊......区块链技术真的被认同了吗?

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:Zach展--发表在云+社区区块链专栏 近来比特币价格持续走高,掀起了一股"比特潮".比特币更参与到了实际交易中.虽然土耳其政府曾经因为电子货币使用的风险发出过警告,但是据英国<每日邮报>1月30日的报道,土耳其业余足球俱乐部Harunustaspor以2500土耳其里拉(约合7526元人民币)外加0.0524比特币(3445元人民币)的价格签下一位22岁的球员.另外,外媒报道美国支付服务商1月31日宣布Sq

一个简单的以太坊合约让imtoken支持多签

熟悉比特币和以太坊的人应该都知道,在比特币中有2种类型的地址,1开头的是P2PKH,就是个人地址,3开头的是P2SH,一般是一个多签地址.所以在原生上比特币就支持多签.多签的一个优势就是可以多方对一笔付款达成共识,才能支付成功.比如3个人合伙开公司,他们的对外付款是比特币,为了防止管理财务的人作恶,于是他们可以创建2/3多签的地址,每个人持有一个私钥,对于每一笔付款,必须任意2个人都签名了才能支付出去. 比特币上的这个多签地址在以太坊上是没有原生支持的!以太坊最大的优点是支持图灵完备的智能合约,

通过一个案例精通以太坊智能合约和Solidity

作者介绍 Silver CEO 星际区块链信息发展有限公司 项目组件 ??这个项目是一个构建在以太坊上的游戏,感谢这个团队给我们提供的案例:https://cryptozombies.io ??从功能的角度看,有如下脚本: zombiefactory.sol:定义zombie和生成zombie. zombiefeeding.sol:定义小猫接口,给zombie吃小猫. zombieattack.sol:zombie打架的功能. erc721.sol:ERC721代币的接口. ownable.so

比特币、以太坊

关于区域链的应用; namecoin:一个很好的名字注册数据库 colorcoin:作为一个协议允许人们定义自己的数据货币,或者作为一个单元,代币在区域链上 metacoin:在比特币之上的一个协议,用比特币交易来存储附属币的交易但是有不同的交易转换器 建立一个共识协议有两种方法:建立一个独立的网络或者在比特币协议上工作.前者理论上很成功但是实施有很大的困难,后者(metacoin)—不能继承比特币的简化验证功能.   脚本语言 可以定义一个UTXO,一个交易来花费utxo时必须提供脚本语言里描

币圈新手指南-比特币莱特币以太坊瑞波币山寨币等数字货币交易

比特币是什么 [feixiaohao.com]非小号:数字货币大全.(长线必备)可以查看1600+币种数据.非专业人士建议只做长线,因为短线可能因为"神操作"错过暴涨机会,别问我怎么知道的,我已经后悔死啦.山寨币估值方法可以点击这里参考本人另一篇笔记 [aicoin.com]全球数字资产数据大全.(短线必备)可以查看各大交易平台实时价格,K线,资讯,币址查询等功能. ============================================================

ionic3 验证比特币,以太坊,莱特币和其他流行的加密货币地址

Install ??? npm install cryptaddress-validatorionic3 中的引入 import * as cryptaddress from 'cryptaddress-validator';node 引入 const cryptaddress = require('cryptaddress-validator'); cryptaddress().test('1Ez69SnzzmePmZX3WpEzMKTrcBF2gpNQ55') //=> true crypt

IFTNews:就好像理解比特币还不够困难一样,以太坊引入了一个全新的复杂性。即使你有扎实的技术背

IFTNews:就好像理解比特币还不够困难一样,以太坊引入了一个全新的复杂性.即使你有扎实的技术背景,在一切都有意义之前,还需要一些时间和独立的研究--除非你是个天才. 话虽如此,对以太坊如何运作的基本理解实际上可以使一般情况下更容易理解加密货币.您可以看到,以太坊是一个分散的平台,可以在其上编写智能合约(使用Solidity编程语言)并执行.它是支持数百个分散应用程序(dApp)的基础层. 每当在以太网上开发区块链技术和智能合同的新应用程序时,就可以创建一个新的以太令牌.这个过程的简化方面是,

c#实战开发:用.net core开发一个简单的Web以太坊钱包 (六)

今天就来开发一个C# 版的简易钱包 先回顾以前的内容 c#实战开发:以太坊Geth 命令发布智能合约 (五) c#实战开发:以太坊Geth 常用命令 (四) c#实战开发:以太坊钱包快速同步区块和钱包卡死解决方案 (三) c#实战开发:以太坊钱包对接私链 (二) c#实战开发:以太坊私链搭建(一) 先看一下可视化钱包有哪些功能呢? 那这个钱包得有什么功能呢? 1.查看用户 2.查看交易记录 3.转账 4.发布智能合约 5.代币转账 6.代币查询 7.实时同步区块对比 8.智能填写手续费 首先新建