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/transactionstransport/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 安装
    ====

你可能感兴趣的:(Lisk 开发去中心化供应链物流应用-开发环境配置)