web3E(用于单片机的以太坊框架)编译环境说明
这篇文章主要介绍了web3E(用于单片机的以太坊框架)编译环境说明 ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。
https://www.interchains.cc/20802.html
web3E(用于单片机的以太坊框架)编译环境说明是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,web3E(用于单片机的以太坊框架)编译环境说明学习起来其实是很简单的,
不多的几个较为抽象的概念也很容易理解,之所以很多人感觉web3E(用于单片机的以太坊框架)编译环境说明比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难
web3E(用于单片机的以太坊eth框架)编译环境说明
- 智能合约
- 以太坊eth
最近在弄IOT上链的方案,基于树莓派的还好一些,原生支持web3j,单片机就比较麻烦了。我大概搜了一下,2018年有人做了一个web3-arduino,2020年有人做了一个web3e,但这两个都有起码一年没再继续做维护了。所以我在这里做一个编译环境的说明,也差不多是网上能找到与单片机以太坊eth框架相关的第三篇文章了。
最近在弄IOT上链的方案,基于树莓派的还好一些,原生支持web3j,单片机就比较麻烦了。我大概搜了一下,2018年有人做了一个web3-arduino,2020年有人做了一个web3e,但这两个都有起码一年没再继续做维护了。 而且网上的相关资料就两篇,所以我在这里做一个编译环境的说明,也差不多是网上能找到与单片机以太坊eth框架相关的第三篇文章了。
硬件准备
首先要买一块esp32的开发板,这里要求尽量买便宜的,二三十块钱的那种就行。另外还要准备一条usb转接线,一台电脑。 然后管店铺要测试程序和测试代码,保证整个硬件和驱动在逻辑上是畅通的。
安装部分
首先是安装Visual Studio Code,这个比较容易安装。 然后是安装platformio,这个需要在线安装,非常的慢,还容易报错。 然后在quick access里面选择projects & configuration,选择creeate new project来新建工程。这里面主要的是board里面,一定要确定你的esp32的架构是什么,然后选择finish。 注意finish过程中会非常的慢的。
建立好了之后,我们要修改两个地方
一个是platformio.ini,里面增加: lib_deps = Web3E 再一个就是在main函数里面增加相关的example。 我们用的是https://github.com/AlphaWallet/Web3E/tree/master/examples 里面的Query Token Balance代码。 该代码的主要功能是可以查询某个以太坊eth地址里面erc20和erc875的币量
编译及运行程序
点击vscode左下的外星人图标,在project tasks里面,有一个叫做upload and monitor,点击就会自动编译下载,并在串口屏幕进行监控
部分代码说明一
首先是esp32的编程主要是两个函数,一个是void setup(),这个函数是刚开始就启动,并且只启动一次;void loop()是启动后反复循环的函数。
部分代码说明二
const char *ssid = "<YOUR SSID>"; //你的wifi地址 const char *password = "<YOUR WiFi PASSWORD>"; //你的wifi密码 const char *INFURA_HOST = "kovan.infura.io"; //运行的测试网络地址 const char *INFURA_PATH = "/v3/<your Infura token>"; //this is an anonymous infura public API key for courtesy testing, please don't use it for production //你的Infura地址,这个需要在你的Infura网站自行注册 #define NATIVE_ETH_TOKENS "Kovan ETH" //if you switch chains you might want to change this //测试网名称 #define ERC875CONTRACT "0x0b70dd9f8ada11eee393c8ab0dd0d3df6a172876" //an ERC875 token contract on Kovan //要测试的erc875代币地址 #define ERC20CONTRACT "0xb06d72a24df50d4e2cac133b320c5e7de3ef94cb" //and ERC20 token contract on Kovan //要测试的erc20代币地址 #define USERACCOUNT "0x835bb27deec61e1cd81b3a2feec9fbd76b15971d" //a user account that holds Kovan ETH and balances of tokens in the two above contracts //要测试的用户地址
部分代码说明三
void setup() { Serial.begin(115200); //ensure you set your Arduino IDE port config or platformio.ini with monitor_speed = 115200 //设定串口频率 setup_wifi(); //设定网络 string userAddress = USERACCOUNT; //设定用户地址 queryERC20Balance(ERC20CONTRACT, USERACCOUNT); //查询erc20币量 queryERC875Balance(ERC875CONTRACT, USERACCOUNT); //查询erc875币量 }
放在后面的话
由于需要科学上网的原因,在环境搭建的过程中经常报错;此外web3e很久的不更新和例程较少也是很明显的问题。另外一个问题就是web3e运行的硬件太少,不够灵活。 本人的计划是制作通用性更强,可以在stm32,esp32及8266上可以运行的以太坊eth接口库,并且给出不需要科学上网就能完成的方案。 并在此基础上,完成通用性的IOT上链方案。
部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/20802.html
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » web3E(用于单片机的以太坊框架)编译环境说明