Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/airalab/energyhack_2018
Robonomics workspace for EnergyHack event
https://github.com/airalab/energyhack_2018
hackathon ros ros-melodic
Last synced: 17 days ago
JSON representation
Robonomics workspace for EnergyHack event
- Host: GitHub
- URL: https://github.com/airalab/energyhack_2018
- Owner: airalab
- Created: 2018-11-09T20:56:03.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-11-10T00:06:50.000Z (over 6 years ago)
- Last Synced: 2024-12-09T03:23:14.782Z (2 months ago)
- Topics: hackathon, ros, ros-melodic
- Language: Shell
- Homepage: http://energyhack.ru
- Size: 38.1 KB
- Stars: 1
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
EnergyHack 2018 :: Robonomics workshop
======================================Основы ROS
----------1. Установите ROS на Ubuntu (на виртуальную или хост-систему) по инструкции
```bash
http://wiki.ros.org/melodic/Installation/Ubuntu
```2. Запустите ядро
```bash
roscore
```3. Заведите виртуальную черепашку
```bash
rosrun turtlesim turtlesim_node
```
Здесь `rosrun` - утилита запуска, `turtlesim` - имя пакета, `turtlesim_node` - исполнимый файл в пакете.4. Ознакомьтесь с API черепашки
```bash
rostopic list
rosservice list
```5. Подтолкните черепашку
```bash
rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist "linear: {x: 1.0, y: 0.0, z: 0.0}"
```Рынок обязательств
------------------1. Скачиваем репозиторий с рабочим окружением
```
git clone --recursive https://github.com/airalab/energyhack_2018
```2. Запускаем сервис исполнения обязательств Robonomics.network
> Зависимости: python3, [eth_keyfile](https://github.com/ethereum/eth-keyfile), [base58](https://github.com/keis/base58), [ipfsapi](https://github.com/ipfs/py-ipfs-api), [go-ipfs](https://dist.ipfs.io/#go-ipfs). `pip3 install eth-keyfile base58 ipfsapi`
```
cd energyhack_2018
./ipfs.sh
```И в другом окне:
```
cd energyhack_2018
./liability.sh
```3. Публикуем в сеть *Спрос* и *Предложение* из тестового набора
```
. ws/devel/setup.bash
rostopic pub /liability/infochan/eth/signing/offer robonomics_msgs/Offer "$(cat test_bid.yaml)" -1
rostopic pub /liability/infochan/eth/signing/demand robonomics_msgs/Demand "$(cat test_ask.yaml)" -1
```> В момент публикации важно отслеживать состояние соединения с сетью IPFS, например, так `ipfs pubsub peers energyhack2018.lighthouse.3.robonomics.eth`. Если пиры отсутствуют, необходимо выполнить переподключение командой `ipfs swarm connect /dns4/lighthouse.aira.life/tcp/4001/ipfs/QmdfQmbmXt6sqjZyowxPUsmvBsgSGQjm4VXrV7WGy62dv8`.
4. Наблюдаем процесс создания нового обязательства в сети через [Etherscan](https://kovan.etherscan.io/address/0x35db9531330637e3abde2c4a5baa5cf89672f2c4).
5. Наблюдаем, что модуль исполнения подхватил контракт обязательства.
```
[INFO] [1541801196.193975]: Append 0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB to liability queue.
[INFO] [1541801196.194399]: Prepare to start liability 0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB
```6. Запускаем обязательство на исполнение.
```
rosservice call /liability/start "address: '0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB'"
```7. Завершаем исполнение обязательства.
```
rosservice call /liability/finish "address: '0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB' success: true"
```