Code Monkey home page Code Monkey logo

korum's Introduction

EnergyHack 2018 :: Robonomics workshop

Основы ROS

  1. Установите ROS на Ubuntu (на виртуальную или хост-систему) по инструкции
http://wiki.ros.org/melodic/Installation/Ubuntu
  1. Запустите ядро
roscore
  1. Заведите виртуальную черепашку
rosrun turtlesim turtlesim_node

Здесь rosrun - утилита запуска, turtlesim - имя пакета, turtlesim_node - исполнимый файл в пакете.

  1. Ознакомьтесь с API черепашки
rostopic list
rosservice list
  1. Подтолкните черепашку
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
  1. Запускаем сервис исполнения обязательств Robonomics.network

Зависимости: python3, eth_keyfile, base58, ipfsapi, go-ipfs. pip3 install eth-keyfile base58 ipfsapi

cd energyhack_2018
./ipfs.sh

И в другом окне:

cd energyhack_2018
./liability.sh
  1. Публикуем в сеть Спрос и Предложение из тестового набора
. 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.

  1. Наблюдаем процесс создания нового обязательства в сети через Etherscan.

  2. Наблюдаем, что модуль исполнения подхватил контракт обязательства.

[INFO] [1541801196.193975]: Append 0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB to liability queue.
[INFO] [1541801196.194399]: Prepare to start liability 0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB
  1. Запускаем обязательство на исполнение.
rosservice call /liability/start "address: '0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB'"
  1. Завершаем исполнение обязательства.
rosservice call /liability/finish "address: '0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB' success: true"

korum's People

Contributors

rinatgumarov avatar hypnodron avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.