Pages:
Author

Topic: Ⓐ Atom - пишу свою крипту ✌✌✌ - page 8. (Read 23949 times)

member
Activity: 202
Merit: 27
Atom foundation
Завел отдельную ветку по вопросу консенсуса
https://bitcointalksearch.org/topic/pow-3867866
member
Activity: 202
Merit: 27
Atom foundation
jr. member
Activity: 200
Merit: 1
Вот это плюс,я тоже разрабатываю,но пока только на старте.Желаю удачи,буду следить за результатами.
newbie
Activity: 56
Merit: 0
КрасавчеГГГ Wink Wink Wink Больше половины не понимаю из того что пишешь, но уверен что у тебя все получится))) Про идею не парься, не думаю что Сатоши занимаясь битком ставил себе какие то конкретные цели, да и много прорывов делалось сначала на коленке для себя... Т.ч. к хорошему продукту идея сама прикрутится по дороге)))

Кстати как тебе идея прям тут в топике устроить конкурс на лучшую идею, а автору потом монеток своих отсыпишь от души)))

И маленький советик - присмотрись к WAVES, точней его возможности на его базе создавать свои токены с обеспечением в твоих атомах. А если еще будет предусмотрена возможность выпуска пластиковых карт, да чтоб на одной карте и Атом Пятерочки и Атом Спортмастера и куча других атомов от крупных продавцев, так вообще бомба будет, а толопатник уже в карман не влазит, а по факту там только карты разных магазинов с бонусами...(кстати если будет конкурс идей, то эту тоже можешь считать)
newbie
Activity: 117
Merit: 0
Интересный топик, будут следить за твоими успехами, молодец и удачи тебе.
member
Activity: 202
Merit: 27
Atom foundation
Хорошая идея,я вас поддерживаю.Сам пишу крипту,как по мне,здесь самое главное разобраться что к чему.

На чем пишите? Какие инновации собираетесь вносить в свою крипту?
newbie
Activity: 90
Merit: 0
Хорошая идея,я вас поддерживаю.Сам пишу крипту,как по мне,здесь самое главное разобраться что к чему.
member
Activity: 202
Merit: 27
Atom foundation
Да, я смотрел в сторону websocket и как я понял, zeroMQ решает сразу много проблем без сложного кода. очереди, потоки итд
SockJS позволяет принимать сообщения от ZeroMQ сервера. Я буду использовать его, в таком случае не будет проблем с websocket?

Не должно. В принципе ZMQ надежная и проверенная в работе технология, поэтому с ней проблем не должно возникнуть. 

Ок, изучаю эту тему, не просто разобраться, на русском очень мало информации, точнее практически нет.

Что ж, желаю успехов в твоём начинании.

воу.успехов тебе друг.буду следить за этой веткой

 Wink спасибо
jr. member
Activity: 182
Merit: 1
воу.успехов тебе друг.буду следить за этой веткой
newbie
Activity: 24
Merit: 0
Что ж, желаю успехов в твоём начинании.
jr. member
Activity: 54
Merit: 1
Да, я смотрел в сторону websocket и как я понял, zeroMQ решает сразу много проблем без сложного кода. очереди, потоки итд
SockJS позволяет принимать сообщения от ZeroMQ сервера. Я буду использовать его, в таком случае не будет проблем с websocket?

Не должно. В принципе ZMQ надежная и проверенная в работе технология, поэтому с ней проблем не должно возникнуть. 
member
Activity: 202
Merit: 27
Atom foundation
newbie
Activity: 238
Merit: 0
Полезный топик, хоть идеи и нету но можно паралельно вашим описаниемлюдям которые вообще ничего не понимают начать развиваться, так сказать краткий курс для начинающих)
jr. member
Activity: 54
Merit: 1
Используйте веб-сокеты. Это позволит обеспечить совместимость с наибольшим количеством программ/устройств. В отличие от ZeroMQ WebSocket уже встроен в браузеры, что позволит создать коммуникацию между нодами и кошельками без посредников. Это сильно облегчит задачу разработчикам по интеграции вашего продукта: много кто знает как работать с ws, а с zeromq - работали несколько тысяч разработчиков.

Для Python есть библиотека websockets. Она поддерживается в актуальном состоянии. Если не можете разобраться – stackoverflow в помощь.

Удачи.
legendary
Activity: 2744
Merit: 1588
Ссылка на логотип не рабочая.
member
Activity: 202
Merit: 27
Atom foundation
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
первый кто углядит смысл логотипа, получит потом атомов  Cheesy






member
Activity: 202
Merit: 27
Atom foundation
6. Консенсус

Следующая задача это консенсус. Мы научились передавать сообщения и теперь надо изобрести опять велосипед и создать простой алгоритм консенсуса в p2p сети, в данном случае между несколькими компьютерами.

Надо:
- договориться между нодами, какая транзакция будет обрабатываться следующая
- договориться о ее порядковом номере
- провести проверку транзакции в каждой ноде, записать в базу и создать новый блок в цепочке используя наше любимое хеширование
- обменяться последними хешами и подтвердить транзакцию

Пока займусь первым и вторым пунктом, а именно достижения консенсуса в номере следующей транзакции


с возвращением, бро! Пожалуй самая интересная тема на БТТ, лично для меня. Продолжай в том же духе, успехов!

Спасибо, бро

jr. member
Activity: 280
Merit: 3
с возвращением, бро! Пожалуй самая интересная тема на БТТ, лично для меня. Продолжай в том же духе, успехов!
member
Activity: 202
Merit: 27
Atom foundation
5. Сокеты, сокеты, они такие сокеты

Пришлось отказаться от готовых модулей для питона, о которых я писал раньше, оказалось, что либо они глючят, либо не обновлялись много лет или, возможно, я не смог до конца разобраться в них, поэтому пришлось разбираться в сокетах и отправке сообщения peer 2 peer, самостоятельно.

Что оказалось полезно, для цельного понимания
http://micromind.me/posts/writing-python-web-server-part-1
https://www.youtube.com/watch?v=_vAjHdh92YU

По итогу, в сухом остатке, код на питоне выглядит так:
Code:
#!/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()

Прием сообщений от ноды, отправка сообщения в ноду и создание двух параллельных потоков.
Теперь нужно сформировать сообщение которое надо будет отправить, получить другой нодой и обработать, после чего достигнуть по этой информации консенсуса.
member
Activity: 202
Merit: 27
Atom foundation
Pages:
Jump to: