Lisk 开发去中心化供应链物流应用-开发环境配置
= 工作坊 0: 安装和配置
这篇文档将会解释如何为这个工作坊准备你的电脑环境。
== 环境要求
=== 硬件
笔记本电脑.
这个教程的项目支持Mac, Linux, 和 Windows.
=== 预装软件
电脑中需要预装的基本软件:
- 类似Visual Studio Code的代码编辑器
- Git
重要提示: 如果你是Windows用户,或者希望直接简便的安装好所有环境依赖,尽快开始编码和运行的步骤,也可以通过Docker镜像完成,相关说明在xref:./DOCKER.md[如何通过Docker设置开发环境].
如果你还是决定按照Docker的配置文档,可以跳过这篇文档下面的部分。
首先你需要手动安装:
- Node.js 版本
v10
(如果你已经安装了不同版,可以使用nvm
来更便捷地切换不同版本的Node.js排;/-【pp/‘//’“
安装数据库 Postgres 10 (https://lisk.io/documentation/lisk-sdk/setup.html[具体可以参考这里的环境配置向导]).
== 1.0 环境配置
配置所需要的软件和硬件并安装所需要的依赖环境。
=== 克隆代码库并安装依赖库
以下步骤描述了如何创建这个教程项目的初始化文件。
["loweralpha"]
. 在本地环境克隆代码库 Lisk-SDK-Examples。
[source,bash]
git clone https://github.com/LiskHQ/lisk-sdk-examples.git
cd lisk-sdk-examples
git checkout lisk-transport
cd transport
其基本的文件目录结构如下:
. lisk-sdk-examples/transport
的目录文件结构
.
├── README.adoc
├── Workshop.adoc
├── client <1>
│ ├── accounts.json
│ ├── app.js
│ ├── package.json
│ ├── scripts
│ └── views
├── iot <2>
│ ├── README.md
│ ├── lisk_rpi_ldr_and_temperature_sensors_wiring.png
│ ├── light_alarm
│ │ ├── package.json
│ │ └── index.js
├── node <3>
│ ├── index.js
│ └── package.json
└── transactions <4>
├── finish-transport.js
├── light-alarm.js
├── register-packet.js
└── start-transport.js
<1> 包含关于 xref:./Workshop2.adoc#project-architecture[客户端]的代码
<2> 包含关于 xref:./Workshop2.adoc#project-architecture[IoT 应用]的代码
<3> 包含关于 xref:./Workshop2.adoc#project-architecture[节点应用]的代码
<4> 包含所有自定义交易(custom transactions), 它们被客户端和节点应用所使用.
. 进入到 transport/transactions
和 transport/node
文件夹,并分别运行 npm install
安装所需要的依赖库。
[source,bash]
cd transactions
npm install
cd ../node
npm install
. 配置数据库:
.. 除非你曾经运行过Lisk,否则可以跳过这个步骤。如果运行过Lisk SDK的项目,首先请删除并重新创建相关数据库: dropdb lisk_dev && createdb lisk_dev --owner lisk
.
. 要检验配置是否正确,可以通过以下命令试着运行一下这个程序:
[source,bash]
node index.js | npx bunyan -o short
这行命令将会运行 index.js
,并打印出控制台输出的日志,日志显示由工具 Bunyan做格式优化。第一次运行节点可能会花费一些时间 (最多可达3 分钟)!
如果一切运行正常,你可以停止节点的运行,点击键盘上的 kbd:[CTRL+C].
提示: 如果节点退出或不能正常运行,可以按照 xref:./DOCKER.md[使用Docker] , 使用 Docker 和 Docker-Compose配置开发环境。
=== 准备IoT设备
[提示]
相关IoT 设备已经为这个教程配置好。下面的描述是如何从一个出厂状态的树莓派配置所需设备。
我们会使用一个光线感应器,温度和湿度感应器在这个教程里不会使用。
====
.参考: 树莓派配置
====
连接感应器::
lisk_rpi_ldr_and_temperature_sensors_wiring.png
准备操作系统::
操作系统需要从电脑复制到SD卡上,我们推荐使用这个镜像文件 https://www.balena.io/etcher/ (相关教程 https://medium.com/@ccarnino/backup-raspberry-pi-sd-card-on-macos-the-2019-simple-way-to-clone-1517af972ca5)
给树莓派安装 ssh
and wifi 连接可以按照这个教程: https://core-electronics.com.au/tutorials/raspberry-pi-zerow-headless-wifi-setup.html
由于我们想在无头模式下运行树莓派(没有键盘,鼠标和显示器),我们需要可以使用ssh
通过USB连接。下面这个教程描述如何实现 https://desertbot.io/blog/ssh-into-pi-zero-over-usb
所有步骤完成后,我们可以把SD卡拿出塞入树莓派的读卡插槽了。
访问感应器数据所需要的类库::
树莓派的针脚如果要用于和不同的感应器通讯,需要安装一些类库。
运行下面的命令安装相关类库:
sudo apt-get install wiringpi
sudo apt-get install pigpio
- NodeJS 可以通过
nvm
安装
====