http://www.7klian.com

[Chainlink] 利用Chainlink价值供稿将自动售货机转换为接管加密钱币付款

[Chainlink] 操作Chainlink代价供稿将自动售货机转换为经受加密货币付款

进级自动售货机以接管加密钱币需要什么?

对付答允人们以其选择的钱币(包罗加密钱币)举办生意业务的自动化现实世界系统,这些外部系统需要可以或许与区块链举办对话并互换对两种情况都有意义的生意业务逻辑。 Chainlink oracle是这些系统之间的桥梁,旨在将外部输入安详地毗连到智能合约。

作为这种现实世界毗连的一个很好的例子,Chainlink虚拟黑客马拉松的获奖者之一,开拓商Ted Nivan,利用Chainlink外部适配器将模仿的水果自动售货机毗连到Chainlink ETH / USD价值Feed甲骨文,因此可以接管ETH。作为购置单份水果的钱币。 在这篇文章中,Ted表明白他是如何构建的。

泰德·尼文(Ted Nivan)

水果市场是一个开放的观念证明,旨在实验一种利用加密钱币购置自动售货机的新要领。 利用水果市场,用户将可以在没有收银员的环境下在手机钱包上利用区块链技能购置自动售货机。 详细来说,本教程将通过参考Chainlink ETH / USD价值Feed以公正的市场价值为产物订价,向开拓人员展示将自动售货机转换为将ETH用作钱币的步调。

您将学到什么:

如何整合Chainlink ETH / USD价值Feed甲骨文 如何将硬件设备毗连到Web

开拓人员先决条件

此dApp需要软件和硬件组件。

软件:

Infura:用于毗连以太坊网络。 作为开拓人员,您需要一个Infura密钥。 Web3JS:前端用于与以太坊网络举办交互。 WebUSB:用于通过Web与硬件设备对话。 Arduino IDE:用于刷新设备的固件。

硬件:

需要处事器或便携式计较机作为主机。 Arduino Nano 33 IoT:用作模仿自动售货机的硬件设备。 Arduino开拓板易于利用和编程,是硬件开拓板的风行选择。

技能概述

本教程将引导开拓人员慢慢完成GitHub存储库中的步调,您可以在开始之前熟悉它们。 为Chainlink虚拟黑客马拉松提交的视频也是相识组件如何协同事情的长处所。

[Chainlink] 操作Chainlink代价供稿将自动售货机转换为经受加密货币付款

水果市场的观念系统逻辑图证明

从左侧开始,我们在以太坊上运行的应用措施利用Chainlink ETH / USD价值供稿。 我们将利用此价值Feed将水果的美元价值转换为以太(ETH)。 付款乐成后,dApp会从主机(计较机)向设备(Arduino开拓板)发送信号以获取水果。 假设我们没有物理自动售货机,我们将通过打开LED确认水果交付来模仿这种行为。

配置项目

在这里,我们将看到如安在当地运行该应用措施。

克隆水果市场存储库。

git clone https://github.com/TedNIVAN/fruity-market.git

2.初始化项目。

cd水果市场npm i

3.在src / .env_sample中配置您的Infura API密钥

4.将src / .env_sample重定名为src / .env

5.构建项目。

npm run dev

该应用措施应在以下位置运行:http:// localhost:1234

刷新Arduino固件

一旦我们运行了应用措施,下一步就是安装Arduino IDE,然后刷新Arduino固件。 必需执行此操纵以启用设备与应用措施之间的通信,并表明传输的数据。

此步调所需的Arduino固件可在此处找到。

该代码执行以下任务:

它仅授权设备通过HTTPS与应用措施页面tednivan.github.io/fruity-market/app通信。 请留意,,假如通讯在当地(http:// localhost:1234 /)运行,它也将起浸染。 它成立串行通信。 它期待字符H切换LED。
该代码在Arduino NANO 33 IoT上运行,但大大都Arduino板均支持该代码。 请在此处查察支持的板的完整列表。

#include / ** *建设WebUSBSerial实例将向*标志为特定于供给商(而不是USB CDC-ACM)的设备添加一个特另外USB接口,因此欣赏器可以会见*。 * *此处的URL向欣赏器提示用户*应该导航到哪个页面才气与设备举办交互。 * / WebUSB WebUSBSerial(1 / * https:// * /,“ tednivan.github.io/fruity-market/app”); #define串行WebUSBSerial const int ledPin = 13; void setup(){while(!Serial){; } Serial.begin(9600); Serial.write(“ Sketch starts.rn>”); Serial.flush(); pinMode(ledPin,输出); } void loop(){if(Serial && Serial.available()){int byte = Serial.read(); Serial.write(byte); 假如(字节==’H’){Serial.write(“ rn打开LED。”); digitalWrite(ledPin,HIGH); delay(2000); Serial.write(“ rn封锁LED。”); digitalWrite(ledPin,LOW); delay(2000); } Serial.write(“ rn>”); Serial.flush(); }}

这些是刷新固件所需的步调:

利用USB电缆将Arduino毗连到您的PC或用于主机的任何设备。 打开Arduino软件(IDE)。 选择对应的端口和板。 打开从项目标GitHub存储库中获取的fruity-market.ino草图。 上载草图。
假如您不熟悉Arduino,请查阅本指南。

深入探讨智能合约

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。