• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Реализация InstantX

smmarat

Member
Хочу реализовать InstantX-платежи в своем кошельке. Порылся на dashpay.atlassian.net, нашёл много user's guide и всякого разного но не нашёл какого-нибудь описания протокола (вроде https://en.bitcoin.it/wiki/Protocol_documentation). Идеально было бы найти что-то вроде SDK или хотя бы примеры кода. Если такого нет, согласен на любые советы и пояснения "на пальцах", могу по результату сделать описание для следующих кто будет искать то же самое
 
Описания протокола нормальными словами нет, есть только код https://github.com/dashpay/dash/blob/master/src/instantx.cpp :oops:
Вкратце: клент шлет p2p сообщение "ix", содержащее транзакцию, top10 мастернод (определенные по хэшу блока для последнего входа) проверяют и шлют подписанное сообщение "txlock". Все клиенты собирают и ждут минимум 6 таких подтверждений (и тоже проверяют не только подпись, но и саму транзакцию). После получения 6 правильных "txlock" транзакция считается успешной, а конфликтующие транзакции (использующие те же входы) и содержащие их блоки отклоняются.

Сторонние реализации:
- iOS https://dashtalk.org/threads/dash-iphone-wallet.6079/ (https://github.com/QuantumExplorer/dashwallet)
- Android https://dashtalk.org/threads/dash-wallet-for-android-ix-w-send-and-receive-new-ui.8228/
- вендинговый аппарат https://dashtalk.org/threads/dashvend-miami-soda-machine-tech-demo-software.8001/

PS. выделил в отдельную тему
 
Описания протокола нормальными словами нет, есть только код https://github.com/dashpay/dash/blob/master/src/instantx.cpp :oops:
Вкратце: клент шлет p2p сообщение "ix", содержащее транзакцию, top10 мастернод (определенные по хэшу блока для последнего входа) проверяют и шлют подписанное сообщение "txlock". Все клиенты собирают и ждут минимум 6 таких подтверждений (и тоже проверяют не только подпись, но и саму транзакцию). После получения 6 правильных "txlock" транзакция считается успешной, а конфликтующие транзакции (использующие те же входы) и содержащие их блоки отклоняются.

Сторонние реализации:
- iOS https://dashtalk.org/threads/dash-iphone-wallet.6079/ (https://github.com/QuantumExplorer/dashwallet)
- Android https://dashtalk.org/threads/dash-wallet-for-android-ix-w-send-and-receive-new-ui.8228/
- вендинговый аппарат https://dashtalk.org/threads/dashvend-miami-soda-machine-tech-demo-software.8001/

PS. выделил в отдельную тему
кажется надо выделять силы на документацию побольше. Кстати, что надо знать чтобы стать разработчиком криптовалют?
 
кажется надо выделять силы на документацию побольше. Кстати, что надо знать чтобы стать разработчиком криптовалют?
Так предложение бюджетное создайте, что бы профинансировать образцовую техдокументацию на английском, русском, испанском и китайским языках, главное расписать грамотно и придумать кто это сделает и переведет на основные мировые языки.
 
Так предложение бюджетное создайте, что бы профинансировать образцовую техдокументацию на английском, русском, испанском и китайским языках, главное расписать грамотно и придумать кто это сделает и переведет на основные мировые языки.

Dash такой динамичный проект, что Документация успевает устаревать ещё до того момента, когда её писать заканчивают.
Особенно это заметно по Dash WIKI - правят её (англоязычную - Русскую так никто и не взялся вести до сих пор :sad: ) практически каждый день - а всё равно постоянно вылезает устаревшая неактуальная информация... :grin:
 
Dash такой динамичный проект, что Документация успевает устаревать ещё до того момента, когда её писать заканчивают...
Так я потому и предложил с постоянным финансированием назначить человека, который будет на постоянной основе этим вопросом заниматься, на уровне команды dash. Насколько это полезно, пусть программисты напишут, но мне НЕ технарю кажется, что без актуальной документации крайне сложно в народ продвигаться в техническом плане. В это же предложение и dash wiki можно запихнуть. Раз так часто обновляется, пусть только на английском, но главное что бы актуальность данных была.

ps: баблос можно от PR-бюджета откусить, они стабильно ужасно свою работу делают :rolleyes:
 
Last edited by a moderator:
кажется надо выделять силы на документацию побольше.
...
Есть такая проблема. Программисты не очень любят документировать код, который еще не закончен. Проблема только. что код всегда незакончен. :grin:
...
Кстати, что надо знать чтобы стать разработчиком криптовалют?
Прочитать https://bitcoin.org/bitcoin.pdf, чтобы понять азы. Углубиться подробнее можно с помощью книги A.M. Antonopolous https://www.bitcoinbook.info/, есть почти законченный русский перевод.
По технике: Core и кошельки большинства форки написаны на C++, но есть масса реализаций на Java, JavaScript, Python и т.д., у Ethereum основные реализации на C++, python, Java и Go, вроде.
 
С документацией в быстро растущих проектах всегда плохо. Давно работаю в индустрии и ни разу не видел нормальной документации. Т.е. обьёмная документация иногда бывает, особенно там где её пишет отдельный департамент. Видели бы вы, какие тонны текста вываливает на разработчиков тот же MaserCard. При этом реально полезную информацию в десятках 100-страничных pdf найти сложнее чем догадаться самому. В целом у меня сложилось мнение что лучшая документация - это справочник по API конкретного модуля + человек, который знает проект и не ленится обьяснить.
По сути вопроса - спасибо за наводку, разбираюсь с darkcoinj, думаю, справлюсь.
 
Есть такая проблема. Программисты не очень любят документировать код, который еще не закончен. Проблема только. что код всегда незакончен. :grin:

Прочитать https://bitcoin.org/bitcoin.pdf, чтобы понять азы. Углубиться подробнее можно с помощью книги A.M. Antonopolous https://www.bitcoinbook.info/, есть почти законченный русский перевод.
По технике: Core и кошельки большинства форки написаны на C++, но есть масса реализаций на Java, JavaScript, Python и т.д., у Ethereum основные реализации на C++, python, Java и Go, вроде.
А какие разделы математики надо знать?
 
А какие разделы математики надо знать?
Зависит от задачи, наверное, может тервер чуток да азы криптографии. Математические примитивы и функции крипто (шифрование, хэширование и т.п.) все как правило уже написаны в библиотеках, так что по большей части остается их правильное применение, а не переписывание.

EDIT:
а вообще, мы отклонились от темы, предлагаю завязывать с этим вопросом (здесь) ;)
 
Back
Top