欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

ESP32实现IOTA区块链钱包

程序员文章站 2022-06-23 20:26:27
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档ESP32实现IOTA钱包功能前言一、IOTA是什么?二、ESP32开发环境(Linux)1.安装ESP-IDF2.按照官方文档安装xtensa-esp32 toolchain3.安装一个例程测试模块4.下载IOTA钱包代码4.钱包配置5.编译&烧录总结前言区块链+物联网是当今新兴的一个技术方向。一、IOTA是什么?IOTA是为物联网(IoT)而设计的一个革命性的新型交易结算和数据转移层。它基于新型的分布式账本——Ta...

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

区块链+物联网是当今新兴的一个技术方向。

一、IOTA是什么?

IOTA是为物联网(IoT)而设计的一个革命性的新型交易结算和数据转移层。它基于新型的分布式账本——Tangle(缠结)。Tangle能够克服现有区块链设计中的低效性,并为去中心化P2P系统共识的达成创造了一种新方法。通过IOTA进行转账不需要支付手续费,这是首例。这也就意味着,无论是多小额的支付都能通过IOTA完成。

IOTA是机器经济所稀缺的一部分,能够完全实现其潜力。我们期望IOTA能够成为物联网公开的支柱,能够在所有设备中实现真正的互通。

详细看官网:link

二、ESP32开发环境(Linux)

1.安装ESP-IDF

代码如下(示例):

git clone -b v4.0.1 --recursive https://github.com/espressif/esp-idf.git
./install.sh
source ./export.sh

2.按照官方文档安装xtensa-esp32 toolchain

网站如下(示例):

https://docs.espressif.com/projects/esp-idf/en/v3.3.1/get-started-cmake/linux-setup.html

3.安装一个例程测试模块

如下:

cd esp-idf/examples/get-started/hello_world
idf.py menuconfig
idf.py build
idf.py -p /dev/ttyUSB0 flash && idf.py -p /dev/ttyUSB0 monitor

当出现如下输出的时候表示模块正常

I (0) cpu_start: App cpu up.
I (184) heap_init: Initializing. RAM available for dynamic allo
cation:
I (191) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (197) heap_init: At 3FFB2EF8 len 0002D108 (180 KiB): DRAM
I (204) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (210) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (216) heap_init: At 40089560 len 00016AA0 (90 KiB): IRAM
I (223) cpu_start: Pro cpu start user code
I (241) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
Hello world!
This is ESP32 chip with 2 CPU cores, WiFi/BT/BLE, silicon revision 1, 4MB external flash

4.下载IOTA钱包代码

代码如下:

git clone --recursive https://github.com/kingstenzzz/iota_esp32_wallet.git
cd iota_esp32_wallet
bash ./init.sh

4.钱包配置

代码如下:

idf.py menuconfig

ESP32实现IOTA区块链钱包
进入配置界面,根据自己的网络环境配置好WIFI的SSID的密码。
进入IOTA Node
ESP32实现IOTA区块链钱包

测试网络的URL:nodes.devnet.iota.org(其他网络的URL可以在官网查询)
//在linux终端下运行一下命令生成81位随机数+字幕种子
cat /dev/urandom |tr -dc A-Z9|head -c${1:-81}

      

5.编译&烧录

idf.py build
idf.py -p /dev/ttyUSB0 flash && idf.py -p /dev/ttyUSB0 monitor//ttyUSB0因人而异

编译烧录按完成后输出:
ESP32实现IOTA区块链钱包
如果出现一下情况,需要在上面的钱包配置中enable mbedTLS hardware acceleration,具体打开一下链接https://github.com/espressif/esp-idf/issues/5321#issuecomment-631183247
ESP32实现IOTA区块链钱包
注:种子是相当于钱包的私钥,要保存好,如果出现以下情况*,检查一下种子长度是否81位
ESP32实现IOTA区块链钱包

总结

到这里已经esp32上安装IOTA钱包,具体如何进行交易看后面继续更新。

https://github.com/oopsmonk/iota_esp32_wallet

下一篇:ESP32实现IOTA区块链钱包

本文地址:https://blog.csdn.net/weixin_40030061/article/details/110187560