lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
May 04, 2018, 08:54:38 PM |
|
5. Сокеты, сокеты, они такие сокетыПришлось отказаться от готовых модулей для питона, о которых я писал раньше, оказалось, что либо они глючят, либо не обновлялись много лет или, возможно, я не смог до конца разобраться в них, поэтому пришлось разбираться в сокетах и отправке сообщения peer 2 peer, самостоятельно. Что оказалось полезно, для цельного понимания http://micromind.me/posts/writing-python-web-server-part-1https://www.youtube.com/watch?v=_vAjHdh92YUПо итогу, в сухом остатке, код на питоне выглядит так: #!/user/env python3 # -*- coding: utf-8 -*-
import socket import time import threading
# # Ждем сообщения от ноды 1264 # def server(): # слушаем и отправляем данные s = socket.socket(socket.AF_INET, # задамем семейство протоколов 'Интернет' (INET) socket.SOCK_STREAM, # задаем тип передачи данных 'потоковый' (TCP) proto=0) host = socket.gethostname() print(host) port = 1264 s.bind((host, port))
s.listen(5)
while True: c, addr = s.accept() c.send(b'Answer from node 1, adr: ' + str(addr).encode()) while True: # Пока клиент не отключился, читаем передаваемые # им данные и отправляем их обратно data = c.recv(1024) if not data: # Клиент отключился break else: print(data.decode())
# # Отправляем сообщения ноде на 1265 порту # def client(): while True: s_get = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = socket.gethostname() port = 1265 while True: try: s_get.connect((host, port)) break except ConnectionRefusedError: time.sleep(10) print ('Try connect')
s_get.sendall(b'Msg from node 1') data = s_get.recv(1024) s_get.close() print('Received', repr(data.decode())) time.sleep(10)
if __name__ == '__main__': my_thread_server = threading.Thread(target=server, args=()) my_thread_client = threading.Thread(target=client, args=()) my_thread_server.start() my_thread_client.start() Прием сообщений от ноды, отправка сообщения в ноду и создание двух параллельных потоков. Теперь нужно сформировать сообщение которое надо будет отправить, получить другой нодой и обработать, после чего достигнуть по этой информации консенсуса.
|
|
|
|
BelarusToken
Jr. Member
Offline
Activity: 280
Merit: 3
|
|
May 04, 2018, 09:09:04 PM |
|
с возвращением, бро! Пожалуй самая интересная тема на БТТ, лично для меня. Продолжай в том же духе, успехов!
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
May 05, 2018, 10:14:56 AM |
|
6. КонсенсусСледующая задача это консенсус. Мы научились передавать сообщения и теперь надо изобрести опять велосипед и создать простой алгоритм консенсуса в p2p сети, в данном случае между несколькими компьютерами. Надо: - договориться между нодами, какая транзакция будет обрабатываться следующая - договориться о ее порядковом номере - провести проверку транзакции в каждой ноде, записать в базу и создать новый блок в цепочке используя наше любимое хеширование - обменяться последними хешами и подтвердить транзакцию Пока займусь первым и вторым пунктом, а именно достижения консенсуса в номере следующей транзакциис возвращением, бро! Пожалуй самая интересная тема на БТТ, лично для меня. Продолжай в том же духе, успехов!
Спасибо, бро
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
May 11, 2018, 08:05:37 PM Last edit: May 11, 2018, 09:34:16 PM by lapitsky |
|
7. ZeroMQ или сокеты на стероидах1. Вобщем до сих пор не написал и кусочка кода, так как не могу понять, как лучше заставить общаться ноды p2p. Изучив тонны решений, пришел к выводу, что стоит использовать ZeroMQ, так как он имеет готовое решение для python в виде модуля pyZMQ. http://zguide.zeromq.org/py:all - Параллельно стал переводить эту статью, так как руководства по zeromq на русском нет, по крайней мере толкового. Юмор создателей этого сокета на стероидах , зашкаливает, так что проект мне по духу и я рад что он станет частью атома. 2. параллельно разрабатываю свой алгоритм консенсуса, который уже вырисовывается в что-то похожее на правду, чуть позже опишу принцип его работы, так как сейчас он сырой. 3. к проекту Атом, присоединился дизайнер и у нас теперь есть логотип, пока все по фану, так и логотип будет по фану https://psv4.userapi.com/c848016/u63431/docs/d3/880bd34f7d0b/asdasdasd.pngпервый кто углядит смысл логотипа, получит потом атомов
|
|
|
|
imhoneer
Legendary
Offline
Activity: 2688
Merit: 1583
|
|
May 12, 2018, 11:16:27 AM |
|
Ссылка на логотип не рабочая.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
rumkin
Jr. Member
Offline
Activity: 54
Merit: 1
|
|
May 12, 2018, 02:07:13 PM |
|
Используйте веб-сокеты. Это позволит обеспечить совместимость с наибольшим количеством программ/устройств. В отличие от ZeroMQ WebSocket уже встроен в браузеры, что позволит создать коммуникацию между нодами и кошельками без посредников. Это сильно облегчит задачу разработчикам по интеграции вашего продукта: много кто знает как работать с ws, а с zeromq - работали несколько тысяч разработчиков. Для Python есть библиотека websockets. Она поддерживается в актуальном состоянии. Если не можете разобраться – stackoverflow в помощь. Удачи.
|
Blockchain Developer | https://rumk.in
|
|
|
swetkalukashova
Newbie
Offline
Activity: 238
Merit: 0
|
|
May 12, 2018, 06:04:49 PM |
|
Полезный топик, хоть идеи и нету но можно паралельно вашим описаниемлюдям которые вообще ничего не понимают начать развиваться, так сказать краткий курс для начинающих)
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
May 12, 2018, 08:11:52 PM |
|
Ссылка на логотип не рабочая.
починил, должно работать Используйте веб-сокеты. Это позволит обеспечить совместимость с наибольшим количеством программ/устройств. В отличие от ZeroMQ WebSocket уже встроен в браузеры, что позволит создать коммуникацию между нодами и кошельками без посредников. Это сильно облегчит задачу разработчикам по интеграции вашего продукта: много кто знает как работать с ws, а с zeromq - работали несколько тысяч разработчиков. Для Python есть библиотека websockets. Она поддерживается в актуальном состоянии. Если не можете разобраться – stackoverflow в помощь. Удачи. Да, я смотрел в сторону websocket и как я понял, zeroMQ решает сразу много проблем без сложного кода. очереди, потоки итд SockJS позволяет принимать сообщения от ZeroMQ сервера. Я буду использовать его, в таком случае не будет проблем с websocket? Полезный топик, хоть идеи и нету но можно паралельно вашим описаниемлюдям которые вообще ничего не понимают начать развиваться, так сказать краткий курс для начинающих)
в целом да, именно так) идея пока потихоньку вырисовывается, додумываю консенсус, некий гебрид POW для малых групп нод.
|
|
|
|
rumkin
Jr. Member
Offline
Activity: 54
Merit: 1
|
|
May 12, 2018, 08:40:51 PM |
|
Да, я смотрел в сторону websocket и как я понял, zeroMQ решает сразу много проблем без сложного кода. очереди, потоки итд SockJS позволяет принимать сообщения от ZeroMQ сервера. Я буду использовать его, в таком случае не будет проблем с websocket?
Не должно. В принципе ZMQ надежная и проверенная в работе технология, поэтому с ней проблем не должно возникнуть.
|
Blockchain Developer | https://rumk.in
|
|
|
d1ma199696
Newbie
Offline
Activity: 24
Merit: 0
|
|
May 14, 2018, 05:09:31 AM |
|
Что ж, желаю успехов в твоём начинании.
|
|
|
|
kirillkurak
Jr. Member
Offline
Activity: 182
Merit: 1
|
|
May 14, 2018, 08:33:46 AM |
|
воу.успехов тебе друг.буду следить за этой веткой
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
May 15, 2018, 11:06:51 PM |
|
Да, я смотрел в сторону websocket и как я понял, zeroMQ решает сразу много проблем без сложного кода. очереди, потоки итд SockJS позволяет принимать сообщения от ZeroMQ сервера. Я буду использовать его, в таком случае не будет проблем с websocket?
Не должно. В принципе ZMQ надежная и проверенная в работе технология, поэтому с ней проблем не должно возникнуть. Ок, изучаю эту тему, не просто разобраться, на русском очень мало информации, точнее практически нет. Что ж, желаю успехов в твоём начинании.
воу.успехов тебе друг.буду следить за этой веткой
спасибо
|
|
|
|
krasik
Newbie
Offline
Activity: 90
Merit: 0
|
|
May 16, 2018, 03:08:38 PM |
|
Хорошая идея,я вас поддерживаю.Сам пишу крипту,как по мне,здесь самое главное разобраться что к чему.
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
May 16, 2018, 03:10:27 PM |
|
Хорошая идея,я вас поддерживаю.Сам пишу крипту,как по мне,здесь самое главное разобраться что к чему.
На чем пишите? Какие инновации собираетесь вносить в свою крипту?
|
|
|
|
Mafik777
Newbie
Offline
Activity: 117
Merit: 0
|
|
May 16, 2018, 05:07:27 PM |
|
Интересный топик, будут следить за твоими успехами, молодец и удачи тебе.
|
|
|
|
bugor3113
Newbie
Offline
Activity: 56
Merit: 0
|
|
May 16, 2018, 05:57:25 PM |
|
КрасавчеГГГ Больше половины не понимаю из того что пишешь, но уверен что у тебя все получится))) Про идею не парься, не думаю что Сатоши занимаясь битком ставил себе какие то конкретные цели, да и много прорывов делалось сначала на коленке для себя... Т.ч. к хорошему продукту идея сама прикрутится по дороге))) Кстати как тебе идея прям тут в топике устроить конкурс на лучшую идею, а автору потом монеток своих отсыпишь от души))) И маленький советик - присмотрись к WAVES, точней его возможности на его базе создавать свои токены с обеспечением в твоих атомах. А если еще будет предусмотрена возможность выпуска пластиковых карт, да чтоб на одной карте и Атом Пятерочки и Атом Спортмастера и куча других атомов от крупных продавцев, так вообще бомба будет, а толопатник уже в карман не влазит, а по факту там только карты разных магазинов с бонусами...(кстати если будет конкурс идей, то эту тоже можешь считать)
|
|
|
|
nrgmanuk
Jr. Member
Offline
Activity: 200
Merit: 1
|
|
May 16, 2018, 06:28:45 PM |
|
Вот это плюс,я тоже разрабатываю,но пока только на старте.Желаю удачи,буду следить за результатами.
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
May 16, 2018, 09:19:20 PM |
|
Интересный топик, будут следить за твоими успехами, молодец и удачи тебе.
КрасавчеГГГ Больше половины не понимаю из того что пишешь, но уверен что у тебя все получится))) Про идею не парься, не думаю что Сатоши занимаясь битком ставил себе какие то конкретные цели, да и много прорывов делалось сначала на коленке для себя... Т.ч. к хорошему продукту идея сама прикрутится по дороге))) Кстати как тебе идея прям тут в топике устроить конкурс на лучшую идею, а автору потом монеток своих отсыпишь от души))) И маленький советик - присмотрись к WAVES, точней его возможности на его базе создавать свои токены с обеспечением в твоих атомах. А если еще будет предусмотрена возможность выпуска пластиковых карт, да чтоб на одной карте и Атом Пятерочки и Атом Спортмастера и куча других атомов от крупных продавцев, так вообще бомба будет, а толопатник уже в карман не влазит, а по факту там только карты разных магазинов с бонусами...(кстати если будет конкурс идей, то эту тоже можешь считать) Привет, спасибо за поддержку! Создаю свою идею, без какой-либо цели, иллюзий не питаю. Поэтому waves пока не рассматриваю и если надумаю выпускать токены под краудфандинг (как вариант), то буду изучать waves, как один из способов. А в целом, чем дальше в лес, тем больше становится понятна технология блокчейн, а это уже очень большой профит. Вот это плюс,я тоже разрабатываю,но пока только на старте.Желаю удачи,буду следить за результатами.
Это очень круто, уже много людей написали о том, что разрабатывают свою крипту. Ты на чем делаешь, в чем фишка?
|
|
|
|
lapitsky (OP)
Member
Offline
Activity: 202
Merit: 27
Atom foundation
|
|
May 16, 2018, 09:37:03 PM |
|
|
|
|
|
Cora_ED
Jr. Member
Offline
Activity: 140
Merit: 1
|
|
May 17, 2018, 04:23:41 AM |
|
Интересный топик, будут следить за твоими успехами, молодец и удачи тебе.
Присоединяюсь. Я тут теперь
|
|
|
|
|