{"id":22636399,"url":"https://github.com/airalab/energyhack_2018","last_synced_at":"2026-05-14T23:03:49.513Z","repository":{"id":69721299,"uuid":"156917155","full_name":"airalab/energyhack_2018","owner":"airalab","description":"Robonomics workspace for EnergyHack event","archived":false,"fork":false,"pushed_at":"2018-11-10T00:06:50.000Z","size":39,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T04:47:11.378Z","etag":null,"topics":["hackathon","ros","ros-melodic"],"latest_commit_sha":null,"homepage":"http://energyhack.ru","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/airalab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-09T20:56:03.000Z","updated_at":"2024-06-25T12:31:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"2ecce868-6d0d-4501-83ba-36b75e111021","html_url":"https://github.com/airalab/energyhack_2018","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/airalab/energyhack_2018","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airalab%2Fenergyhack_2018","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airalab%2Fenergyhack_2018/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airalab%2Fenergyhack_2018/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airalab%2Fenergyhack_2018/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/airalab","download_url":"https://codeload.github.com/airalab/energyhack_2018/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airalab%2Fenergyhack_2018/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260901728,"owners_count":23079821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hackathon","ros","ros-melodic"],"created_at":"2024-12-09T03:21:07.484Z","updated_at":"2025-10-08T10:14:42.236Z","avatar_url":"https://github.com/airalab.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"EnergyHack 2018 :: Robonomics workshop \n======================================\n\nОсновы ROS\n----------\n\n1. Установите ROS на Ubuntu (на виртуальную или хост-систему) по инструкции\n```bash\nhttp://wiki.ros.org/melodic/Installation/Ubuntu\n```\n\n2. Запустите ядро\n```bash\nroscore\n```\n\n3. Заведите виртуальную черепашку\n```bash\nrosrun turtlesim turtlesim_node\n```\nЗдесь `rosrun` - утилита запуска, `turtlesim` - имя пакета, `turtlesim_node` - исполнимый файл в пакете.\n\n4. Ознакомьтесь с API черепашки\n```bash\nrostopic list\nrosservice list\n```\n\n5. Подтолкните черепашку\n```bash\nrostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist \"linear: {x: 1.0, y: 0.0, z: 0.0}\"\n```\n\nРынок обязательств\n------------------\n\n1. Скачиваем репозиторий с рабочим окружением\n\n```\ngit clone --recursive https://github.com/airalab/energyhack_2018\n```\n\n2. Запускаем сервис исполнения обязательств Robonomics.network\n\n\u003e Зависимости: 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`\n\n```\ncd energyhack_2018\n./ipfs.sh\n```\n\nИ в другом окне:\n\n```\ncd energyhack_2018\n./liability.sh\n```\n\n3. Публикуем в сеть *Спрос* и *Предложение* из тестового набора \n\n```\n. ws/devel/setup.bash\nrostopic pub /liability/infochan/eth/signing/offer robonomics_msgs/Offer \"$(cat test_bid.yaml)\" -1\nrostopic pub /liability/infochan/eth/signing/demand robonomics_msgs/Demand \"$(cat test_ask.yaml)\" -1\n```\n\n\u003e В момент публикации важно отслеживать состояние соединения с сетью IPFS, например, так `ipfs pubsub peers energyhack2018.lighthouse.3.robonomics.eth`. Если пиры отсутствуют, необходимо выполнить переподключение командой `ipfs swarm connect /dns4/lighthouse.aira.life/tcp/4001/ipfs/QmdfQmbmXt6sqjZyowxPUsmvBsgSGQjm4VXrV7WGy62dv8`.\n\n4. Наблюдаем процесс создания нового обязательства в сети через [Etherscan](https://kovan.etherscan.io/address/0x35db9531330637e3abde2c4a5baa5cf89672f2c4).\n\n5. Наблюдаем, что модуль исполнения подхватил контракт обязательства.\n\n```\n[INFO] [1541801196.193975]: Append 0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB to liability queue.\n[INFO] [1541801196.194399]: Prepare to start liability 0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB\n```\n\n6. Запускаем обязательство на исполнение.\n\n```\nrosservice call /liability/start \"address: '0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB'\"\n```\n\n7. Завершаем исполнение обязательства. \n\n```\nrosservice call /liability/finish \"address: '0xB53AF1F456d1a1BE928feFDE9a9ffCB8FC0eEebB' success: true\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairalab%2Fenergyhack_2018","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fairalab%2Fenergyhack_2018","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairalab%2Fenergyhack_2018/lists"}