Bitcoin Forum

Local => Кодеры => Topic started by: kzv on December 03, 2017, 08:57:29 AM



Title: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 03, 2017, 08:57:29 AM
Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти opensource биржу или создать собственную биржу, но постянно тема глохнет.
Причин много, главные:
1. Open Source биржи крайне сложно найти, а те которые есть крайне сложно настроить потому что их разрабы забросили проект.
2. Нет доверия к непонятно кем и непонятно когда написанным биржам.
3. Есть ощущение, что написать качественную биржу с нуля это крайне сложно почти невозможно...

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

Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

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

Итак с чего я думаю начать это выбор инструментов:
1. Основной язык разработки: Node.js
2. База данных sqlite
3. Интерфейс фронтэнда на базе bootstrap 4

Этапы разработки (наброски техзадания)
1. Модуль регистрации пользователей Сделано
2. Чат  Сделано
3. Мультивалютный биржевой кошелек. Сделано
4. Выставление и отмена ордеров Сделано
5. Исполнение перекрывающихся ордеров Сделано
6. АПИ биржи

Тут будет живая версия биржи https://trade.multicoins.org/
Тут исходники https://github.com/3s3s/opentrade

Вопросы добавления новых монет лучше обсуждать на другом форуме.
Вот тут правила добавления https://forum.marycoin.org/showthread.php?48-%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D0%B0-%D0%BD%D0%B0-OpenTrade


Топик модерируемый, флуд будет удаляться. Просьба писать только по делу.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: akira_gold on December 03, 2017, 09:47:16 AM
Кину свои пару монет.
Должно быть разделение фронтэнд/бэкэнд.
Фронтэнд на роде норм - стильно, молодежно. Но должны быть макеты - те на этапе проработки ТЗ должно быть чёткое понимание как выглядит и юзабилити. По православному делаются скрины в фотошопе у дизайнеров - по ним уже верстка итд.
По бэкэнду - бизнеслогику делать на решениях которые подразумевают скорость - с++/go. Бэкенд делается людьми с другии задачами и подходом нежели фронтэндшики. По БД - скулайт это локальная БД, не серверная - использовать как основную для биржи это дич) имхо. Она ведь даже на множественных инзертах тупит)
В общем это я для начала накидал своих мыслей..

Плюс.. Опесорс для такого - не лучшее решение. Те я бы не отдал ибо трудов придётся рлодить много.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 03, 2017, 09:57:22 AM
Кину свои пару монет.
Должно быть разделение фронтэнд/бэкэнд.
Фронтэнд на роде норм - стильно, молодежно. Но должны быть макеты - те на этапе проработки ТЗ должно быть чёткое понимание как выглядит и юзабилити. По православному делаются скрины в фотошопе у дизайнеров - по ним уже верстка итд.
По бэкэнду - бизнеслогику делать на решениях которые подразумевают скорость - с++/go. Бэкенд делается людьми с другии задачами и подходом нежели фронтэндшики. По БД - скулайт это локальная БД, не серверная - использовать как основную для биржи это дич) имхо. Она ведь даже на множественных инзертах тупит)
В общем это я для начала накидал своих мыслей..

Плюс.. Опесорс для такого - не лучшее решение. Те я бы не отдал ибо трудов придётся рлодить много.

1. Нода для бэкэнда сейчас используется чуть ли не чаще чем пхп. По скорости она не особо от сишки отличается ибо ее не первый год уже гуловские ребята допиливают. А вот сишку на серваке использовать это почти 100% выстрел в ногу. Да и какие там на серваке задачи-то: перебросить из одной таблицы в другую? Так это как раз база данных решить будет которая на сишке и написана.
2. Склайт мне нравится потому что ее очень легко бэкапить и переносить с места на место. Все в одном файле - очень удобно имхо.
Насчет тормозов: все решается, склайт умеет транзакции.
3. Опенсорс позволит находить уязвимости раньше хакеров имхо. А по поводу много работы - дак биржа это вообще школьная домашка по сравнению с опенсорс либами такими как ffmpeg.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: akira_gold on December 03, 2017, 10:19:11 AM
Lol... Плюсы юзаются почти в любом хайлоде на серверсайде... Про ноду - дело вкуса. Про V8 я как-бы в курсе и он не рвет плюсы от слова совсем, про сетевой стэк - тэсмотри бэнчи. Про скулайт - я думаю ты не понимаешь что говоришь... Представь, что у тебя 10к пользователей онлайн и все работают со скулайтом (поставил орде, что-то пишем в бд) твоя биржа встанет)) причём там транзакции то. Она тупо не предназначена для такого. Про ффмпег - посмотри кто её юзает, сколько её юзают и кто контрибутит. Сравниваешь тёплое с мягким. твой подход имеет право на жизнь, как просто POC. Ещё раз - имхо


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 03, 2017, 10:32:52 AM
Lol... Плюсы юзаются почти в любом хайлоде на серверсайде... Про ноду - дело вкуса. Про V8 я как-бы в курсе и он не рвет плюсы от слова совсем, про сетевой стэк - тэсмотри бэнчи. Про скулайт - я думаю ты не понимаешь что говоришь... Представь, что у тебя 10к пользователей онлайн и все работают со скулайтом (поставил орде, что-то пишем в бд) твоя биржа встанет)) причём там транзакции то. Она тупо не предназначена для такого. Про ффмпег - посмотри кто её юзает, сколько её юзают и кто контрибутит. Сравниваешь тёплое с мягким. твой подход имеет право на жизнь, как просто POC. Ещё раз - имхо

Про плюсы и хайлоад в курсе. Раньше тоже хайлоады на плюсах писал, а потом прочитал вот это и понял, что занимался херней: https://habrahabr.ru/post/123154/
Про склайт возможно есть доля истины, для 10к одновременных юзеров придется что-то оптимизировать... Зато склайт не поддерживает доступ к себе из сети без специальных костылей, а это неплохой плюс для базы в которой деньги хранятся. Ну да, я слышал про файрволы и пароли, только все это дело, время от времени успешно хакается.

ЗЫ вот еще про склайт: http://www.sqlite.org/whentouse.html

Quote
SQLite works great as the database engine for most low to medium traffic websites (which is to say, most websites). The amount of web traffic that SQLite can handle depends on how heavily the website uses its database. Generally speaking, any site that gets fewer than 100K hits/day should work fine with SQLite. The 100K hits/day figure is a conservative estimate, not a hard upper bound. SQLite has been demonstrated to work with 10 times that amount of traffic.

The SQLite website (https://www.sqlite.org/) uses SQLite itself, of course, and as of this writing (2015) it handles about 400K to 500K HTTP requests per day, about 15-20% of which are dynamic pages touching the database. Dynamic content uses about 200 SQL statements per webpage. This setup runs on a single VM that shares a physical server with 23 others and yet still keeps the load average below 0.1 most of the time.



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ChevChelos on December 03, 2017, 10:49:17 AM
Давно пора создать нормальную опен соурс биржу, а то получается одна монополия.
Создавать с самого начала сложно, но имея опен соурс ты понимаешь как всё работает и куда дальше двигаться.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: akira_gold on December 03, 2017, 11:34:11 AM
Скулайт встраивания БД. Доступ к ней через твой софт. Я бы не залил деньги на такую архитектуру. Но это на самом деле мелоч не более.
Я бы вообще вэб часть на .net core сделал) по опыту народ с .нет адекватнее)) все дело вкуса.
Вообще это уже не первая тема про биржи - есть в этом потенциал. Можно добавить киллер фичи + обеспечить секурность + дать людям понять что работа надолго - скама не будет. Но в 1 харю не делается. И я останусь при своём -это не опенсорс. Возможно не сразу.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 03, 2017, 12:10:08 PM
Скулайт встраивания БД. Доступ к ней через твой софт. Я бы не залил деньги на такую архитектуру. Но это на самом деле мелоч не более.
Я бы вообще вэб часть на .net core сделал) по опыту народ с .нет адекватнее)) все дело вкуса.
Вообще это уже не первая тема про биржи - есть в этом потенциал. Можно добавить киллер фичи + обеспечить секурность + дать людям понять что работа надолго - скама не будет. Но в 1 харю не делается. И я останусь при своём -это не опенсорс. Возможно не сразу.

Ну скажем так: я лично могу делать серверную часть либо на сишке, либо на ноде. Остальное просто не мой профиль...
Поскольку первое время я буду единственным разрабом, то выбор не особо велик. ))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on December 03, 2017, 01:24:21 PM
Представь, что у тебя 10к пользователей онлайн и все работают со скулайтом (поставил орде, что-то пишем в бд) твоя биржа встанет)) причём там транзакции то. Она тупо не предназначена для такого.
Да, соглашусь, только под SQLite не следует затачивать приложение. Лучше реализовать поддержку разных популярных баз данных с открытым исходным кодом (SQLite, MySQL и т.д.). В любом случае, для переноса данных можно экспортировать таблицы в SQL-файл.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on December 03, 2017, 01:29:55 PM
Этапы разработки (наброски техзадания)
1. Модуль регистрации пользователей
2. Чат
3. Мультивалютный биржевой кошелек.
4. Выставление и отмена ордеров
5. Исполнение перекрывающихся ордеров
6. АПИ биржи
Лучше начать с регистрации пользователей на сайте, затем сразу API, потом всё остальное.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 03, 2017, 01:54:05 PM
Этапы разработки (наброски техзадания)
1. Модуль регистрации пользователей
2. Чат
3. Мультивалютный биржевой кошелек.
4. Выставление и отмена ордеров
5. Исполнение перекрывающихся ордеров
6. АПИ биржи
Лучше начать с регистрации пользователей на сайте, затем сразу API, потом всё остальное.

А как делать АПИ если все остальное еще не готово?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on December 03, 2017, 02:07:07 PM
А как делать АПИ если все остальное еще не готово?
Разумеется, нужно написать ядро, которое будет работать с ордерами, и т.д. Речь о том, что API биржи более предпочтительно, чем WEB-интерфейс биржи (с красивыми графиками и т.п.).


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: akira_gold on December 03, 2017, 02:26:11 PM
Именно в ядре я бы поучаствовал. Есть мысли, понимание процесса.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on December 03, 2017, 02:28:27 PM
Именно в ядре я бы поучаствовал. Есть мысли, понимание процесса.
Вы же против open-source. :)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: akira_gold on December 03, 2017, 02:45:14 PM
Я не против. Много контрибучу. Просто в данном случае, думаю если опенсорс, то не взлетит) но поучаствовать можно)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 04, 2017, 08:39:35 PM
Ну начнем пожалуй...
Тут будет тестовая версия биржи https://trade.multicoins.org/
Тут будут исходники https://github.com/3s3s/opentrade

Пока сделал три страницы-заглушки. Валидный SSL сертификат сделаю позже.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Mrak8 on December 05, 2017, 02:53:59 AM
Если соберется достаточно энтузиастов то можно поднять, в одиночку нереально. Писал уже на эту тему, там столько подводной хрени в процессе запуска вылезает что в итоге проще забить бывает если не готов вливать в проект баланс. Если народ будет подтягиваться тоже поучаствую ;)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 06, 2017, 02:19:54 PM
Добавил шаблоны страниц: login, signup, password_reset. Прикрутил к ним рекапчу сразу на будущее...

https://trade.multicoins.org/login
https://trade.multicoins.org/signup
https://trade.multicoins.org/password_reset

Можно начинать придумывать регистрацию.

Думаю надо в таблице юзеров сразу помечать как "юзер", "админ", "модератор". Потом эти пользователи будут разные версии интерфейса видеть.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on December 06, 2017, 04:57:18 PM
Как вариант, можно не делать биржу с нуля, а доработать имеющиеся cток маркеты с открытым исходным кодом, то есть добавить поддержку криптовалют.

Например:
http://jstock.org/
http://itrade.sourceforge.net/


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 07, 2017, 04:23:35 AM
Как вариант, можно не делать биржу с нуля, а доработать имеющиеся cток маркеты с открытым исходным кодом, то есть добавить поддержку криптовалют.

Например:
http://jstock.org/
http://itrade.sourceforge.net/

Первая это на сколько я понимаю просто веб-морда для какого-то закрытого серверного кода.
Вторая написана на питоне - я его не знаю и что это за зверь разобрать не могу.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: metalgvc on December 08, 2017, 10:29:33 AM
sqlite - категорически не подходит, советую PostgreSQL ну или на крайняк MySQL


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 08, 2017, 10:36:23 AM
sqlite - категорически не подходит, советую PostgreSQL ну или на крайняк MySQL
Опишите пожалуйста преимущества PostgreSQL которые пригодятся в данной задаче?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Vtools on December 11, 2017, 07:58:23 PM

Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).



А вот у меня есть желание написать именно децентрализованную. Почему вы считаете, что народу это не нужно?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Jaga-Jaga on December 11, 2017, 09:42:54 PM

Итак с чего я думаю начать это выбор инструментов:
1. Основной язык разработки: Node.js
2. База данных sqlite
3. Интерфейс фронтэнда на базе bootstrap 4

Этапы разработки (наброски техзадания)
1. Модуль регистрации пользователей
2. Чат
3. Мультивалютный биржевой кошелек.
4. Выставление и отмена ордеров
5. Исполнение перекрывающихся ордеров
6. АПИ биржи
Я бы этапы разработки поменял местами, главное начать с ядра, можно написать спецификации для API и под эти спецификации писать ядро, в ядро войдет то что у вас перечисленно в п4 и п5, после реализации этого дело останется за малым.
Для работы с БД я бы использовал Hibernate - это позволит использовать любую БД без переделки кода.
Я бы писал биржу на Java это даст кроссплатформенность и масштабируемость и не ударит по производительности как некоторые ошибочно думают.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on December 12, 2017, 02:16:31 AM
Первая это на сколько я понимаю просто веб-морда для какого-то закрытого серверного кода.
Вторая написана на питоне - я его не знаю и что это за зверь разобрать не могу.
Вижу, что Вы настроены написать биржу действительно с нуля. С другой стороны, это правильно: разбираться в чужом коде - дело неблагодарное. :)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: criptomasterBest on December 12, 2017, 11:04:08 AM
Что хочется создать кормушку для честного отъема средств у народа. Создавайте может что ни будь получится и даже не посадят, хотя теперь махинаторов не модно брать за жабры. Значит у вас есть надежда украсть и выйти сухим из воды. Дерзайте. Успехов вам.   


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Robhayes on December 12, 2017, 11:15:18 AM
Один вопрос а Мавродий в битках шарит, или МММ по старинке все еще? Если да то его тоже надо подключить.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 12, 2017, 02:31:08 PM
Модуль регистрации почти доделан.
Сейчас можно
1. Регистрироваться
2. Восстанавливать пароль
3. Выполнять вход и выход.

https://trade.multicoins.org


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on December 14, 2017, 01:48:49 AM
Что хочется создать кормушку для честного отъема средств у народа.
Вообще-то топикстартер пишет софт с открытым исходным кодом (то есть свободная лицензия).


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 14, 2017, 12:30:34 PM
Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти opensource биржу или создать собственную биржу, но постянно тема глохнет.
Причин много, главные:
1. Open Source биржи крайне сложно найти, а те которые есть крайне сложно настроить потому что их разрабы забросили проект.
2. Нет доверия к непонятно кем и непонятно когда написанным биржам.
3. Есть ощущение, что написать качественную биржу с нуля это крайне сложно почти невозможно...

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

Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

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

Итак с чего я думаю начать это выбор инструментов:
1. Основной язык разработки: Node.js
2. База данных sqlite
3. Интерфейс фронтэнда на базе bootstrap 4

Этапы разработки (наброски техзадания)
1. Модуль регистрации пользователей
2. Чат
3. Мультивалютный биржевой кошелек.
4. Выставление и отмена ордеров
5. Исполнение перекрывающихся ордеров
6. АПИ биржи

Тут будет тестовая версия биржи https://trade.multicoins.org/
Тут будут исходники https://github.com/3s3s/opentrade


Топик модерируемый, флуд будет удаляться. Просьба писать только по делу.
Можно ссылку на децентрализованную биржу? По-моему криптобиржа должна работать в децентрализованной одноранговой P2P сети и быть приложением, а самое главное у биржи не должно быть полноценного доступа к средствам пользователей, поэтому нужно использовать какие-нибудь лайтнинг-подобные костыли в виде 2 из 2 мультисигов. Фронтэнд для данного кейса - лишняя точка отказа. Почему бы вместо SQLite не использовать LevelDB, а то и вовсе RocksDB или другой форк?

У меня есть наброски архитектуры потенциально востребованного массового продукта с проработанной монетизацией (не очередной форк/не валюта/не ICO) и твой опыт сильно бы пригодился, напиши в ЛС, если интересно.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 14, 2017, 12:38:49 PM
Да уже были попытки сделать бмржу-дескопное приложение. Что-то не особо у них взлетело https://ru.wikipedia.org/wiki/OpenBazaar
У меня сделан обменник - клон локалбиткоинс. Это не полноценная конечно P2P биржа, но очень близко к тому... Ну и успех локала не идет ни в какое сравнение с опенбазаром, тут я думаю сомнений нет?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 14, 2017, 12:52:31 PM
Да уже были попытки сделать биржу-дескопное приложение. Что-то не особо у них взлетело https://ru.wikipedia.org/wiki/OpenBazaar
У меня сделан обменник - клон локалбиткоинс. Это не полноценная конечно P2P биржа, но очень близко к тому... Ну и успех локала не идет ни в какое сравнение с опенбазаром, тут я думаю сомнений нет?
Это скорее децентрализованный маркетплейс, а не биржа, потому отсутствие успеха меня не удивляет. Я не испытываю необходимости покупать товары/фиат у барыг за крипту, пользователи darkweb'a скорее всего испытывают, но вряд ли горят желанием поднимать у себя ноду чёрного или белого маркетплейса. Более того, большинство пользователей бетховена и PoW форков не испытывают нужды поднимать полную ноду, без мотивации пользователей полноценной децентрализации не достичь.

criptomasterBest - кремлебот/флудер, он же criptoguruBEST, он же vlad5152best, имя им - легион.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on December 14, 2017, 06:33:18 PM
Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти opensource биржу или создать собственную биржу, но постянно тема глохнет.

Я думаю так будет разумней

1. Модуль регистрации пользователей
2. Чат6. АПИ биржи
3. Мультивалютный биржевой кошелек.
4. Выставление и отмена ордеров
5. Исполнение перекрывающихся ордеров

Моя вот идея которой хочу поделится opensource это прослойка на js для коннекторов к уже имеющимся централизованным биржам  ;) и торговать через АПИ этих бирж и использовать их же кошельки...
тогда надо рассматривать децентрализованную биржу как сеть для управления централизованными! и с этого направления строить.
0. АПИ биржи = ядро (как и что рулить)
1,2,3,4. Модуль регистрации пользователей +Мультивалютный биржевой кошелек +... = набор апи ключей + обёртка на js
5. модуль учёта торгов
6. модуль купонов

и учитывая что это P2P продукт думаю можно писать просто в файл или поток, короче отдать на откуп ос
фактически это будет распределенный обменник централизованных активов  ;D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 14, 2017, 07:37:27 PM
Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти opensource биржу или создать собственную биржу, но постянно тема глохнет.

Я думаю так будет разумней

1. Модуль регистрации пользователей
2. Чат6. АПИ биржи
3. Мультивалютный биржевой кошелек.
4. Выставление и отмена ордеров
5. Исполнение перекрывающихся ордеров

Моя вот идея которой хочу поделится opensource это прослойка на js для коннекторов к уже имеющимся централизованным биржам  ;) и торговать через АПИ этих бирж и использовать их же кошельки...
тогда надо рассматривать децентрализованную биржу как сеть для управления централизованными! и с этого направления строить.
0. АПИ биржи = ядро (как и что рулить)
1,2,3,4. Модуль регистрации пользователей +Мультивалютный биржевой кошелек +... = набор апи ключей + обёртка на js
5. модуль учёта торгов
6. модуль купонов

и учитывая что это P2P продукт думаю можно писать просто в файл или поток, короче отдать на откуп ос
фактически это будет распределенный обменник централизованных активов  ;D


Блин народ, ну что вы все под себя гребете? Да, я понимаю, что АПИ это очень нужная вещь. Но задайтесь простым и незамысловатым вопросом: КАК делать АПИ если нет даже мультивалютного кошелька??? Ну что будет делать АПИ биржи если биржа умеет только регистрировать пользователей?

Ну ОК АПИ биржи:
1. зарегистрировать_пользователя(юзер, пароль, емайл)
2. а_все_собственно()

Охуенное АПИ правда же?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 14, 2017, 09:26:22 PM
Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти opensource биржу или создать собственную биржу, но постянно тема глохнет.

Я думаю так будет разумней

1. Модуль регистрации пользователей
2. Чат6. АПИ биржи
3. Мультивалютный биржевой кошелек.
4. Выставление и отмена ордеров
5. Исполнение перекрывающихся ордеров

Моя вот идея которой хочу поделится opensource это прослойка на js для коннекторов к уже имеющимся централизованным биржам  ;) и торговать через АПИ этих бирж и использовать их же кошельки...
тогда надо рассматривать децентрализованную биржу как сеть для управления централизованными! и с этого направления строить.
0. АПИ биржи = ядро (как и что рулить)
1,2,3,4. Модуль регистрации пользователей +Мультивалютный биржевой кошелек +... = набор апи ключей + обёртка на js
5. модуль учёта торгов
6. модуль купонов

и учитывая что это P2P продукт думаю можно писать просто в файл или поток, короче отдать на откуп ос
фактически это будет распределенный обменник централизованных активов  ;D


Блин народ, ну что вы все под себя гребете? Да, я понимаю, что АПИ это очень нужная вещь. Но задайтесь простым и незамысловатым вопросом: КАК делать АПИ если нет даже мультивалютного кошелька??? Ну что будет делать АПИ биржи если биржа умеет только регистрировать пользователей?

Ну ОК АПИ биржи:
1. зарегистрировать_пользователя(юзер, пароль, емайл)
2. а_все_собственно()

Охуенное АПИ правда же?
Согласен, я 2 раза перечитал его пост и хоть убей не понял что он предлагает. Нафига заморачиваться с API сторонних бирж, если можно торговать у них? Кто даст дёргать эти API в нужных объёмах? На чей акк вешать этот мутный оборот крипты/фиата и вызовы? Ладно, пускай каждый юзер будет брать на биржах свои ключи для API и в*уячивать в клиент, но зачем? Что такое мультивалютный кошелёк в децентрализованной бирже? Я могу себе представить мультисиги под каждую крипту, но вообразить мультивалютный кошелёк не очень получается. Можно писать в файл, ага, а ещё в /dev/null можно писать. 8)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 15, 2017, 10:56:30 AM
Сделал чат ))
https://trade.multicoins.org/
(только для зареганых юзеров)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: d8as on December 16, 2017, 01:41:40 AM
полную инструкцию выкатить со всеми депенденсис как запустить помойку пошагово


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: d8as on December 16, 2017, 02:01:49 AM
опятяь же почему оно так сильно втупляет? я регался и смотрел на колесо 3-4с


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 16, 2017, 01:08:33 PM
опятяь же почему оно так сильно втупляет? я регался и смотрел на колесо 3-4с
3-4 секунды это целая вечность? Я 2 раза тестил регистрацию, никакой 3-4 секундной задержки не было. Всё летает, даже более того, если учесть, что при регистрации из DNS извлекаются MX-записи домена. Инструкцию для незаконченного проекта и ключ от квартиры? Как-то до*уя у тебя требований к open-source проекту.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on December 16, 2017, 01:22:37 PM
опятяь же почему оно так сильно втупляет? я регался и смотрел на колесо 3-4с
3-4 секунды это целая вечность? Я 2 раза тестил регистрацию, никакой 3-4 секундной задержки не было. Всё летает, даже более того, если учесть, что при регистрации из DNS извлекаются MX-записи домена. Инструкцию для незаконченного проекта и ключ от квартиры? Как-то до*уя у тебя требований к open-source проекту.

А ты смотрю добрый  ;D прям как я сегодня  :D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: d8as on December 16, 2017, 08:05:07 PM
опятяь же почему оно так сильно втупляет? я регался и смотрел на колесо 3-4с
3-4 секунды это целая вечность? Я 2 раза тестил регистрацию, никакой 3-4 секундной задержки не было. Всё летает, даже более того, если учесть, что при регистрации из DNS извлекаются MX-записи домена. Инструкцию для незаконченного проекта и ключ от квартиры? Как-то до*уя у тебя требований к open-source проекту.

Quote
3-4 секунды это целая вечность?
После этого можешь сюда не писать вернись в свой топик политики.



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 16, 2017, 08:09:16 PM
Вам все правильно сказали: при регистрации посылается письмо вашему почтовому серверу. Так уж издревле повелось, что посылка электронных писем проходит по протоколу SMTP, который не особо быстрый как известно. Поэтому 3-4 секунды это очень неплохо.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 16, 2017, 09:16:00 PM
Мануал, как запустить биржу у себя

1. Клонируем исходники
git clone https://github.com/3s3s/opentrade.git

2. Переходим в тестовую ветку
git checkout test

3. Создаем пустую папку для базы данных
mkdir opentrade/server/database

4. Создаем приватные константы
>> opentrade/server/modules/private_constants.js

В файле opentrade/server/modules/private_constants.js надо прописать приватные константы

Code:
'use strict';

exports.recaptcha_priv_key = 'приватный ключ гугловской рекапчи';
exports.password_private_suffix = 'просто набор бессмысленных символов';
exports.SSL_KEY = 'путь/к/файлу/сssl-ключа/privkey.pem';
exports.SSL_CERT = 'путь/к/файлу/ssl/сертификата/fullchain.pem';


Как получить ключ рекапчи и ссл сертификаты можно прочитать в гугле.

Если лень создавать собственные ссл ключи, то вот дарю
файл privkey.pem
Code:
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQC0+cYKfu3ecWjIrFLfwGyUTEFWguGtSTSCrmH7YVwKs3ZB8OEJ
iafVDwvx65Ch/KREc+xyowkb+5YIUKwwGXl14CBHGJeSdtx85lHqfnevA+MzkWYF
KDozc6KanOudDcXXBOE8wh6OZrbRUSUV8Bzl2r3Y5IQET4FGh+rLEG9XRwIDAQAB
AoGAYcx40UM2mHcBATDeuDvscVekF3QzMMnWrqg+GvLKIp5I0emyMs1I/UJcWifK
yT8WJkffBzRDv/N9aJDv/C5IDBn/LQ37Leb7r1OVl15NgxMAl0XvDSTkpLZcWaL/
nqsCDacNXKaomo8A9Lek18i4adDQ4ywy3e6IBzuyKO48WcECQQDoBzMyAPbUsoTT
CZusZnzR/sMksMmvHzpAeLBolKbN+bt9B3yQHmejZ7Ijz0hhk9kofcCTNGIBazJq
gkRKnfA7AkEAx6xP40pdKilYXM2FF4o3zOZjijY416O4/X4cZykX0+MPYQbjCTHQ
5Ii/lbOaOVrT1+8bwB8o27ggO0t2wHWwZQJACZAKZxwtEBUPblcuCEvtBwaV6lQy
67nAv9l5g8XkngaV2JBPbO0j3lMuv1USqZrbT1Tnc+mrxF0zpboasGyT8wJAGFsC
W50khBIK/zbqdxaa+9lWZvN6N4N2+yS43jR6/ZOCurkWVHbJHjc391CzDS/xCzPV
VLf4SeTJubHYyF0SqQJBAMtuyzbq49MZHtMvOmiY/O73G6w2hrxu8GnO2GJxnXtj
KHsKUISxUHpE6035rjlbyxRR+DPFGqxM7BJrk2qkEqI=
-----END RSA PRIVATE KEY-----


Файл fullchain.pem

Code:
-----BEGIN CERTIFICATE-----
MIICATCCAWoCCQCIQvm1vUvbqjANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJB
VTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0
cyBQdHkgTHRkMB4XDTE3MTIwMzE4NDk1M1oXDTE4MTIwMzE4NDk1M1owRTELMAkG
A1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0
IFdpZGdpdHMgUHR5IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtPnG
Cn7t3nFoyKxS38BslExBVoLhrUk0gq5h+2FcCrN2QfDhCYmn1Q8L8euQofykRHPs
cqMJG/uWCFCsMBl5deAgRxiXknbcfOZR6n53rwPjM5FmBSg6M3OimpzrnQ3F1wTh
PMIejma20VElFfAc5dq92OSEBE+BRofqyxBvV0cCAwEAATANBgkqhkiG9w0BAQsF
AAOBgQBPeC//NfUwivU+hwKK8d5/0J9yxWRI848ghHDXtv0yMiACZHmCThyN/5y6
+WeC8tZjNUXfUK02piVOHAfVj8dn569lDgBR4eZ2z/OhAtu8xbLlecGKaKkzeTMx
zSZnnKQRUSzFwo8DObkVCc1JgT+OR3xkysQqFMnGCKkyvTPYwQ==
-----END CERTIFICATE-----

5. Устанавливаем зависимости

Зависимости по идее нужно прописать в специальном файле, но мне пока лень потому что их будет добавляться. Так что ручками
cd opentrade
npm install express
npm install sendmail
npm install sqlite3
npm install ejs

6. Запускаем
cd server
node main.js

7. Смотрим результат
https://127.0.0.1:40443


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on December 16, 2017, 09:57:13 PM
Как вариант, можно не делать биржу с нуля, а доработать имеющиеся cток маркеты с открытым исходным кодом, то есть добавить поддержку криптовалют.
Например:
http://jstock.org/
http://itrade.sourceforge.net/

сходил по второй ссылке (http://itrade.sourceforge.net/news.htm) потому что питон видел а ноду нет  ;D
News and Hot Topics !
2008-01-03 : Nausicaa2
Quote
Dear all,
Many issues has been fixed this week. A new official release has been posted (check the Downloads section).
Now, we are focusing on the next developpement steps (more to say in coming weeks).
Regards,
--
Gilles.

с тех пор все кто допиливал становились централизованными биржами  :o

Вам все правильно сказали: при регистрации посылается письмо вашему почтовому серверу. Так уж издревле повелось, что посылка электронных писем проходит по протоколу SMTP, который не особо быстрый как известно. Поэтому 3-4 секунды это очень неплохо.

почта всё ещё есть в ходу но это уже такой же раритет как SMTP  :o на смену которому вроде были придуманы POP3 IMAP и другие жаберы... и если всё ж о p2p думать то давайте смотреть в сторону WebRTC (https://codelabs.developers.google.com/codelabs/webrtc-web/#0) если ещё не смотрели  ;)

и как я уже писал думать надо с ядра начинать а не с веб морды  ;D
а с ядрами я знаком со стороны API ключей которые по факту являются моим логином поролем почтой и всем остальным набором прав и доступов... и для конекта роботов с биржами по факту используется https://ru.wikipedia.org/wiki/HMAC (https://ru.wikipedia.org/wiki/HMAC) а может мне просто такие попадались... можно на ноде этого хомяка запустить ;D ? это уже была бы часть ядра  ::)

По ссылкам выше там как я понял для обсчёта ордеров ядро есть но там же куча файлов  ;D а я ленивый как и все... будет p2p чат на ноде уже будет повод её смотреть  ;D а чатик на smtp, lpt и других ТП  ;D ещё в начале 2000х писали в универах в качестве лабораторных и не надо было тащить кучу зависимостей...
Давайте ядро на чистом asm запилим  :o чисто поржать  ;D и это реально! найдём препода который 3-4 студентам курсовик задаст  ;) и на такое мне даже сатош не жалко будет  ;D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on December 17, 2017, 03:36:05 AM
Моя вот идея которой хочу поделится opensource это прослойка на js для коннекторов к уже имеющимся централизованным биржам  ;) и торговать через АПИ этих бирж и использовать их же кошельки...
тогда надо рассматривать децентрализованную биржу как сеть для управления централизованными! и с этого направления строить.
0. АПИ биржи = ядро (как и что рулить)
1,2,3,4. Модуль регистрации пользователей +Мультивалютный биржевой кошелек +... = набор апи ключей + обёртка на js
5. модуль учёта торгов
6. модуль купонов

и учитывая что это P2P продукт думаю можно писать просто в файл или поток, короче отдать на откуп ос
фактически это будет распределенный обменник централизованных активов  ;D
Это называется арбитраж - внешний клиент торгует одновременно на двух (и более) биржах через их AP-интерфейсы.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on December 17, 2017, 03:47:07 AM
Моя вот идея которой хочу поделится opensource это прослойка на js для коннекторов к уже имеющимся централизованным биржам  ;) и торговать через АПИ этих бирж и использовать их же кошельки...
тогда надо рассматривать децентрализованную биржу как сеть для управления централизованными! и с этого направления строить.
0. АПИ биржи = ядро (как и что рулить)
1,2,3,4. Модуль регистрации пользователей +Мультивалютный биржевой кошелек +... = набор апи ключей + обёртка на js
5. модуль учёта торгов
6. модуль купонов

и учитывая что это P2P продукт думаю можно писать просто в файл или поток, короче отдать на откуп ос
фактически это будет распределенный обменник централизованных активов  ;D
Это называется арбитраж - внешний клиент торгует одновременно на двух (и более) биржах через их AP-интерфейсы.

Продолжи дальше идею и получи арбитраж между участниками p2p сети без торгов на самой бирже, продолжи дальше идею и получи сеть для манипуляции рынком  :o весь смысл торгов ведь ради бабла!!! 


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 17, 2017, 10:38:07 AM
будет p2p чат на ноде уже будет повод её смотреть  ;D а чатик на smtp, lpt и других ТП  ;D ещё в начале 2000х писали в универах в качестве лабораторных и не надо было тащить кучу зависимостей...
Давайте ядро на чистом asm запилим  :o чисто поржать  ;D и это реально! найдём препода который 3-4 студентам курсовик задаст  ;) и на такое мне даже сатош не жалко будет  ;D
На*уя он нужен на анонимной бирже? P2P чатов полно на гитхабе, смотри - не хочу. Если не тащить кучу зависимостей, то всё придётся писать с нуля, а результат допиливать годами, чтобы он по работоспособности хотя бы отдалённо приблизился к готовым решениям. В чём профит?

Моя вот идея которой хочу поделится opensource это прослойка на js для коннекторов к уже имеющимся централизованным биржам  ;) и торговать через АПИ этих бирж и использовать их же кошельки...
тогда надо рассматривать децентрализованную биржу как сеть для управления централизованными! и с этого направления строить.
0. АПИ биржи = ядро (как и что рулить)
1,2,3,4. Модуль регистрации пользователей +Мультивалютный биржевой кошелек +... = набор апи ключей + обёртка на js
5. модуль учёта торгов
6. модуль купонов

и учитывая что это P2P продукт думаю можно писать просто в файл или поток, короче отдать на откуп ос
фактически это будет распределенный обменник централизованных активов  ;D
Это называется арбитраж - внешний клиент торгует одновременно на двух (и более) биржах через их AP-интерфейсы.

Продолжи дальше идею и получи арбитраж между участниками p2p сети без торгов на самой бирже, продолжи дальше идею и получи сеть для манипуляции рынком  :o весь смысл торгов ведь ради бабла!!!  
Я таких пепелацев могу миллион нафантазировать, алгоритм нарисуй. Вот есть у нас несколько блокчейнов, бетховен, лайт и тд. Каким образом их объединить, да ещё и так, чтобы торговля была P2P?

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: p4npos on December 18, 2017, 10:55:18 AM
Эта биржа ж уже создана? Ты ее хочешь как-то переписать? Мне лично интересно. Ты еще набираешь людей? =)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 18, 2017, 10:59:01 AM
Эта биржа ж уже создана? Ты ее хочешь как-то переписать? Мне лично интересно. Ты еще набираешь людей? =)

Биржа в процессе создания.
Пока готовы только модуль регистрации и чат.
Если есть желание стать одним из разработчиков - велком.

Что нужно, чтобы стать соавтором (как я это вижу, можете свои версии предлагать):
1. Форкнуть биржу на гитхабе
2. Сделать коммит в своей ветке
3. Сделать запрос на объединение главной веткой.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Emir999 on December 19, 2017, 07:30:31 PM
Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти opensource биржу или создать собственную биржу, но постянно тема глохнет.
Причин много, главные:
1. Open Source биржи крайне сложно найти, а те которые есть крайне сложно настроить потому что их разрабы забросили проект.
2. Нет доверия к непонятно кем и непонятно когда написанным биржам.
3. Есть ощущение, что написать качественную биржу с нуля это крайне сложно почти невозможно...

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

Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

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

Итак с чего я думаю начать это выбор инструментов:
1. Основной язык разработки: Node.js
2. База данных sqlite
3. Интерфейс фронтэнда на базе bootstrap 4

Этапы разработки (наброски техзадания)
1. Модуль регистрации пользователей Сделано
2. Чат  Сделано
3. Мультивалютный биржевой кошелек.
4. Выставление и отмена ордеров
5. Исполнение перекрывающихся ордеров
6. АПИ биржи

Тут будет тестовая версия биржи https://trade.multicoins.org/
Тут будут исходники https://github.com/3s3s/opentrade


Топик модерируемый, флуд будет удаляться. Просьба писать только по делу.


А ввод с выплатами где? Также не вижу здесь игру Дайс и бесплатные монеты - но это чепуха но перспектива для общества.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: eiwf32 on December 19, 2017, 08:41:53 PM
Такие вещи требуют независимого аудита исходного кода, который стоит денег.
Вспоминается история с TrueCrypt. Планируется что-либо подобное?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 20, 2017, 04:11:37 AM
Такие вещи требуют независимого аудита исходного кода, который стоит денег.
Вспоминается история с TrueCrypt. Планируется что-либо подобное?

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

Ввод-вывод пока не сделан. Скоро будет.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: rorrim on December 21, 2017, 09:24:11 PM
Посмотрел исходники и ужаснулся.

Frontend:

На jquery делать весь UI это с ума сойти. Все равно нужны компоненты, возьмите angularjs 2/5 / vue-js/ react. Я бы советовал React, можете взять готовые компоненты semantic-ui , выглядеть будет намного приличнее и это дело можно будет хоть как-то реально дорабатывать.

Backend:

Нужно смотреть в сторону микросервисной архитектуры. Разбейте на слои и опишите как они будут взаимодействовать.
Сделайте шину данных, посмотрите в сторону ActiveMQ, Hazelcast, Kafka. Как вариант, возьмите vert.x , это полиглотный фреймворк (сможете писать на js и остальные участники смогут писать на чем умеют) и  hazelcast там уже внутри. Запускается все это на JVM. Упаковывайте в docker. Тем более если Open Source,то используйте Docker Hub, это бесплатно.

Определитесь с тем, что будет хранится в БД. Где будет больше чтения, а где записи. Где нужна реляционная БД, а где NoSQL решение. Где нужен быстрый доступ (inmemory db), а где будут архивные данные и аналитика. Одну базу на все случае жизни выбрать все равно не получится. Тут очевидно будет несколько разных БД.

Из мелочей я бы посоветовал предусмотреть облачные логи. Что-нибудь типа papertail и сразу думайте как потом мониторить производительность. В vert.x есть метрики и можно сделать интеграцию с OpenZipkin или Uber Jaeger.





Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 21, 2017, 10:06:40 PM
Посмотрел исходники и ужаснулся.

Frontend:

На jquery делать весь UI это с ума сойти. Все равно нужны компоненты, возьмите angularjs 2/5 / vue-js/ react. Я бы советовал React, можете взять готовые компоненты semantic-ui , выглядеть будет намного приличнее и это дело можно будет хоть как-то реально дорабатывать.

Backend:

Нужно смотреть в сторону микросервисной архитектуры. Разбейте на слои и опишите как они будут взаимодействовать.
Сделайте шину данных, посмотрите в сторону ActiveMQ, Hazelcast, Kafka. Как вариант, возьмите vert.x , это полиглотный фреймворк (сможете писать на js и остальные участники смогут писать на чем умеют) и  hazelcast там уже внутри. Запускается все это на JVM. Упаковывайте в docker. Тем более если Open Source,то используйте Docker Hub, это бесплатно.

Определитесь с тем, что будет хранится в БД. Где будет больше чтения, а где записи. Где нужна реляционная БД, а где NoSQL решение. Где нужен быстрый доступ (inmemory db), а где будут архивные данные и аналитика. Одну базу на все случае жизни выбрать все равно не получится. Тут очевидно будет несколько разных БД.

Из мелочей я бы посоветовал предусмотреть облачные логи. Что-нибудь типа papertail и сразу думайте как потом мониторить производительность. В vert.x есть метрики и можно сделать интеграцию с OpenZipkin или Uber Jaeger.



Отлично! Присоединяйтесь к разработке и внедряйте вот это вот все  :)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: rorrim on December 22, 2017, 07:25:57 AM
Отлично! Присоединяйтесь к разработке и внедряйте вот это вот все  :)

Кто-то должен тащить хотя бы на идейном уровне. Не нужно ждать что кто-то придет и сделает за вас. Попробуйте начать с wiki документа, опишите как видите систему, я поучаствую.
У вас же сейчас нет четкого представления об основном функционале биржи и потому вы начали с регистрации и чата. Только вот чат на самом деле не нужен совсем, а для регистрации/авторизации/управления пользователями можно было взять Keycloak и просто подключиться к нему. Не изобретайте велосипед, пишите то, чего нельзя позаимствовать.

А чтобы понять что нужно в бэкенде, начните хотя бы с UI mockup и Use Cases. Для этого даже программировать не обязательно уметь. Но остальные участники будут видеть что у вас есть хоть какое-то видение проекта.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 22, 2017, 08:12:22 AM
Ну каждому свое: одни пишут вики и кейсы с виденьем проектов, а другие пишут собственно сами проекты...
 Вот к примеру, пришел на никому неизвестный форум никому неизвестный юзер и выложил там свою дико бажную программу без исходников, без хэлпов, с парой скриншотов на никому неизвестном сайте bitcoin.org Вот как вы думаете, может сначала надо было ему вики написать?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: rorrim on December 22, 2017, 08:33:35 AM
Ну каждому свое: одни пишут вики и кейсы с виденьем проектов, а другие пишут собственно сами проекты...
 Вот к примеру, пришел на никому неизвестный форум никому неизвестный юзер и выложил там свою дико бажную программу без исходников, без хэлпов, с парой скриншотов на никому неизвестном сайте bitcoin.org Вот как вы думаете, может сначала надо было ему вики написать?

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 22, 2017, 08:48:26 AM
Ну каждому свое: одни пишут вики и кейсы с виденьем проектов, а другие пишут собственно сами проекты...
 Вот к примеру, пришел на никому неизвестный форум никому неизвестный юзер и выложил там свою дико бажную программу без исходников, без хэлпов, с парой скриншотов на никому неизвестном сайте bitcoin.org Вот как вы думаете, может сначала надо было ему вики написать?

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

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: sate2llite on December 22, 2017, 07:14:10 PM
Ну у вас в корне неправильный подход там  я выше читал про "это же опенсорс чего ты хотел" вот именно это опенсорс в первую очередь если вы хотите, что бы кто-то присоединился вы должны как овнер репозитория позаботится о том, что людям которые придут будет комфортно присоединится а этого нет. В первую очередь должно быть readmi подробное и четко и проверенное отдельно а ваше реадми на форуме мало того, что косо криво лишь бы живо так еще и не рабочее.
Вы должны сразу когда пилите учитывать, что проект будет развиваться и люди которые придут смогул присоединится легко.
Во первых нужно дописать ВСЕ зависимости я не смотрел но ws минимум нехватает
Во вторых заняться нормальной структуризацией и создать package.json и вписать все зависимости а отмазки типа "ну их будет много поэтому пока нет" не работают. Это делать не больше 2-3м а людям сэкономит уйму времени и сразу будет виден более сурезный подход.
Так же я не уверен но будет ли работать гугл капча для localhost ? private key то взять можно но маловероятно, что она поднимиться. Лучше ее вообще выпилить на время разработки особой пользы оно не несет
Так же выпилить ненужный ssl и то что мешает ибо никакие капчи и ssl ы не нужны на этапе разработки.

на счет умных людей выше то не нужно рассказывать про технологии или чего то советовать тем более про 100500 технологий пусть человек делает на том чем умеет и как ему комфортно имхо.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 22, 2017, 08:25:25 PM
Ну у вас в корне неправильный подход там  я выше читал про "это же опенсорс чего ты хотел" вот именно это опенсорс в первую очередь если вы хотите, что бы кто-то присоединился вы должны как овнер репозитория позаботится о том, что людям которые придут будет комфортно присоединится а этого нет. В первую очередь должно быть readmi подробное и четко и проверенное отдельно а ваше реадми на форуме мало того, что косо криво лишь бы живо так еще и не рабочее.
Вы должны сразу когда пилите учитывать, что проект будет развиваться и люди которые придут смогул присоединится легко.
Во первых нужно дописать ВСЕ зависимости я не смотрел но ws минимум нехватает
Во вторых заняться нормальной структуризацией и создать package.json и вписать все зависимости а отмазки типа "ну их будет много поэтому пока нет" не работают. Это делать не больше 2-3м а людям сэкономит уйму времени и сразу будет виден более сурезный подход.
Так же я не уверен но будет ли работать гугл капча для localhost ? private key то взять можно но маловероятно, что она поднимиться. Лучше ее вообще выпилить на время разработки особой пользы оно не несет
Так же выпилить ненужный ssl и то что мешает ибо никакие капчи и ssl ы не нужны на этапе разработки.

на счет умных людей выше то не нужно рассказывать про технологии или чего то советовать тем более про 100500 технологий пусть человек делает на том чем умеет и как ему комфортно имхо.

Ну вот вы если разбираетесь, присоединитесь к проекту и добавьте этот файл с зависимостями. Там делов на 3 минуты, а вы в историю войдете  :)
Мне пока тупо не интересно заниматься такими мелочами. Хочется уже какой-то рабочий продукт запустить.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 22, 2017, 09:17:03 PM
Ну у вас в корне неправильный подход там  я выше читал про "это же опенсорс чего ты хотел" вот именно это опенсорс в первую очередь если вы хотите, что бы кто-то присоединился вы должны как овнер репозитория позаботится о том, что людям которые придут будет комфортно присоединится а этого нет. В первую очередь должно быть readmi подробное и четко и проверенное отдельно а ваше реадми на форуме мало того, что косо криво лишь бы живо так еще и не рабочее.
Вы должны сразу когда пилите учитывать, что проект будет развиваться и люди которые придут смогул присоединится легко.
Во первых нужно дописать ВСЕ зависимости я не смотрел но ws минимум нехватает
Во вторых заняться нормальной структуризацией и создать package.json и вписать все зависимости а отмазки типа "ну их будет много поэтому пока нет" не работают. Это делать не больше 2-3м а людям сэкономит уйму времени и сразу будет виден более сурезный подход.
Так же я не уверен но будет ли работать гугл капча для localhost ? private key то взять можно но маловероятно, что она поднимиться. Лучше ее вообще выпилить на время разработки особой пользы оно не несет
Так же выпилить ненужный ssl и то что мешает ибо никакие капчи и ssl ы не нужны на этапе разработки.

на счет умных людей выше то не нужно рассказывать про технологии или чего то советовать тем более про 100500 технологий пусть человек делает на том чем умеет и как ему комфортно имхо.
Вы платите ТС, чтобы оценивать его подход? С чего вы взяли что буйный с претензиями желал присоединиться к разработке? Он хотел готовый продукт с инструкцией для идиотов, а конечного продукта на данный момент нет, поэтому не может быть и инструкции. Можно конечно написать временную инструкцию, но её постоянно придётся переделывать, а это время, да и неинтересно. Кто захочет разобраться - разберётся, в том числе и задав вопрос ТС. Никто никому ничего не должен, это open source, пользуйте что дают или не пользуйте. Совсем юзеры обленились, дай инструкцию, пили правильно... Срамота. 8)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Skylex on December 23, 2017, 11:07:35 AM
Интересные вы товарищи. Вам тут дают советы, как вообще оживить этот проект. А ТС брыкается, говорит не хочу писать roadmap, не хочу писать README, хочу готовую биржу! Это как начинать строить дом с крыши. С таким подходом ничего не получится и ни один уважающий себя программист не будет сюда контрибутить. От себя лично могу добавить, что вам сильно не хватает навыков для ведения подобного проекта, если вы начали делать фронт биржи на jQuery ;)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 23, 2017, 06:05:53 PM
На бирже заработал ввод и вывод монеты Мэрикоин.
В панели админа можно добавлять другие монеты, но пока будет только одна.

Затестить ввод можно через кран http://mc-faucet.multicoins.org/
Выводить можно туда-же на кран ))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on December 26, 2017, 06:04:56 PM
Затестить ввод можно через кран http://mc-faucet.multicoins.org/
Как говорится, "кто на кранах сидел, тот в цирке не смеётся". :D :D :D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on December 26, 2017, 07:07:10 PM
Затестить ввод можно через кран http://mc-faucet.multicoins.org/
Как говорится, "кто на кранах сидел, тот в цирке не смеётся". :D :D :D

несмешно потому что всё затеянное ради пиара марикойны получается  :'( вот такой вот мультикошелёк...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on December 26, 2017, 07:12:47 PM
Затестить ввод можно через кран http://mc-faucet.multicoins.org/
Как говорится, "кто на кранах сидел, тот в цирке не смеётся". :D :D :D

несмешно потому что всё затеянное ради пиара марикойны получается  :'( вот такой вот мультикошелёк...
В этом нет ничего плохого. Разработчики рекламируют свои работы в новых проектах, к тому же эта монета уместна на бирже.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 27, 2017, 04:32:37 PM
Затестить ввод можно через кран http://mc-faucet.multicoins.org/
Как говорится, "кто на кранах сидел, тот в цирке не смеётся". :D :D :D

несмешно потому что всё затеянное ради пиара марикойны получается  :'( вот такой вот мультикошелёк...
Ты бредишь. На чём по твоему следует тестировать функционал, когда MC и транзакции практически бесплатные, а всё остальное нет? Можешь отсыпать ТС битков или эфира с учётом комиссий, будем тестировать на них. ;D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: rorrim on December 27, 2017, 05:34:49 PM
Ты бредишь. На чём по твоему следует тестировать функционал, когда MC и транзакции практически бесплатные, а всё остальное нет? Можешь отсыпать ТС битков или эфира с учётом комиссий, будем тестировать на них. ;D

Можно использовать test net биткоинов :) Совсем бесплатно.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 27, 2017, 06:13:52 PM
Ты бредишь. На чём по твоему следует тестировать функционал, когда MC и транзакции практически бесплатные, а всё остальное нет? Можешь отсыпать ТС битков или эфира с учётом комиссий, будем тестировать на них. ;D

Можно использовать test net биткоинов :) Совсем бесплатно.

Мэрикоины кран тоже бесплатно раздает. Внезапно ))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ateregulov on December 28, 2017, 02:56:47 AM
У вас есть в телеграме чат для этого проекта? Могу поделиться своим видением архитектуры.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: rorrim on December 28, 2017, 07:08:45 AM
Мэрикоины кран тоже бесплатно раздает. Внезапно ))

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 28, 2017, 07:17:58 AM
Мэрикоины кран тоже бесплатно раздает. Внезапно ))

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

Ну и покажите мне биржу, которая кроме биткоинов ничего не поддерживает? Я думал, биржа это когда как минимум два коина? ))
Кстати, а сколько времени синхронизируется тестовая сеть биткоинов?

ЗЫ телеграммом не пользуюсь, если есть идеи - кидайте сюда.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: rorrim on December 28, 2017, 10:21:47 AM

Ну и покажите мне биржу, которая кроме биткоинов ничего не поддерживает? Я думал, биржа это когда как минимум два коина? ))
Кстати, а сколько времени синхронизируется тестовая сеть биткоинов?


На бирже все эти коины вполне виртуальные - если ты продал BTC и купил LTC, то первое моментально исчезает со счета, а второе моментально появляется. Поэтому внутри биржи можно хоть 100500 коинов сделать без труда. А вот уже ввод/вывод это другой вопрос. Но опять же нет никакого смысла тратить время на всякий треш.

Поскольку платежи все равно фейковые, можно не ждать 100500 подтверждений. Я недавно делал несколько переводов на свой кошелек в тестнете биткоина, через час у меня было где-то 13-15 подтверждений. Но опять же, для биржи это не важно, т.к. все операции совершаются просто проводкой с одного счета на другой и за пределы биржи выходят редко.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 28, 2017, 10:29:30 AM

Ну и покажите мне биржу, которая кроме биткоинов ничего не поддерживает? Я думал, биржа это когда как минимум два коина? ))
Кстати, а сколько времени синхронизируется тестовая сеть биткоинов?


На бирже все эти коины вполне виртуальные - если ты продал BTC и купил LTC, то первое моментально исчезает со счета, а второе моментально появляется. Поэтому внутри биржи можно хоть 100500 коинов сделать без труда. А вот уже ввод/вывод это другой вопрос. Но опять же нет никакого смысла тратить время на всякий треш.

Поскольку платежи все равно фейковые, можно не ждать 100500 подтверждений. Я недавно делал несколько переводов на свой кошелек в тестнете биткоина, через час у меня было где-то 13-15 подтверждений. Но опять же, для биржи это не важно, т.к. все операции совершаются просто проводкой с одного счета на другой и за пределы биржи выходят редко.

Виртуальные коины это токены, их тоже надо будет сделать, но это совсем другая история... Например токеном целесообразно сделать рубли и баксы: типа торговать ими можно, но ввод/вывод - нельзя, чтобы не париться с офшорными схемами раньше времени ))

Все форки битка имеют те же функции, что и сам биток. Поэтому ввод/вывод у них реализуется абсолютно одинаково. Например я скоро досинхронизирую доги и они сразу появятся на бирже с вводом и выводом... Биток пока добавлять не буду - пусть подешевеет баксов до 500 или комиссии пусть снизит. Тестовый биток тем более нет смысла добавлять на торги.



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 29, 2017, 05:27:27 AM
С добавлением догов возникли сложности.
Последняя версия кошелька догов зарелизена 2 года назад и в ней не в полной мере поддерживается prune. А весь блокчейн я у себя на серваке хранить не хочу.

Так что как ни печально, но придется вместо догов биток добавлять.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on December 29, 2017, 11:05:14 AM
С добавлением догов возникли сложности.
Последняя версия кошелька догов зарелизена 2 года назад и в ней не в полной мере поддерживается prune. А весь блокчейн я у себя на серваке хранить не хочу.

Так что как ни печально, но придется вместо догов биток добавлять.

Так вот же подходящий кандидат для добавления - https://bitcointalk.org/index.php?topic=2254304.0
Как раз для разного рода экспериментов, проб и ошибок лучше не придумаешь.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 29, 2017, 11:11:59 AM
С добавлением догов возникли сложности.
Последняя версия кошелька догов зарелизена 2 года назад и в ней не в полной мере поддерживается prune. А весь блокчейн я у себя на серваке хранить не хочу.

Так что как ни печально, но придется вместо догов биток добавлять.

Так вот же подходящий кандидат для добавления - https://bitcointalk.org/index.php?topic=2254304.0
Как раз для разного рода экспериментов, проб и ошибок лучше не придумаешь.

Сделайте полноценный анонс в русской и английской ветке. По вашей ссылке даже исходников не найти. Хотя исходники мне и не нужны, нужна прекомпилированная версия демона для линукса.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 29, 2017, 11:30:32 AM
Добавил на биржу лайткоин.
Можно тестить ввод/вывод.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on December 29, 2017, 11:50:30 AM
Сделайте полноценный анонс в русской и английской ветке. По вашей ссылке даже исходников не найти. Хотя исходники мне и не нужны, нужна прекомпилированная версия демона для линукса.

Я не хочу анонсировать пока ещё, как мне кажется, относительно сырой продукт. И с линуксом я ещё пока на Вы - без гугла никуда.
Исходники тут: https://github.com/neiros/---TTC--- ни от кого не спрятаны.

git clone https://github.com/neiros/---TTC---.git ttc
cd src/
cd leveldb/
chmod +x build_detect_platform
cd ..
make -f makefile.unix USE_UPNP=-

и ttcoind готов.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 29, 2017, 12:12:43 PM
Сделайте полноценный анонс в русской и английской ветке. По вашей ссылке даже исходников не найти. Хотя исходники мне и не нужны, нужна прекомпилированная версия демона для линукса.

Я не хочу анонсировать пока ещё, как мне кажется, относительно сырой продукт. И с линуксом я ещё пока на Вы - без гугла никуда.
Исходники тут: https://github.com/neiros/---TTC--- ни от кого не спрятаны.

git clone https://github.com/neiros/---TTC---.git ttc
cd src/
cd leveldb/
chmod +x build_detect_platform
cd ..
make -f makefile.unix USE_UPNP=-

и ttcoind готов.

Ну во-первых
git clone https://github.com/neiros/---TTC---.git ttc
cd ttc/src/leveldb
chmod +x build_detect_platform
cd ..
make -f makefile.unix USE_UPNP=-


А во-вторых
alert.cpp:6:53: fatal error: boost/algorithm/string/classification.hpp: No such file or directory
compilation terminated.

Поэтому и говорю: дайте скомпилированный бинарик лучше


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on December 29, 2017, 12:37:38 PM

Ну во-первых
git clone https://github.com/neiros/---TTC---.git ttc
cd ttc/src/leveldb
chmod +x build_detect_platform
cd ..
make -f makefile.unix USE_UPNP=-
Перед этим ещё так у меня:
sudo apt-get install build-essential git autoconf libtool libssl-dev libboost-all-dev libdb++-dev libgmp-dev


А во-вторых
alert.cpp:6:53: fatal error: boost/algorithm/string/classification.hpp: No such file or directory
compilation terminated.
boost какой-то не такой что-ли...

Поэтому и говорю: дайте скомпилированный бинарик лучше

Бинарик весит 65 мег. Закачивается на файлообменник.
Как закачается - добавлю в этот пост ссылку.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 29, 2017, 12:43:06 PM
сделайте бинарику стрип
strip bitcoind
ну или как он у вас называется? Мне нужен демон, а не qt -шник, демон не должен столько весить.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on December 29, 2017, 12:55:04 PM
сделайте бинарику стрип
strip bitcoind
ну или как он у вас называется? Мне нужен демон, а не qt -шник, демон не должен столько весить.
Он без стрипа столько весит.

http://my-files.ru/xchclu



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 29, 2017, 12:56:27 PM
ок ночью попробую добавить.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: AndreyBelts on December 29, 2017, 01:19:50 PM
ок ночью попробую добавить.
Авторам - большой респект.
Надеюсь у них все получится.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 29, 2017, 06:10:29 PM
сделайте бинарику стрип
strip bitcoind
ну или как он у вас называется? Мне нужен демон, а не qt -шник, демон не должен столько весить.
Он без стрипа столько весит.

http://my-files.ru/xchclu



./ttcoind: error while loading shared libraries: libboost_system.so.1.58.0: cannot open shared object file: No such file or directory

Надо статически либы прилинковать.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 29, 2017, 07:34:57 PM
Скомпилировал сам TTC и добавил.
Тестируйте на здоровье  :)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: tobby9061 on December 29, 2017, 09:43:53 PM
Прочитал все ветку и показалось что акценты на UI а не на самом принципе работы биржы.
Как мне видеться делать надо так:
1. Разработка модуля "Стакан".
Стакан это сердце биржи в котором отображенны шкала цен, и объемы тех кто по купает и по какой цене и тех кто продает и по какой цене продает. Можем представить стакан как 2 таблицы(многомерный массив), в них поля(цена, список ID лимитных ордеров, кол-во ставки и прочее) так для тех кто продает и тех кто покупает.

2. Разработка модуля "Ордер"
При создании ордера мы отправляем сообщение модулю Стакан что открытии позиции и находим в противоположном списке нужный нам объем и состыковываем людей или частично. Складываем в БД все это.

3. Разработка модуля "API"
Для тестирование покупки и продажи и работы верхних 2х модулей

4. Описание и создание  UnitTests для всех тех модулей и проверка всех вариантов на адекватную работу



Ну и т.д. Делать ввод средств и прочее это мелкие задачи и они не так важны как эти 3 модуля!
Причем 1 и 2 модуль надо иметь высоктотюнингованными)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on December 30, 2017, 03:58:56 AM
Скомпилировал сам TTC и добавил.
Тестируйте на здоровье  :)

Отличное начало для синергетического эффекта. До тестирования миллионных биржевых оборотов уже стало гораздо ближе...

Перевёл 10000 TTC - http://90.188.88.19:3001/address/TT9mx8tsAT6xK43Cj7nDXGRGmaThZB8AXF
И застряли они в Awaiting deposit
Почему так случилось?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 30, 2017, 02:05:08 PM
Скомпилировал сам TTC и добавил.
Тестируйте на здоровье  :)

Отличное начало для синергетического эффекта. До тестирования миллионных биржевых оборотов уже стало гораздо ближе...

Перевёл 10000 TTC - http://90.188.88.19:3001/address/TT9mx8tsAT6xK43Cj7nDXGRGmaThZB8AXF
И застряли они в Awaiting deposit
Почему так случилось?

Вроде отремонтировал. Проверьте ввод/вывод


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 30, 2017, 08:37:26 PM
Прочитал все ветку и показалось что акценты на UI а не на самом принципе работы биржы.
Как мне видеться делать надо так:
1. Разработка модуля "Стакан".

2. Разработка модуля "Ордер"

3. Разработка модуля "API"

4. Описание и создание  UnitTests для всех тех модулей и проверка всех вариантов на адекватную работу



Ну и т.д. Делать ввод средств и прочее это мелкие задачи и они не так важны как эти 3 модуля!
Причем 1 и 2 модуль надо иметь высоктотюнингованными)

Ну что же, именно сейчас я начинаю работу над модулем "Стакан" и "Ордер".
Присоединяйтесь.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: tobby9061 on December 31, 2017, 01:04:54 AM
Ну что же, именно сейчас я начинаю работу над модулем "Стакан" и "Ордер".
Присоединяйтесь.

Увы Я не фанат Node.Js, а делать Калл не в моих правилах)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: skrn2 on December 31, 2017, 05:07:10 AM
4. Выставление и отмена ордеров
5. Исполнение перекрывающихся ордеров
6. АПИ биржи

По-моему это самые простые пункты. Сначала делается API потом выставление и перекидывание ордеров.
С чем у вас проблемы? С алгоритмом и логикой, хранением в бд порядка и прочего, или с выводом на экран?

Я когда делал свою биржу, у меня вставал вопрос, как пользователю внести и вывести деньги. Остальное дело двух дней.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: tobby9061 on December 31, 2017, 10:17:43 AM
Я когда делал свою биржу, у меня вставал вопрос, как пользователю внести и вывести деньги. Остальное дело двух дней.

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on December 31, 2017, 02:36:43 PM
Перевёл 10000 TTC - http://90.188.88.19:3001/address/TT9mx8tsAT6xK43Cj7nDXGRGmaThZB8AXF
И застряли они в Awaiting deposit
Почему так случилось?

Вроде отремонтировал. Проверьте ввод/вывод

Все работает. Даже лучше, чем я ожидал.
History, точнее то, что в ней, мне очень понравилась. Такого ещё ни у кого нет.
В Wallet`е 7 знаков после запятой, лучше сделать 8.


Каким инструменталом пользуетесь для Node.Js и что посоветуете почитать для начала, хотя бы в плане поверхностного понимания?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: WorldBitBank on December 31, 2017, 08:49:36 PM
Да очень хорошая задумка )


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: sate2llite on December 31, 2017, 09:08:04 PM
Я так понимаю функционал растет а комиты на gh нет?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on January 01, 2018, 05:30:30 AM

Баг: в Litecoin и Marycoin история от ---TTC---


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 01, 2018, 05:28:45 PM

Баг: в Litecoin и Marycoin история от ---TTC---

1. Баг исправил.

2. На ноде программировать прикольно в среде Cloud9
Можно бесплатно здесь: http://c9.io/
Можно в два счета поднять на своем серваке https://cloud9-sdk.readme.io/docs/running-the-sdk

3. Версии коммичу только когда что-то существенное добавляется.
Последний коммит был сделан когда добавил ввод/вывод. Следующий сделаю когда ордера будут добавляться и отменяться.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 02, 2018, 09:30:07 PM
Сделал добавление и отмену ордеров. Можно тестить. Торгов пока нет.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: qero on January 03, 2018, 11:18:55 PM
Есть вопрос как будет решаться проблема с нагрузкой на биржу. Скажем, если потребуется обрабатывать тысячи ордеров в секунду от разных пользователей и ботов одновременно?
То есть то, от чего страдают сейчас крупные биржи.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on January 04, 2018, 06:53:20 AM
Есть вопрос как будет решаться проблема с нагрузкой на биржу. Скажем, если потребуется обрабатывать тысячи ордеров в секунду от разных пользователей и ботов одновременно?
То есть то, от чего страдают сейчас крупные биржи.
Как вариант, можно реализовать мультисерверную архитектуру.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: xcorter on January 04, 2018, 09:13:55 AM
Есть вопрос как будет решаться проблема с нагрузкой на биржу. Скажем, если потребуется обрабатывать тысячи ордеров в секунду от разных пользователей и ботов одновременно?
То есть то, от чего страдают сейчас крупные биржи.
На ранних этапах про такое думать слишком долго не надо. Просто когда начинает где-то подтормаживать, берешь и оптимизируешь. Ну и просто когда делаешь проект, держи в уме, что придется добавлять новые инстансы. Вот и все)
На работе делали чат на 10к пользователей в онлайне. Просто запустили 4 инстанса и все норм было.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on January 04, 2018, 11:30:48 AM

Запустил на своём компе - https://bitcointalk.org/index.php?topic=2509833.msg26454044#msg26454044

node должна быть >= 6.0.0 для sendmail
npm install ws (новая зависимость появилась)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 06, 2018, 10:08:59 PM
Запустил модуль торгов.
Можно пробовать  :)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: evgen_povt on January 07, 2018, 08:59:22 AM
Есть вопрос как будет решаться проблема с нагрузкой на биржу. Скажем, если потребуется обрабатывать тысячи ордеров в секунду от разных пользователей и ботов одновременно?
То есть то, от чего страдают сейчас крупные биржи.
Как вариант, можно реализовать мультисерверную архитектуру.

А так можно на SQLite?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 07, 2018, 11:12:07 AM
Есть вопрос как будет решаться проблема с нагрузкой на биржу. Скажем, если потребуется обрабатывать тысячи ордеров в секунду от разных пользователей и ботов одновременно?
То есть то, от чего страдают сейчас крупные биржи.
Как вариант, можно реализовать мультисерверную архитектуру.

А так можно на SQLite?

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: evgen_povt on January 07, 2018, 11:19:18 AM
Есть вопрос как будет решаться проблема с нагрузкой на биржу. Скажем, если потребуется обрабатывать тысячи ордеров в секунду от разных пользователей и ботов одновременно?
То есть то, от чего страдают сейчас крупные биржи.
Как вариант, можно реализовать мультисерверную архитектуру.

А так можно на SQLite?

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

Видимо, всем разработчикам бирж не нравится идея мультисерверности. Поэтому все биржи начинают тормозить при возрастании нагрузки.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 07, 2018, 11:26:07 AM
Видимо, всем разработчикам бирж не нравится идея мультисерверности. Поэтому все биржи начинают тормозить при возрастании нагрузки.

Станьте первым разработчиком, который сделает мультисерверность  ;)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: qero on January 07, 2018, 08:45:43 PM
Вопрос немного не совсем по теме, но было бы интересно узнать - судя по Вашим вложениям навыков, сил и времени - во сколько бы оценили свои труды, если бы разрабатывали биржу на коммерческой основе?
Спрашивал у людей, которые выдают себя спецами. Оценивают разработку биржи от 200 килобаксов и выше (чисто техническая часть разработок, не считая остального). Хотелось бы услышать Ваше мнение.
Благодарю.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 07, 2018, 08:53:36 PM
Вопрос немного не совсем по теме, но было бы интересно узнать - судя по Вашим вложениям навыков, сил и времени - во сколько бы оценили свои труды, если бы разрабатывали биржу на коммерческой основе?
Спрашивал у людей, которые выдают себя спецами. Оценивают разработку биржи от 200 килобаксов и выше (чисто техническая часть). Хотелось бы услышать Ваше мнение.
Благодарю.

Ну полноценную биржу я еще не сделал, а прошел уже месяц. Думаю еще минимум месяц уйдет, а скорее пара месяцев, чтобы сделать что-то похожее на законченный коммерческий продукт. Мое время стоит 250$ в неделю, значит за 8 недель я бы взял 2000$, за 12 недель 3000$

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: evgen_povt on January 08, 2018, 09:19:09 AM
Вопрос немного не совсем по теме, но было бы интересно узнать - судя по Вашим вложениям навыков, сил и времени - во сколько бы оценили свои труды, если бы разрабатывали биржу на коммерческой основе?
Спрашивал у людей, которые выдают себя спецами. Оценивают разработку биржи от 200 килобаксов и выше (чисто техническая часть). Хотелось бы услышать Ваше мнение.
Благодарю.

Ну полноценную биржу я еще не сделал, а прошел уже месяц. Думаю еще минимум месяц уйдет, а скорее пара месяцев, чтобы сделать что-то похожее на законченный коммерческий продукт. Мое время стоит 250$ в неделю, значит за 8 недель я бы взял 2000$, за 12 недель 3000$

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

Есть правило, что 95% проекта делается за 95% оценочного времени, а остальные 5% за ещё 95% времени.
Особенно, если человек работает над проектом один, без четкого ТЗ, продакт оунера/менеджера и тестировщиков.



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 08, 2018, 09:09:09 PM
Ну что же, вроде работают и торги и добавление новых монет.
Можно констатировать, что вполне рабочую биржу действительно можно с нуля написать за месяц, главное начинать не с ридми, вики и прочей шелухи, а просто начать  :)



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Saxa.Xaker on January 09, 2018, 12:14:04 AM
Ну что же, вроде работают и торги и добавление новых монет.
Можно констатировать, что вполне рабочую биржу действительно можно с нуля написать за месяц, главное начинать не с ридми, вики и прочей шелухи, а просто начать  :)



Привет! Напишите, плз, нужные монеты(coind) для биржи, я разверну их полные ноды на внешнем адресе.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 09, 2018, 08:00:39 AM
Ну что же, вроде работают и торги и добавление новых монет.
Можно констатировать, что вполне рабочую биржу действительно можно с нуля написать за месяц, главное начинать не с ридми, вики и прочей шелухи, а просто начать  :)



Привет! Напишите, плз, нужные монеты(coind) для биржи, я разверну их полные ноды на внешнем адресе.
Сервера с монетами должны быть под полным контролем только владельца биржи, а лучше если вообще на одном сервере с биржей ибо запросы рпц идут по нешифрованному хттп. Вам ли с вашим никому этого не знать? ))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: evgen_povt on January 09, 2018, 08:38:36 AM
Ну что же, вроде работают и торги и добавление новых монет.
Можно констатировать, что вполне рабочую биржу действительно можно с нуля написать за месяц, главное начинать не с ридми, вики и прочей шелухи, а просто начать  :)



Привет! Напишите, плз, нужные монеты(coind) для биржи, я разверну их полные ноды на внешнем адресе.
Сервера с монетами должны быть под полным контролем только владельца биржи, а лучше если вообще на одном сервере с биржей ибо запросы рпц идут по нешифрованному хттп. Вам ли с вашим никому этого не знать? ))

Ну он же Хакер :)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Saxa.Xaker on January 09, 2018, 10:39:29 AM

Да ради бога, боже мой! Когда раздавали мыло на домене xaker.ru я рядом проходил.:))))
Вы ранее писали, что нужны пару серверов с разными демонами. Мне это интересно с моей стороны, сисадминовой - коннекты, загрузка на практике; мне нужен опыт. И что-то мне подсказывает, что тут тестовая среда и проводят эксперименты. Как вариант, можете получить ip:port в личку и никому не показывать или настроить ВПН. Запросы rpc можно также гонять по зашифрованному каналу через прокси... Т.е. у меня только ноды с rpc-login - у Вас всё остальное. Просто это не домашний комп, а нормальный сервер. Кстати, могу просто выделить ресурсы, сами развернёте, что необходимо, или я помогу.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on January 09, 2018, 01:09:48 PM
...И что-то мне подсказывает, что тут тестовая среда и проводят эксперименты...

С тэтэшками - https://bitcointalk.org/index.php?topic=2509833.msg27151655#msg27151655 можете экспериментировать сколько захотите.
Пока какая-нибудь бага не вылезет.

Пятимегабайтные блоки надо будет там ещё погонять.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on January 09, 2018, 02:15:30 PM

Да ради бога, боже мой! Когда раздавали мыло на домене xaker.ru я рядом проходил.:))))
Вы ранее писали, что нужны пару серверов с разными демонами. Мне это интересно с моей стороны, сисадминовой - коннекты, загрузка на практике; мне нужен опыт. И что-то мне подсказывает, что тут тестовая среда и проводят эксперименты. Как вариант, можете получить ip:port в личку и никому не показывать или настроить ВПН. Запросы rpc можно также гонять по зашифрованному каналу через прокси... Т.е. у меня только ноды с rpc-login - у Вас всё остальное. Просто это не домашний комп, а нормальный сервер. Кстати, могу просто выделить ресурсы, сами развернёте, что необходимо, или я помогу.

А добавте вот такую монету  ;) https://biocoin.bio/ru по моему это будущий битрубыль  ;D да и сама идея качественных продуктов за крипту мне нравится! Не нашёл на официальном сайте на каких биржах она торгуется... но на yobit (https://goo.gl/EwhBtm) точно есть! И текущий объём торгов на стадии ico мне нравится  8)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Saxa.Xaker on January 09, 2018, 03:30:54 PM

Да ради бога, боже мой! Когда раздавали мыло на домене xaker.ru я рядом проходил.:))))
Вы ранее писали, что нужны пару серверов с разными демонами. Мне это интересно с моей стороны, сисадминовой - коннекты, загрузка на практике; мне нужен опыт. И что-то мне подсказывает, что тут тестовая среда и проводят эксперименты. Как вариант, можете получить ip:port в личку и никому не показывать или настроить ВПН. Запросы rpc можно также гонять по зашифрованному каналу через прокси... Т.е. у меня только ноды с rpc-login - у Вас всё остальное. Просто это не домашний комп, а нормальный сервер. Кстати, могу просто выделить ресурсы, сами развернёте, что необходимо, или я помогу.

А добавте вот такую монету  ;) https://biocoin.bio/ru по моему это будущий битрубыль  ;D да и сама идея качественных продуктов за крипту мне нравится! Не нашёл на официальном сайте на каких биржах она торгуется... но на /EwhBtm]yobit (https://[Suspicious link removed) точно есть! И текущий объём торгов на стадии ico мне нравится  8)
Я-то добавлю полную ноду, но она только содержит блокчейн и майнит, а для автовыплат нужен wallet-rpc. Это уже к хозяину биржи.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 09, 2018, 05:53:51 PM

Да ради бога, боже мой! Когда раздавали мыло на домене xaker.ru я рядом проходил.:))))
Вы ранее писали, что нужны пару серверов с разными демонами. Мне это интересно с моей стороны, сисадминовой - коннекты, загрузка на практике; мне нужен опыт. И что-то мне подсказывает, что тут тестовая среда и проводят эксперименты. Как вариант, можете получить ip:port в личку и никому не показывать или настроить ВПН. Запросы rpc можно также гонять по зашифрованному каналу через прокси... Т.е. у меня только ноды с rpc-login - у Вас всё остальное. Просто это не домашний комп, а нормальный сервер. Кстати, могу просто выделить ресурсы, сами развернёте, что необходимо, или я помогу.

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on January 10, 2018, 12:52:38 AM
Ну что же, вроде работают и торги и добавление новых монет.
Можно констатировать, что вполне рабочую биржу действительно можно с нуля написать за месяц, главное начинать не с ридми, вики и прочей шелухи, а просто начать  :)
Какие дальше направления развития этого проекта?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 10, 2018, 08:21:14 AM
дальше надо админку допиливать, но пользователям это не видно. Производительность оптимизировать, интерфейс... Может апи тоже займусь.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on January 10, 2018, 10:17:03 AM
дальше надо админку допиливать, но пользователям это не видно. Производительность оптимизировать, интерфейс... Может апи тоже займусь.

Может мы обидели кого-то зря,cбросили 15 мегатонн...
Бро я про api почему так до тебя донёс  ;D  потому что я так вижу все эти биржи!!!
Для меня нет смысла в дизайне чате и рюшечках... 
Вот глянь как красиво  https://radarrelay.com/standard-relayer-api/
И я верю в светлое завтра когда у всех будет унифицированное api это ж так удобно  ;D как гайка зил камаз


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: rorrim on January 12, 2018, 11:01:32 AM
Можно констатировать, что вполне рабочую биржу действительно можно с нуля написать за месяц, главное начинать не с ридми, вики и прочей шелухи, а просто начать  :)

Только оно умрет при нагрузке и придется переписывать, уже с архитектурой в вики, микросервисами и тому подобное. А без нагрузки в виде потока ордеров биржа никому не нужна.
Я когда-то очень давно (лет 15-20 назад) написал сервис обмена файлами (типа rapidshare) на php. Когда писал, даже не думал что будут какие-то нагрузки, но при 10ТБ трафика в месяц сервер начал загибаться и я очень хорошо помню что такое переписывать на живой системе. Но одно дело бесплатный сервис файлобменника, совсем другое дело биржа, которая принесет людям убытки.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 12, 2018, 11:05:14 AM
Можно констатировать, что вполне рабочую биржу действительно можно с нуля написать за месяц, главное начинать не с ридми, вики и прочей шелухи, а просто начать  :)

Только оно умрет при нагрузке и придется переписывать, уже с архитектурой в вики, микросервисами и тому подобное. А без нагрузки в виде потока ордеров биржа никому не нужна.
Я когда-то очень давно (лет 15-20 назад) написал сервис обмена файлами (типа rapidshare) на php. Когда писал, даже не думал что будут какие-то нагрузки, но при 10ТБ трафика в месяц сервер начал загибаться и я очень хорошо помню что такое переписывать на живой системе. Но одно дело бесплатный сервис файлобменника, совсем другое дело биржа, которая принесет людям убытки.

Во первых пых и нода это две сильно разные вещи в плане работы с нагрузкой.
Во вторых: скачивание файлов и переписывание цифер в ячейках базы данных это тоже очччень сильно разные вещи в плане нагрузки на сервак  ;D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on January 13, 2018, 02:08:25 AM
Бро я про api почему так до тебя донёс  ;D  потому что я так вижу все эти биржи!!!
Для меня нет смысла в дизайне чате и рюшечках... 
Вот глянь как красиво  https://radarrelay.com/standard-relayer-api/
И я верю в светлое завтра когда у всех будет унифицированное api это ж так удобно  ;D как гайка зил камаз
Интересный материал. Наверно, действительно, криптовалютным биржам уже нужно создать некий стандарт команд API.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Daneal on January 20, 2018, 03:30:24 PM
Уважаемый kzv хотелось бы узнать когда Вы планируете сделать API к своему проекту? очень хорошая биржа у Вас получается


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 20, 2018, 03:57:17 PM
Уважаемый kzv хотелось бы узнать когда Вы планируете сделать API к своему проекту? очень хорошая биржа у Вас получается

Пока есть рабочие моменты с улучшением чата и интерфейса. Как только их решу, займусь API


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: valsha on January 24, 2018, 05:52:45 PM
а есть какие то кошельки на nodejs, что бы поддерживали не одну валюту?
а то как же тогда работа будет на бирже, под каждую валюту свой кошелек?
 


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ejdigger on January 27, 2018, 07:57:11 AM
Пока есть рабочие моменты с улучшением чата и интерфейса. Как только их решу, займусь API
Android приложение с биржей можно будет сконнектить через api? Хочу обсудить с товарищем, работающим в сфере блокчейна и android приложений возможность написания мобильного ПО.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 27, 2018, 08:20:36 AM
а есть какие то кошельки на nodejs, что бы поддерживали не одну валюту?
а то как же тогда работа будет на бирже, под каждую валюту свой кошелек?
 

Для каждой валюты свой кошелек и под все это единая морда на nodejs. В чем собственно вопрос я не понял?

Quote
Android приложение с биржей можно будет сконнектить через api? Хочу обсудить с товарищем, работающим в сфере блокчейна и android приложений возможность написания мобильного ПО.

АПИ ключ для торговли будет получать пользователь в своем профиле на бирже. С помощью этого ключа можно будет подключаться к своему профилю через любое приложение.
Автоматическая выдача ключа стороннему приложению не предусматривается в целях безопасности. То есть если идея сделать полнофункциональный клон биржи на не для веба, а для андроида - то это только через импорт пользовательского ключа в приложение.
Пользователь должен будет сам получить на сайте ключ и потом этот ключ импортировать в приложение. Я так это вижу.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ejdigger on January 27, 2018, 11:02:57 AM
Это хороший вариант с точки зрения безопасности. Поинтересуюсь мыслями на счёт мобильного приложения для биржи.
Только вход на биржу с мобильных устройств через web не работает, по крайней мере пробовал на разных ipad, iphone с разных браузеров.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 27, 2018, 11:10:39 AM
Это хороший вариант с точки зрения безопасности. Поинтересуюсь мыслями на счёт мобильного приложения для биржи.
Только вход на биржу с мобильных устройств через web не работает, по крайней мере пробовал на разных ipad, iphone с разных браузеров.

Для мобильных устройств надо придумывать другой дизайн. Более минималистичный. Пока есть много более актуальных задач.
А так с хрома я зашел на Android 5.1.1 Samsung J3


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Vtools on January 30, 2018, 08:51:24 PM
Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

Привет

Мне от одного инвестора поступил заказ на создание централизованной биржи
Лично сам заниматься не могу, т.к. много сил трачу на создание нового блокчейна, буду только курировать процесс.

В связи с эти вопросы:
1. Заложили ли вы масштабируемость до 1 млн пользователей и выше в день?
2. Есть ли интерес поучаствовать в команде - на полную ставку (г. Москва, территориально будет БЦ Москва-Сити)?


P.S.
Кстати, можно принять участие частичное, т.к. я тоже буду всячески советовать node.js, то можно создать одинаковый стандартный внешний API ну и самое главное - написать библиотеку работы с криптовалютами (блокчейнами) для валют которые будут торговаться на бирже...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 30, 2018, 08:58:44 PM
Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

Привет

Мне от одного инвестора поступил заказ на создание централизованной биржи
Лично сам заниматься не могу, т.к. много сил трачу на создание нового блокчейна, буду только курировать процесс.

В связи с эти вопросы:
1. Заложили ли вы масштабируемость до 1 млн пользователей и выше в день?
2. Есть ли интерес поучаствовать в команде - на полную ставку (г. Москва, территориально будет БЦ Москва-Сити)?


Привет.
1. Нет. Резкий скачек количества пользователей скорее всего приведет к плохо предсказуемым багам. Никаких стресс-тестов я не проводил. Хотя в принципе 1 млн пользователей в день это не так много... Вот если 1 млн одновременно, то это уже хайлоад.
2. Тоже нет. На полную ставку в принципе работа не интересует. В Москве тем более.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Vtools on January 30, 2018, 09:01:25 PM
Я там еще добавил мысль:

P.S.
Кстати, можно принять участие частичное, т.к. я тоже буду всячески советовать node.js, то можно создать одинаковый стандартный внешний API ну и самое главное - написать библиотеку работы с криптовалютами (блокчейнами) для валют которые будут торговаться на бирже (это то что у вас называется Мультивалютный биржевой кошелек?).


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: bloodest on January 31, 2018, 09:54:12 AM
Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

Лично сам заниматься не могу, т.к. много сил трачу на создание нового блокчейна, буду только курировать процесс.


Нового в смысле с нуля ? или код под себя переделываете ?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on January 31, 2018, 10:02:43 AM
наткнулся на тему случайно. поддерживаю! захотелось отправить свой первый усмирит)))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Vasilkoff on February 07, 2018, 10:21:02 PM
Проект жив?
замечания про микросервисы очень правильные.. если проект будет развиватся, то рано или поздно до этого дойдет. Будет время с удовольствием присоеденюсь

Моя команда занимается биржами на Peatio (есть такой опен сорс на руби)

Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

Привет

Мне от одного инвестора поступил заказ на создание централизованной биржи
Лично сам заниматься не могу, т.к. много сил трачу на создание нового блокчейна, буду только курировать процесс.

В связи с эти вопросы:
1. Заложили ли вы масштабируемость до 1 млн пользователей и выше в день?
2. Есть ли интерес поучаствовать в команде - на полную ставку (г. Москва, территориально будет БЦ Москва-Сити)?


P.S.
Кстати, можно принять участие частичное, т.к. я тоже буду всячески советовать node.js, то можно создать одинаковый стандартный внешний API ну и самое главное - написать библиотеку работы с криптовалютами (блокчейнами) для валют которые будут торговаться на бирже...

Если не определились, то посмотрите в эту сторону.




Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on February 08, 2018, 05:22:04 PM
Проект жив?
замечания про микросервисы очень правильные.. если проект будет развиватся, то рано или поздно до этого дойдет. Будет время с удовольствием присоеденюсь

Моя команда занимается биржами на Peatio (есть такой опен сорс на руби)

Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

Привет

Мне от одного инвестора поступил заказ на создание централизованной биржи
Лично сам заниматься не могу, т.к. много сил трачу на создание нового блокчейна, буду только курировать процесс.

В связи с эти вопросы:
1. Заложили ли вы масштабируемость до 1 млн пользователей и выше в день?
2. Есть ли интерес поучаствовать в команде - на полную ставку (г. Москва, территориально будет БЦ Москва-Сити)?


P.S.
Кстати, можно принять участие частичное, т.к. я тоже буду всячески советовать node.js, то можно создать одинаковый стандартный внешний API ну и самое главное - написать библиотеку работы с криптовалютами (блокчейнами) для валют которые будут торговаться на бирже...

Если не определились, то посмотрите в эту сторону.




Проект конечно жив. Ссылка на рабочую версию в моей подписи. Сейчас работаю над АПИ


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: mr_null on February 08, 2018, 07:39:34 PM
Давайте определимся. Есть ли движки уже, платные во фри посмотреть или бесплатные для выстраивания понимания. Сетка опенсорсных открытых площадок была бы кстати. Какие есть движки на сегодня? ссылки.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on February 08, 2018, 07:45:36 PM
Давайте определимся. Есть ли движки уже, платные во фри посмотреть или бесплатные для выстраивания понимания. Сетка опенсорсных открытых площадок была бы кстати. Какие есть движки на сегодня? ссылки.

Да чет не сильно много желающих в опенсорс свои биржи выкладывать.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on February 10, 2018, 05:14:44 AM
Давайте определимся. Есть ли движки уже, платные во фри посмотреть или бесплатные для выстраивания понимания. Сетка опенсорсных открытых площадок была бы кстати. Какие есть движки на сегодня? ссылки.
Да чет не сильно много желающих в опенсорс свои биржи выкладывать.
Вот ещё одна open-source биржа, правда, опять на Python:
https://github.com/blinktrade/bitex


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: BuyOwnEx on February 16, 2018, 07:19:33 AM
Вставлю свои 5 копеек.
Тоже начали разрабатывать свою биржевую платформу... Демо версию можно посмотреть на https://demo.buyownex.com (https://demo.buyownex.com). В OpenSource отдавать конечно не рискнем, поскольку проект очень высокотехнологичный и требует больших навыков.
Мы намереваемся продавать нашу платформу всем заинтересованным лицам.
Наш проект изначально был рассчитан на highload, поскольку ядро пишется на C#, а БД используется промышленная PostgreSQL
Если есть желание поучаствовать, you are wellcome!

Тема для обсуждений: https://bitcointalk.org/index.php?topic=2960582 (https://bitcointalk.org/index.php?topic=2960582)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Daneal on February 16, 2018, 10:07:01 AM
Проект жив?
замечания про микросервисы очень правильные.. если проект будет развиватся, то рано или поздно до этого дойдет. Будет время с удовольствием присоеденюсь

Моя команда занимается биржами на Peatio (есть такой опен сорс на руби)

А вы можете помочь с подключением криптовалютных кошельков к Peatio ?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Vasilkoff on February 16, 2018, 03:18:05 PM
Проект жив?
замечания про микросервисы очень правильные.. если проект будет развиватся, то рано или поздно до этого дойдет. Будет время с удовольствием присоеденюсь

Моя команда занимается биржами на Peatio (есть такой опен сорс на руби)

А вы можете помочь с подключением криптовалютных кошельков к Peatio ?


Да, конечно. Ответил также в личные сообщения


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on February 21, 2018, 04:59:19 PM
У них идеология добавлять все, что хоть немного торгуется.

Пруф?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ligor on February 22, 2018, 11:07:55 AM
Спасибо и удачи ТС! Полезное дело, предложения по новым криптовалютам принимаются? Или это надо через Гитхаб?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on February 22, 2018, 07:02:16 PM
Чтобы добавить коин на коинмаркетс, коин должен торговаться на бирже которая уже есть на коинмаркетсе.
Чтобы добавить биржу на коинмаркетс, суточный оборот на бирже должен быть 1 000 000 $

Предложения по добавлению новых монет на OpenTrade принимаю только от разработчиков монеты или от тех, кто ведет топик этой монеты на форуме.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: algarif on March 09, 2018, 04:24:12 AM
Биржу взломали. Кто-то сумел завести фейковые коины на баланс.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Andriy Volosh on March 09, 2018, 05:04:50 PM
Биржу взломали. Кто-то сумел завести фейковые коины на баланс.
Да, "Exchange is recovering from a hacker attack"

Хотелось бы увидеть комментарии разработчиков.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Andriy Volosh on March 09, 2018, 05:06:49 PM
Копипаста из чата биржи:

☏ kzv:я знаю сколько коинов увел хакер это не миллионы и даже не тысячи баксов. Так что постепенно буду возвращать их на биржу. Кому сколько буду разбирать
☏ MAJNER:kzv, мне ниче не надо
☏ kzv:Но сначала баг исправлю

☏ kzv:Итак потери биржи (пользователи потеряли меньше)
☏ kzv:0.0189 BTC
☏ kzv:54000 DOGE
☏ kzv:0.65 LTC
☏ kzv:367 YTN
☏ kzv:35000 AREPA
☏ kzv:1270 CRYPLY
☏ kzv:Это все что вывел хакер

☏ kzv:На самом деле действительно, можно считать случившееся платой за аудит безопасности


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on March 09, 2018, 07:01:44 PM
Копипаста из чата биржи:
....
☏ kzv:На самом деле действительно, можно считать случившееся платой за аудит безопасности

А в чём дырка заключалась? может где ещё такая есть  ;D только что б обороты побольше были!


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on March 10, 2018, 07:07:05 AM
все дело в том, что open source биржи более уязвимы, так как атакующий знает основные характеристики интерпетаторов и может посмотреть аргументы функций в исходном коде.  Но если появится такая биржа open source, это будет очень круто. Это как линукс


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Faolom on March 10, 2018, 10:30:07 AM
https://github.com/viabtc/viabtc_exchange_server
Очень классное ядро биржи


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on March 12, 2018, 08:10:22 PM
Копипаста из чата биржи:
....
☏ kzv:На самом деле действительно, можно считать случившееся платой за аудит безопасности

А в чём дырка заключалась? может где ещё такая есть  ;D только что б обороты побольше были!

Дырка была в проверке валидности ордера.
Язык программирования Яваскрипт (как и почти все остальные скриптовые языки) запросто сравнивает строку и число в тех местах, где подразумевается сравнение чисел.

В итоге этот кусок кода внезапно всегда проходит без ошибок и всегда создается ордер
Code:
var fullAmount = 10000;
var balance = 'NaN';
if (balance*1 < fullAmount)
alert ('Insufficient funds');
else
alert ('Order created')


Если где-то в программе произошел глюк и в таблицу баланса вместо числа попала строка 'NaN', то счастливчик сможет пользоваться этим балансом как бесконечным количеством коинов.

Я думаю, что хакер на самом деле не хакер, а простой юзер который увидел у себя странный баланс и решил попробовать выставить ордер. Внезапно оказалось, что ордер выставляется и юзер от радости резко опустошил все стаканы и вывел крипту вместо того, чтобы подождать пока на бирже появятся нормальные объемы и получить в разы больший профит...



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on March 13, 2018, 03:42:31 AM
Копипаста из чата биржи:
....
☏ kzv:На самом деле действительно, можно считать случившееся платой за аудит безопасности

А в чём дырка заключалась? может где ещё такая есть  ;D только что б обороты побольше были!

Дырка была в проверке валидности ордера.
Язык программирования Яваскрипт (как и почти все остальные скриптовые языки) запросто сравнивает строку и число в тех местах, где подразумевается сравнение чисел.

В итоге этот кусок кода внезапно всегда проходит без ошибок и всегда создается ордер
Code:
var fullAmount = 10000;
var balance = 'NaN';
if (balance*1 < fullAmount)
alert ('Insufficient funds');
else
alert ('Order created')


Если где-то в программе произошел глюк и в таблицу баланса вместо числа попала строка 'NaN', то счастливчик сможет пользоваться этим балансом как бесконечным количеством коинов.

Я думаю, что хакер на самом деле не хакер, а простой юзер который увидел у себя странный баланс и решил попробовать выставить ордер. Внезапно оказалось, что ордер выставляется и юзер от радости резко опустошил все стаканы и вывел крипту вместо того, чтобы подождать пока на бирже появятся нормальные объемы и получить в разы больший профит...


точно ;D мамкин хакер 8)
с другой стороны этот случай показателен что js не очень для движка биржи


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: rukocrypt on March 13, 2018, 06:04:18 AM
Quote
с другой стороны этот случай показателен что js не очень для движка биржи
Язык программирования здесь не при чем...
Просто нужно обрабатывать (проверять и очищать) входные данные, а не писать в таблицу как пришло, тогда и NaN в таблице не появится. И почему в этом поле вообще сохраняется текст, если там должен быть тип поля FLOAT?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on March 13, 2018, 06:04:44 AM
вот вот... этот ява только красивостей.... жутко неудобный и не читабельный... просто это мейстрим: нужно же красивости переложить на пользователя, чтобы в браузере исполнялось...  python лучше выглядит...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on March 13, 2018, 08:27:08 AM
вот вот... этот ява только красивостей.... жутко неудобный и не читабельный... просто это мейстрим: нужно же красивости переложить на пользователя, чтобы в браузере исполнялось...  python лучше выглядит...

Питон точно так же с типами работает как и яваскрипт. А на счет читабельности: яваскрипт как две капли на си походит, так что для тех кто умеет читать и писать на си - яваскрипт читается легко и просто, в отличии от питона.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on March 13, 2018, 08:48:11 AM
согласен. я то просто перескочил с ASM Z80 на perl и потом на python, было правда пару раз приходилось создавать интерфейсы на Qt с использованием Си. Но это все не то)))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on March 13, 2018, 12:43:29 PM
Надо всё на Lisp сделать чтоб хакеров запутать  ;D притом на том что в autocad  :o
и на тот случай  в js есть специальная фуня isNAN но опыт на реальном бабле всегда безценен  ;)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on March 14, 2018, 06:21:03 AM
 ;D ;D ;D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dmitkratii on March 14, 2018, 06:59:41 PM
Ну каждому свое в этой ситуации...



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: profilink on March 14, 2018, 09:26:11 PM
Посмотрел на "биржу" и понимаю что в таком виде, она больше походит на тестовую Beta-версию. Согласитесь у такого серого и сырого проекта - нет будущего, хотя если натянуть дизайн, раскрутить - возможно какой то смысл и будет. В любом раскладе, ТС поддерживаю, всё что делается для людей, на энтузиазме заслуживает похвалы!


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Aleksandra Orsicheva on March 14, 2018, 09:39:24 PM
Всем Привет!

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

В настоящий момент уровень - абсолютный ноль)) Даже не знаю, чем отличается кодер от программиста.

Подскажите, с чего начать?
Какие первые шаги сделать?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Asiabdel on March 14, 2018, 10:34:24 PM
Всем Привет!

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

В настоящий момент уровень - абсолютный ноль)) Даже не знаю, чем отличается кодер от программиста.

Подскажите, с чего начать?
Какие первые шаги сделать?

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Andriy Volosh on March 15, 2018, 12:09:27 PM
Посмотрел на "биржу" и понимаю что в таком виде, она больше походит на тестовую Beta-версию. Согласитесь у такого серого и сырого проекта - нет будущего, хотя если натянуть дизайн, раскрутить - возможно какой то смысл и будет. В любом раскладе, ТС поддерживаю, всё что делается для людей, на энтузиазме заслуживает похвалы!
Это показательный пример неудачного проекта, созданного "на коленке".

Я ещё удивлялся: "Как же так? Одни люди просят за разработку криптобиржи 200 000 баксов и срок 1 год, и считают что это мало. А в этой теме разработчик оценивает в 3000 баксов и 3 месяца." :'(


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on March 15, 2018, 12:52:33 PM
Это показательный пример неудачного проекта, созданного "на коленке".

А что мешает вам показать пример удачного проекта?
Берёте любой неудачный проект и своими или совместными усилиями делаете из него, по вашему мнению, удачный.
Это же так просто. Даже ходить далеко не надо.

Я ещё удивлялся: "Как же так? Одни люди просят за разработку криптобиржи 200 000 баксов и срок 1 год, и считают что это мало. А в этой теме разработчик оценивает в 3000 баксов и 3 месяца." :'(

Лохи и миллионы с миллиардами на всякую фигню тратят, и на её обслуживание. Разве это показатель пользы проделанной работы?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: digichain on March 24, 2018, 07:11:38 AM
Всем Привет!

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

В настоящий момент уровень - абсолютный ноль)) Даже не знаю, чем отличается кодер от программиста.

Подскажите, с чего начать?
Какие первые шаги сделать?

Из доступных путей есть только один - поступить в университет на специальность компьютерные науки или программная инженерия.
Хотя бы 1-2 курса отучиться.
Попутно пройти курс по языку программирования в он-лайне - их полно бесплатных очень качественных видео.

По другому, только бесполезная трата времени - ну или как исключение, - если есть способности, умение учиться самостоятельно, - математический склад ума.  Тогда можно и самостоятельно. Хотя не думаю, что кто то добровольно прослушает курс по алгоритмам, или по дискретной математике.
Хочется сразу свой токен на JS или Солидити слепить.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on March 24, 2018, 08:13:28 AM
Всем Привет!

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

В настоящий момент уровень - абсолютный ноль)) Даже не знаю, чем отличается кодер от программиста.

Подскажите, с чего начать?
Какие первые шаги сделать?

Из доступных путей есть только один - поступить в университет на специальность компьютерные науки или программная инженерия.
Хотя бы 1-2 курса отучиться.
Попутно пройти курс по языку программирования в он-лайне - их полно бесплатных очень качественных видео.

По другому, только бесполезная трата времени - ну или как исключение, - если есть способности, умение учиться самостоятельно, - математический склад ума.  Тогда можно и самостоятельно. Хотя не думаю, что кто то добровольно прослушает курс по алгоритмам, или по дискретной математике.
Хочется сразу свой токен на JS или Солидити слепить.

Всё гораздо проще на самом деле, достаточно понять как рисовать блок схемы и как задачи преобразовывать в алгоритм. Для начального обучения хватит какого нибдуь basic с допотопного ZX. Для общего понимания что к чему и почему нужно историю ЭВМ (https://ru.wikibooks.org/wiki/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D0%B2%D0%B8%D1%82%D0%B8%D1%8F_%D0%AD%D0%92%D0%9C) хотя б прочесть. Современные языки очень сильно перегружены по сравнению с тем что было 20,30,40 лет назад...
Мой любимый ZX имел 16384 байт ПЗУ! и в этот объём был вшит Basic и что то ещё...
Короче учится надо на простом! Например на эмуляторе ZX  ;D потому что те кто понимают что это за машина смогут программировать что угодно  :o
ZX Spectrum исполнилось 35 лет (https://geektimes.ru/post/288376/)
И математика в программирование не так важна как умение правильно алгоритмизировать задачу!
Вон ТС Api на последнее место поставил  ;D сразу видно что из дизайнеров вышел  :o


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: tamerl4n on March 24, 2018, 08:28:55 AM
Всем Привет!

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

В настоящий момент уровень - абсолютный ноль)) Даже не знаю, чем отличается кодер от программиста.

Подскажите, с чего начать?
Какие первые шаги сделать?

Из доступных путей есть только один - поступить в университет на специальность компьютерные науки или программная инженерия.
Хотя бы 1-2 курса отучиться.
Попутно пройти курс по языку программирования в он-лайне - их полно бесплатных очень качественных видео.

По другому, только бесполезная трата времени - ну или как исключение, - если есть способности, умение учиться самостоятельно, - математический склад ума.  Тогда можно и самостоятельно. Хотя не думаю, что кто то добровольно прослушает курс по алгоритмам, или по дискретной математике.
Хочется сразу свой токен на JS или Солидити слепить.

Всё гораздо проще на самом деле, достаточно понять как рисовать блок схемы и как задачи преобразовывать в алгоритм. Для начального обучения хватит какого нибдуь basic с допотопного ZX. Для общего понимания что к чему и почему нужно историю ЭВМ (https://ru.wikibooks.org/wiki/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D0%B2%D0%B8%D1%82%D0%B8%D1%8F_%D0%AD%D0%92%D0%9C) хотя б прочесть. Современные языки очень сильно перегружены по сравнению с тем что было 20,30,40 лет назад...
Мой любимый ZX имел 16384 байт ПЗУ! и в этот объём был вшит Basic и что то ещё...
Короче учится надо на простом! Например на эмуляторе ZX  ;D потому что те кто понимают что это за машина смогут программировать что угодно  :o
ZX Spectrum исполнилось 35 лет (https://geektimes.ru/post/288376/)
И математика в программирование не так важна как умение правильно алгоритмизировать задачу!
Вон ТС Api на последнее место поставил  ;D сразу видно что из дизайнеров вышел  :o


Хех, а если я хочу стать фронтендером? (Кстати, самая популярная специализация в программировании)
Нужно изначально определиться с чем будешь работать. И если в твоей спеке нет алгоритмизации и машинного кода, то может быть не стоит начинать с таких основ, как basic на ZX? :)
Сам работаю на беке, необходимость изучать алгоритмы появилась только недавно, и то для собственного интереса(анализ данных), потому как на том проекте, где я работаю(сервисы, в которых все решается библиотечными методами) - они по факту не нужны.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on March 24, 2018, 09:51:44 AM
....
Сам работаю на беке, необходимость изучать алгоритмы появилась только недавно, и то для собственного интереса(анализ данных), потому как на том проекте, где я работаю(сервисы, в которых все решается библиотечными методами) - они по факту не нужны.
Вот и получается что современные программисты ничего не понимают в программирование потому что основ не знают и что откуда и почему не понимают! Нормальный программист может алготмизировать любую задачу! а тот который не может это не программист  ;D
Библиотеки используют все, но если не знать как и что работает то можно для решения задачи использовать в 1000 раз больше ресурсов чем необходимо!
В ZX  не только коды и алгоритмы были но и к ножкам микросхем можно было свою периферию припаять и умный дом сделать! Попробуй к айфону что то припаять  ;D кстати современный аналог ZX из Китая есть stm8 называется правда это уже не то... но всё лучше чем айфон  ;)
Для меня основа программирования это алгоритм и блок схема а потом уже конкретная аппаратная платформа и язык программирования. Платформ и языков уже столько было и столько уже забыто... а принцип алгоритмизации и построения блок схем неизменен!
Хотя я когда пишу программу уже просто пишу... привычка  ;)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: zeluk41 on March 24, 2018, 12:23:10 PM
молодым легче со всем этим разбираться , а что делать тем кому под 50 - печалька.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ligor on March 24, 2018, 12:49:15 PM
молодым легче со всем этим разбираться , а что делать тем кому под 50 - печалька.
То же самое, учиться, учиться и еще раз учиться. И под 60 и под 70 ....


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on March 26, 2018, 05:37:44 PM
Копипаста из чата биржи:
....
☏ kzv:На самом деле действительно, можно считать случившееся платой за аудит безопасности

А в чём дырка заключалась? может где ещё такая есть  ;D только что б обороты побольше были!

Дырка была в проверке валидности ордера.
Язык программирования Яваскрипт (как и почти все остальные скриптовые языки) запросто сравнивает строку и число в тех местах, где подразумевается сравнение чисел.

В итоге этот кусок кода внезапно всегда проходит без ошибок и всегда создается ордер
Code:
var fullAmount = 10000;
var balance = 'NaN';
if (balance*1 < fullAmount)
alert ('Insufficient funds');
else
alert ('Order created')


Если где-то в программе произошел глюк и в таблицу баланса вместо числа попала строка 'NaN', то счастливчик сможет пользоваться этим балансом как бесконечным количеством коинов.

Я думаю, что хакер на самом деле не хакер, а простой юзер который увидел у себя странный баланс и решил попробовать выставить ордер. Внезапно оказалось, что ордер выставляется и юзер от радости резко опустошил все стаканы и вывел крипту вместо того, чтобы подождать пока на бирже появятся нормальные объемы и получить в разы больший профит...


точно ;D мамкин хакер 8)
с другой стороны этот случай показателен что js не очень для движка биржи


Ого! Здесь уже open-source биржу успели "взломать"! >:( >:( >:(

Всё-таки, наверно, этот "хакер" правильно сделал, что вывел все криптовалюты из стакана. Вдруг бы баг нашли через день и исправили.

Насчёт JavaScript не соглашусь. Это нормальный язык программирования, в нём есть возможности для проверки типов и значений переменных.

Обычно в таких случаях, когда причина произошедшего хищения средств в недоработке кода, вина ложится на разработчика софта, но здесь биржа open-source, поэтому винить топикстартера нет никаких оснований.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Many Coins on April 03, 2018, 08:35:10 PM
Уважаемый kzv а можно ли на вашу демо-биржу залистить Merecoin? Вот это: https://bitcointalk.org/index.php?topic=3234769

А то народ ее намайнил а теперь не знает где поменять))

Алгоритм: Scrypt, обычный лайткойновский блокчейн, даже начинается на L ))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on April 04, 2018, 07:26:32 AM
можно токены отпечатки разместить на Вашей бирже)))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on April 04, 2018, 09:12:21 AM
Уважаемый kzv а можно ли на вашу демо-биржу залистить Merecoin? Вот это: https://bitcointalk.org/index.php?topic=3234769

А то народ ее намайнил а теперь не знает где поменять))

Алгоритм: Scrypt, обычный лайткойновский блокчейн, даже начинается на L ))

Вопросы добавления новых монет лучше обсуждать на другом форуме.
Вот тут правила добавления https://forum.marycoin.org/showthread.php?48-%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D0%B0-%D0%BD%D0%B0-OpenTrade


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: progof on April 05, 2018, 06:29:45 PM
kzv,  добавьте на биржу Stop Loss (очень полезная вещь)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on April 12, 2018, 08:22:26 PM
Почти закончил добавление АПИ https://trade.multicoins.org/API
Публичные все готовы, основные приватные тоже.

Осталось доделать только
/market/cancel (отмена ордера)
/market/getopenorders (список открытых ордеров)
/account/getorder (информация по ордеру)
/account/getorderhistory (история ордера)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: APO Finance on April 12, 2018, 09:00:36 PM
Идея конечно благородная.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on April 12, 2018, 10:11:15 PM
Почти закончил добавление АПИ https://trade.multicoins.org/API
Публичные все готовы, основные приватные тоже.

Осталось доделать только
/market/cancel (отмена ордера)
/market/getopenorders (список открытых ордеров)
/account/getorder (информация по ордеру)
/account/getorderhistory (история ордера)

Круто! А я вот на waves токенами балуюсь... осталось только API waves на практике освоить и к фиату привязать.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Earl_Vadim on April 13, 2018, 01:10:49 PM
Почти закончил добавление АПИ https://trade.multicoins.org/API
Публичные все готовы, основные приватные тоже.

Осталось доделать только
/market/cancel (отмена ордера)
/market/getopenorders (список открытых ордеров)
/account/getorder (информация по ордеру)
/account/getorderhistory (история ордера)

а стакан цен?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on April 13, 2018, 01:28:41 PM
Почти закончил добавление АПИ https://trade.multicoins.org/API
Публичные все готовы, основные приватные тоже.

Осталось доделать только
/market/cancel (отмена ордера)
/market/getopenorders (список открытых ордеров)
/account/getorder (информация по ордеру)
/account/getorderhistory (история ордера)

а стакан цен?

Стакан уже давно реализован.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Earl_Vadim on April 13, 2018, 07:53:24 PM
я имел ввиду графический...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on April 13, 2018, 07:58:53 PM
я имел ввиду графический...


Графический реализован еще раньше. Сходите по ссылке в моей подписи ))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Earl_Vadim on April 13, 2018, 08:03:58 PM
да я сходил, и даже поставил тестовую себе..
но стакана на вашей не увидел..


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on April 13, 2018, 08:10:04 PM
https://i.snag.gy/hAHKB6.jpg


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Earl_Vadim on April 13, 2018, 08:16:56 PM
Это здорово, но это не графический стакан

фиг знает как тут картинки прикреплять.. в общем, нет такого.. я понял.
вопрос конечно не принципиальный...  много еще допиливать конечно...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on April 13, 2018, 08:22:00 PM
Это здорово, но это не графический стакан

фиг знает как тут картинки прикреплять.. в общем, нет такого.. я понял.
вопрос конечно не принципиальный...  много еще допиливать конечно...

А, ну я про такой даже не думал...
Ни в MT ни в квике не помню чтобы что-то такое было... Ну или не пользовался просто?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Many Coins on April 13, 2018, 08:54:08 PM
Ни в MT ни в квике не помню чтобы что-то такое было... Ну или не пользовался просто?

Настоящие посоны торгуют в Ninja Trader и CQG  ;D

http://forexva.ru/wp-content/uploads/2014/04/stakan-cen.png

По сути это стандарт графического интерфейса для серьезных торговых платформ.

Хотя лично я не вижу никакого смысла тащить в криптобиржу все эти NYSEвские заморочки  8)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on April 18, 2018, 04:54:51 PM
Это здорово, но это не графический стакан

фиг знает как тут картинки прикреплять.. в общем, нет такого.. я понял.
вопрос конечно не принципиальный...  много еще допиливать конечно...
Наверно, Вы имеете в виду рисунок Chart Depth? То есть с одной стороны общий объём текущих ордеров на продажу криптовалюты по возрастающей цене, а с другой стороны - аналогично общий объём на покупку. По середине между этими фигурами обычно пусто, так как в диапазоне этих цен совершаются реальные торговые сделки.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: progof on May 25, 2018, 06:31:42 AM
Эта биржа поддерживает монеты на протоколе Cryptonote?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on May 25, 2018, 06:37:30 AM
Эта биржа поддерживает монеты на протоколе Cryptonote?

Нет не поддерживает. И эфир с его токенами не поддерживается.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on May 31, 2018, 05:05:28 PM
Боты идут по приборам)

У тебя чат на сокетах или на WebRTC? Не знаешь случаем сколько клиентов онлайн он сможет держать на среднем сервере?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on May 31, 2018, 06:34:54 PM
Боты идут по приборам)

У тебя чат на сокетах или на WebRTC? Не знаешь случаем сколько клиентов онлайн он сможет держать на среднем сервере?

чат на сокетах. бэкэнд на node.js
на хабре чувак 1кк соединений нодой обрабатывал на бесплатном амазановском серваке.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on June 01, 2018, 09:19:16 PM
Боты идут по приборам)

У тебя чат на сокетах или на WebRTC? Не знаешь случаем сколько клиентов онлайн он сможет держать на среднем сервере?

чат на сокетах. бэкэнд на node.js
на хабре чувак 1кк соединений нодой обрабатывал на бесплатном амазановском серваке.
А если бэкенд подкрутить, то сколько с того же сервера можно получить или в ноде всё заоптимизировано дальше некуда и надо менять стек?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on June 01, 2018, 09:24:35 PM
Боты идут по приборам)

У тебя чат на сокетах или на WebRTC? Не знаешь случаем сколько клиентов онлайн он сможет держать на среднем сервере?

чат на сокетах. бэкэнд на node.js
на хабре чувак 1кк соединений нодой обрабатывал на бесплатном амазановском серваке.
А если бэкенд подкрутить, то сколько с того же сервера можно получить или в ноде всё заоптимизировано дальше некуда и надо менять стек?

Не понял о чем ты?
Тебе мало ляма соединений? На самом деле при таком количестве соединений уже упираешься в ограничение операционки. Чтобы это обойти надо распределять нагрузку на несколько серваков просто.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on June 01, 2018, 09:59:42 PM
Категорически, при 10млн. пользователей количество в онлайне может перешагнуть за 1млн. и придётся костылить


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on June 02, 2018, 06:02:27 AM
лям юзеров онлайн __за сутки__ это штука баксов в день только с одного банера адсенс.
Уверяю тебя, когда ты упрешься в этот предел, у тебя найдутся деньги на кодера который напишет хороший лоад балансер ))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: develnk on June 03, 2018, 07:47:15 PM
Привет. Перспективный проект получился!
Хочу поинтересоватся: как вы генерируете кошельки в демоне для пользователей? Ну тоесть это просто getnewaddress в пределах одного и того же кошелька на сервере, или для каждого создаётся реальный кошель с шифрованием? Просто мне кажется что если всё происходит в пределах одного кошелька то доступ к нему даст доступ ко всем адресам всех юзеров, что по моему не очень безопасно. А с другой стороны чтобы для каждого реального юзера создавать новый кошелёк нужен запушенный демон, что в плане масштабируемости и использования ресурсов очень накладно. Так какой-же подход самый оптимальный, пока не ясно.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: progof on August 09, 2018, 06:05:27 PM
Мануал, как запустить биржу у себя

1. Клонируем исходники
git clone https://github.com/3s3s/opentrade.git

2. Переходим в тестовую ветку
git checkout test

3. Создаем пустую папку для базы данных
mkdir opentrade/server/database

4. Создаем приватные константы
>> opentrade/server/modules/private_constants.js

В файле opentrade/server/modules/private_constants.js надо прописать приватные константы

Code:
'use strict';

exports.recaptcha_priv_key = 'приватный ключ гугловской рекапчи';
exports.password_private_suffix = 'просто набор бессмысленных символов';
exports.SSL_KEY = 'путь/к/файлу/сssl-ключа/privkey.pem';
exports.SSL_CERT = 'путь/к/файлу/ssl/сертификата/fullchain.pem';


Как получить ключ рекапчи и ссл сертификаты можно прочитать в гугле.

Если лень создавать собственные ссл ключи, то вот дарю
файл privkey.pem
Code:
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQC0+cYKfu3ecWjIrFLfwGyUTEFWguGtSTSCrmH7YVwKs3ZB8OEJ
iafVDwvx65Ch/KREc+xyowkb+5YIUKwwGXl14CBHGJeSdtx85lHqfnevA+MzkWYF
KDozc6KanOudDcXXBOE8wh6OZrbRUSUV8Bzl2r3Y5IQET4FGh+rLEG9XRwIDAQAB
AoGAYcx40UM2mHcBATDeuDvscVekF3QzMMnWrqg+GvLKIp5I0emyMs1I/UJcWifK
yT8WJkffBzRDv/N9aJDv/C5IDBn/LQ37Leb7r1OVl15NgxMAl0XvDSTkpLZcWaL/
nqsCDacNXKaomo8A9Lek18i4adDQ4ywy3e6IBzuyKO48WcECQQDoBzMyAPbUsoTT
CZusZnzR/sMksMmvHzpAeLBolKbN+bt9B3yQHmejZ7Ijz0hhk9kofcCTNGIBazJq
gkRKnfA7AkEAx6xP40pdKilYXM2FF4o3zOZjijY416O4/X4cZykX0+MPYQbjCTHQ
5Ii/lbOaOVrT1+8bwB8o27ggO0t2wHWwZQJACZAKZxwtEBUPblcuCEvtBwaV6lQy
67nAv9l5g8XkngaV2JBPbO0j3lMuv1USqZrbT1Tnc+mrxF0zpboasGyT8wJAGFsC
W50khBIK/zbqdxaa+9lWZvN6N4N2+yS43jR6/ZOCurkWVHbJHjc391CzDS/xCzPV
VLf4SeTJubHYyF0SqQJBAMtuyzbq49MZHtMvOmiY/O73G6w2hrxu8GnO2GJxnXtj
KHsKUISxUHpE6035rjlbyxRR+DPFGqxM7BJrk2qkEqI=
-----END RSA PRIVATE KEY-----


Файл fullchain.pem

Code:
-----BEGIN CERTIFICATE-----
MIICATCCAWoCCQCIQvm1vUvbqjANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJB
VTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0
cyBQdHkgTHRkMB4XDTE3MTIwMzE4NDk1M1oXDTE4MTIwMzE4NDk1M1owRTELMAkG
A1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0
IFdpZGdpdHMgUHR5IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtPnG
Cn7t3nFoyKxS38BslExBVoLhrUk0gq5h+2FcCrN2QfDhCYmn1Q8L8euQofykRHPs
cqMJG/uWCFCsMBl5deAgRxiXknbcfOZR6n53rwPjM5FmBSg6M3OimpzrnQ3F1wTh
PMIejma20VElFfAc5dq92OSEBE+BRofqyxBvV0cCAwEAATANBgkqhkiG9w0BAQsF
AAOBgQBPeC//NfUwivU+hwKK8d5/0J9yxWRI848ghHDXtv0yMiACZHmCThyN/5y6
+WeC8tZjNUXfUK02piVOHAfVj8dn569lDgBR4eZ2z/OhAtu8xbLlecGKaKkzeTMx
zSZnnKQRUSzFwo8DObkVCc1JgT+OR3xkysQqFMnGCKkyvTPYwQ==
-----END CERTIFICATE-----

5. Устанавливаем зависимости

Зависимости по идее нужно прописать в специальном файле, но мне пока лень потому что их будет добавляться. Так что ручками
cd opentrade
npm install express
npm install sendmail
npm install sqlite3
npm install ejs

6. Запускаем
cd server
node main.js

7. Смотрим результат
https://127.0.0.1:40443

Решил запустить биржу у себя на компьютере, но столкнулся с ошибкой:
/home/progof/Documents/opentrade/node_modules/ws/lib/constants.js:8
  EMPTY_BUFFER: Buffer.alloc(0),
                       ^

TypeError: Buffer.alloc is not a function
    at Object.<anonymous> (/home/progof/Documents/opentrade/node_modules/ws/lib/constants.js:8:24)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/home/progof/Documents/opentrade/node_modules/ws/lib/permessage-deflate.js:7:19)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)


Делал все как по инструкции, подскажите как решить данную ошибку :)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on August 10, 2018, 07:45:46 PM
На гитхабе более актуальная инструкция. Прочитайте ридми там.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: #Cryptoman on August 16, 2018, 03:53:38 AM
Категорически, при 10млн. пользователей количество в онлайне может перешагнуть за 1млн. и придётся костылить

Не надо ничего костылить, можно замутить сервис хоть на триллион соединений,
просто надо раскидываеть пользователей на разные доменные имена.
www.my_site.com
ww1.my_site.com
...
zzz.my_site.com

Вам триллиона соединений(в совокупности) мало?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on August 16, 2018, 06:47:13 AM
Категорически, при 10млн. пользователей количество в онлайне может перешагнуть за 1млн. и придётся костылить

Не надо ничего костылить, можно замутить сервис хоть на триллион соединений,
просто надо раскидываеть пользователей на разные доменные имена.
www.my_site.com
ww1.my_site.com
...
zzz.my_site.com

Вам триллиона соединений(в совокупности) мало?

А в базу данных триллион соединений вы тоже умеете писать?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: 33region on September 07, 2018, 06:40:36 PM
Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти opensource биржу или создать собственную биржу, но постянно тема глохнет.
Причин много, главные:
1. Open Source биржи крайне сложно найти, а те которые есть крайне сложно настроить потому что их разрабы забросили проект.
2. Нет доверия к непонятно кем и непонятно когда написанным биржам.
3. Есть ощущение, что написать качественную биржу с нуля это крайне сложно почти невозможно...

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

Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

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

Итак с чего я думаю начать это выбор инструментов:
1. Основной язык разработки: Node.js
2. База данных sqlite
3. Интерфейс фронтэнда на базе bootstrap 4

Этапы разработки (наброски техзадания)
1. Модуль регистрации пользователей Сделано
2. Чат  Сделано
3. Мультивалютный биржевой кошелек. Сделано
4. Выставление и отмена ордеров Сделано
5. Исполнение перекрывающихся ордеров Сделано
6. АПИ биржи

Тут будет живая версия биржи https://trade.multicoins.org/
Тут исходники https://github.com/3s3s/opentrade

Вопросы добавления новых монет лучше обсуждать на другом форуме.
Вот тут правила добавления https://forum.marycoin.org/showthread.php?48-%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D0%B0-%D0%BD%D0%B0-OpenTrade


Топик модерируемый, флуд будет удаляться. Просьба писать только по делу.

,




ну и как получилось ???


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: digitalcoins on September 22, 2018, 05:47:20 AM
Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти opensource биржу или создать собственную биржу, но постянно тема глохнет.
Причин много, главные:
1. Open Source биржи крайне сложно найти, а те которые есть крайне сложно настроить потому что их разрабы забросили проект.
2. Нет доверия к непонятно кем и непонятно когда написанным биржам.
3. Есть ощущение, что написать качественную биржу с нуля это крайне сложно почти невозможно...

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

Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

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

Итак с чего я думаю начать это выбор инструментов:
1. Основной язык разработки: Node.js
2. База данных sqlite
3. Интерфейс фронтэнда на базе bootstrap 4

Этапы разработки (наброски техзадания)
1. Модуль регистрации пользователей Сделано
2. Чат  Сделано
3. Мультивалютный биржевой кошелек. Сделано
4. Выставление и отмена ордеров Сделано
5. Исполнение перекрывающихся ордеров Сделано
6. АПИ биржи

Тут будет живая версия биржи https://trade.multicoins.org/
Тут исходники https://github.com/3s3s/opentrade

Вопросы добавления новых монет лучше обсуждать на другом форуме.
Вот тут правила добавления https://forum.marycoin.org/showthread.php?48-%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D0%B0-%D0%BD%D0%B0-OpenTrade


Топик модерируемый, флуд будет удаляться. Просьба писать только по делу.


Очень интересная тема! Хотелось бы использовать ВАши наработки и по централизованной и по децентрализованной биржам.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: digitalcoins on September 22, 2018, 05:56:19 AM
Да уже были попытки сделать бмржу-дескопное приложение. Что-то не особо у них взлетело https://ru.wikipedia.org/wiki/OpenBazaar
У меня сделан обменник - клон локалбиткоинс. Это не полноценная конечно P2P биржа, но очень близко к тому... Ну и успех локала не идет ни в какое сравнение с опенбазаром, тут я думаю сомнений нет?


А можешь дать код клона localbitcoins? Было бы интересно попробовать поднять такой обменник.
Какая технология там?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: resttorg on September 22, 2018, 11:54:28 AM
Там бекенд сильно играет роль


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Kifir on September 25, 2018, 09:07:10 AM
Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти opensource биржу или создать собственную биржу, но постянно тема глохнет.
Причин много, главные:
1. Open Source биржи крайне сложно найти, а те которые есть крайне сложно настроить потому что их разрабы забросили проект.
2. Нет доверия к непонятно кем и непонятно когда написанным биржам.
3. Есть ощущение, что написать качественную биржу с нуля это крайне сложно почти невозможно...

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

Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

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

Итак с чего я думаю начать это выбор инструментов:
1. Основной язык разработки: Node.js
2. База данных sqlite
3. Интерфейс фронтэнда на базе bootstrap 4

Этапы разработки (наброски техзадания)
1. Модуль регистрации пользователей Сделано
2. Чат  Сделано
3. Мультивалютный биржевой кошелек. Сделано
4. Выставление и отмена ордеров Сделано
5. Исполнение перекрывающихся ордеров Сделано
6. АПИ биржи

Тут будет живая версия биржи https://trade.multicoins.org/
Тут исходники https://github.com/3s3s/opentrade

Вопросы добавления новых монет лучше обсуждать на другом форуме.
Вот тут правила добавления https://forum.marycoin.org/showthread.php?48-%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D0%B0-%D0%BD%D0%B0-OpenTrade


Топик модерируемый, флуд будет удаляться. Просьба писать только по делу.


Респект тебе огромный за проделанную работу!
было бы неплохо пометить лейблами ошибки на гитхабе, особенно лейблом "good first issue", чтобы новичкам можно было легко влиться в разработку проекта


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: expressphpcode on September 26, 2018, 10:51:21 AM
Просмотрел код https://github.com/3s3s/opentrade скажу что очень даже не плохой вариант биржи, по сравнению с теми что уже года 3-4 не обновлялись, то тут вижу активность на git чуть ли не каждые сутки.
У меня вопрос, тут пока что реализовано добавления как я понял altcoin`s, будет ли возможность добавлять смарт контракты?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on September 26, 2018, 01:24:08 PM
Просмотрел код https://github.com/3s3s/opentrade скажу что очень даже не плохой вариант биржи, по сравнению с теми что уже года 3-4 не обновлялись, то тут вижу активность на git чуть ли не каждые сутки.
У меня вопрос, тут пока что реализовано добавления как я понял altcoin`s, будет ли возможность добавлять смарт контракты?

Думаю у меня вряд ли до эфира руки дойдут. Но может кто-то из форкнувших решит сделать.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on September 27, 2018, 03:17:14 AM
Просмотрел код https://github.com/3s3s/opentrade скажу что очень даже не плохой вариант биржи, по сравнению с теми что уже года 3-4 не обновлялись, то тут вижу активность на git чуть ли не каждые сутки.

Да, действительно, это живой и развивающийся open-source проект. Уже 7 участников на Гитхабе. Симпатичный дизайн биржи. Судя по первому посту этой темы, осталось доделать только API.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: RuZzz on October 16, 2018, 07:29:31 PM
Не осилил все посты. Такой вопрос:
В каком виде лучше хранить количество конкретной криптовалюты в БД? У меня postgreSQL, в которой рекомендуется использовать numeric. Но мне интересно, какой тип для этого у вас SQLite?
Проблема в том, что у нас для разных криптовалют должно быть разное количество значимых цифр и разное количество цифр после запятой. То есть в одном столбце не получится хранить, например, Bitcoin у которого 8 знаков после запятой и Ethereum у которого больше 8ми знаков после запятой.
Лично я просто сделал пользовательский тип у которого есть числитель и знаменатель...

Моё мнение: хоть и не работаю с Node.js, но моё мнение биржа на ноде нужна(прежде всего как экспериментальный проект), поэтому я звезданул проект на github. Проблема только в том, что web в принципе ущербная технология, с которой мы вынужденны работать.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ligor on October 17, 2018, 07:01:57 AM
Думаю хранить надо как в обозревателях и блокчейнах, в виде целого числа, в сатохах.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: RuZzz on October 18, 2018, 12:25:59 AM
Думаю хранить надо как в обозревателях и блокчейнах, в виде целого числа, в сатохах.
Спасибо! Я добавил число, на которое нужно разделить, чтобы получить, например btc, в таблицу с идентификаторами криптовалют.
Но если нам нужно в БД записать, например 5 ETH, то получается нужно записать:
5000000000000000000
?
Что лучше хранить такие большие числа в БД или хранить только степени 10-ок? (ну и отдельно целую часть для коэффициента, как в numeric)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on October 24, 2018, 09:15:26 PM
Привет всем! Хочу поучаствовать в вашем проекте - уже форкнул на свой гитхаб и начал установку для теста на локалке, буду копать код...
Спасибо за ваш труд! :)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on October 27, 2018, 04:53:08 PM
Кто-нибудь интергировал биржу и WordPress - нужен общий логин - где копать???
 ???


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on October 27, 2018, 04:56:05 PM
Кто-нибудь интергировал биржу и WordPress - нужен общий логин - где копать???
 ???
Даже не пытайтесь.
Пхп и нода это радикально разные подходы к веб программированию. Чтобы склеить их вместе, нужны очень приличные скилы как в коддинге на обоих языках, так и в администрировании линукса.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on October 27, 2018, 06:06:08 PM
Даже не пытайтесь.
Пхп и нода это радикально разные подходы к веб программированию. Чтобы склеить их вместе, нужны очень приличные скилы как в коддинге на обоих языках, так и в администрировании линукса.
В общем понял.
Ну а теоретически - я могу вытащить пароль из вордпресса засунуть его в глобальную переменную и как-нибудь подсунуть его бирже ???

И последнее (пока) что можно почитать про программирование на ноде желательно на русском и с самых азов :)

вот нашел что-то http://nodebeginner.ru


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on October 27, 2018, 06:14:13 PM
Даже не пытайтесь.
Пхп и нода это радикально разные подходы к веб программированию. Чтобы склеить их вместе, нужны очень приличные скилы как в коддинге на обоих языках, так и в администрировании линукса.
В общем понял.
Ну а теоретически - я могу вытащить пароль из вордпресса засунуть его в глобальную переменную и как-нибудь подсунуть его бирже ???

И последнее (пока) что можно почитать про программирование на ноде желательно на русском и с самых азов :)


Вряд ли пароли ВП хранятся в открытом виде. Поэтому даже теоретически вытащить их от туда не получится.
Ноду я с хабра начинал изучать вроде. Сейчас уже не помню с какой статьи, но сейчас этих статей просто овер дофига. Вот например https://habr.com/company/ruvds/blog/422893/


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on October 27, 2018, 06:17:35 PM
Премного благодарен. Начинаю изучать... недели две меня не будет  ;D

Нашел скринкаст по теме

https://m.youtube.com/playlist?list=PLDyvV36pndZFWfEQpNixIHVvp191Hb3Gg


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on October 31, 2018, 01:48:36 PM
Не могу запустить - ни в локале не в сервере
Code:
~/opentrade/server# node main.js
/root/opentrade/server/modules/admin/utils.js:221
    async function FixOne(rows, index)
          ^^^^^^^^
SyntaxError: Unexpected token function
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:511:25)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:456:32)
    at tryModuleLoad (module.js:415:12)
    at Function.Module._load (module.js:407:3)
    at Module.require (module.js:466:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/root/opentrade/server/utils.js:12:21)
    at Module._compile (module.js:541:32)

где копать?

P.S. Не могу зарегистрироваться на forum.marycoin.org - на случайный вопрос Bitcoin forum https://bit*****alk.org/ вставляю Bitcoin forum https://bitcointalk.org/ - ответ неверен ???????

На cloud9 - тоже самое
Debugger listening on [::]:15454
/home/ec2-user/environment/opentrade/server/modules/admin/utils.js:221
    async function FixOne(rows, index)
          ^^^^^^^^

SyntaxError: Unexpected token function
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/ec2-user/environment/opentrade/server/utils.js:12:21)


Process exited with code: 1


что-то откопал
Quote
Асинхронные функции не поддерживаются версиями Node старше версии 7.6.
http://qaru.site/questions/166412/syntaxerror-unexpected-token-function-async-await-nodejs

https://github.com/parcel-bundler/parcel/issues/244


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on October 31, 2018, 04:46:31 PM
Я с некоторых пор перешел на node.js версии 8. На младших версиях корректная работа не гарантируется.
Проверить свою версию можете командой
node -v


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on October 31, 2018, 05:04:21 PM
Я с некоторых пор перешел на node.js версии 8. На младших версиях корректная работа не гарантируется.
Проверить свою версию можете командой
node -v
Спасибо!

Перешел на 8.12

Code:
nvm install 8.12

npm rebuild

уже в консоли без ошибок :) копаю дальше



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 07, 2018, 10:05:30 PM
Что может быть когда нажимаю в подтверждении вывода в письме

пишет вверху

Withdraw error (3): value is type bool, expected str

почта яндекс

И еще нет защиты от добавления монеты с пустым именем. надо предусмотреть.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 08, 2018, 01:25:11 PM
Что может быть когда нажимаю в подтверждении вывода в письме

пишет вверху

Withdraw error (3): value is type bool, expected str

почта яндекс

И еще нет защиты от добавления монеты с пустым именем. надо предусмотреть.

Лучше конкретные технические вопросы на гитхабе обсуждать. Там же может кстати и ответы уже есть. Сообщество довольно активное.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 18, 2018, 08:06:15 PM
Снова взломали - по крупному https://altmarkets.cc/announce

Quote
864878 doge

2.785 BTC

61924 x42

У них что старая версия движка стояла - или еще не все дыры закрыли?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 19, 2018, 04:41:05 AM
Снова взломали - по крупному https://altmarkets.cc/announce

Quote
864878 doge

2.785 BTC

61924 x42

У них что старая версия движка стояла - или еще не все дыры закрыли?

Скорее всего у них была старая версия движка. Либо одно из двух...
Я кстати решил прекратить выкладывать новые версии на гитхаб. Так что кто будет форкать - ищите программиста который будет допиливать под ваши хотелки.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: RedWojak on November 19, 2018, 02:22:45 PM
Не осилил все посты. Такой вопрос:
В каком виде лучше хранить количество конкретной криптовалюты в БД? У меня postgreSQL, в которой рекомендуется использовать numeric. Но мне интересно, какой тип для этого у вас SQLite?
Проблема в том, что у нас для разных криптовалют должно быть разное количество значимых цифр и разное количество цифр после запятой. То есть в одном столбце не получится хранить, например, Bitcoin у которого 8 знаков после запятой и Ethereum у которого больше 8ми знаков после запятой.
Лично я просто сделал пользовательский тип у которого есть числитель и знаменатель...

Моё мнение: хоть и не работаю с Node.js, но моё мнение биржа на ноде нужна(прежде всего как экспериментальный проект), поэтому я звезданул проект на github. Проблема только в том, что web в принципе ущербная технология, с которой мы вынужденны работать.

Хранить балансы юзеров надо по возможности целыми числами в единицах блокчейна (применительно к BTC - сатоши, ETH - веи).
Дробей и деления, по возможности надо избегать.
JS из коробки в плане математики совсем не лучший выбор, т.к. точность вычислений с плавающей точкой у него неудовлетворительная и придется ухищряться (а это делать придется так или иначе, когда дело дойдет до снятия комисионных) https://stackoverflow.com/questions/11695618/dealing-with-float-precision-in-javascript

Для отображения балансов юзерам разумно рядом с валютой хранить decimals - т.е. кол-во сатошей в биткойне или веев в эфире.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 19, 2018, 03:27:25 PM
Скорее всего у них была старая версия движка. Либо одно из двух...
Я кстати решил прекратить выкладывать новые версии на гитхаб. Так что кто будет форкать - ищите программиста который будет допиливать под ваши хотелки.
Очень жаль...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: RedWojak on November 20, 2018, 05:44:49 AM
Думаю хранить надо как в обозревателях и блокчейнах, в виде целого числа, в сатохах.
Спасибо! Я добавил число, на которое нужно разделить, чтобы получить, например btc, в таблицу с идентификаторами криптовалют.
Но если нам нужно в БД записать, например 5 ETH, то получается нужно записать:
5000000000000000000
?
Что лучше хранить такие большие числа в БД или хранить только степени 10-ок? (ну и отдельно целую часть для коэффициента, как в numeric)

"большие" числа не так уж и велики. Int64 должно хватить даже для этереума.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 20, 2018, 06:54:29 PM
Так уязвимость на гитхабе закрыта или нет?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 20, 2018, 07:01:25 PM
Так уязвимость на гитхабе закрыта или нет?

Уязвимость пока никто не показал.
Есть только голые слова диванных экспертов про sql иньекции.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 20, 2018, 07:13:27 PM
В дискорд каналах двух бирж (https://flame.exchange/ и https://greencoin.online/) авторы в панике хотят переходить на другие варианты - Peatio и Txbits - насколько я понимаю там требования к серверам на порядок выше а также и к компетенциям.

Мне думается этот проект рано хоронить - наоборот испытания признак интереса и в них оттачивается мастерство!

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

Кто-нибудь сможет это реализовать?

https://yandex.ru/search/?text=%D0%BF%D1%80%D0%B8%20%D0%B7%D0%B0%D1%85%D0%BE%D0%B4%D0%B5%20%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20%D1%83%D0%BD%D0%B8%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%85%D0%B5%D1%88&clid=1955455&win=292&lr=35



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 20, 2018, 07:42:53 PM
В дискорд каналах двух бирж (https://flame.exchange/ и https://greencoin.online/) авторы в панике хотят переходить на другие варианты - Peatio и Txbits - насколько я понимаю там требования к серверам на порядок выше а также и к компетенциям.

Мне думается этот проект рано хоронить - наоборот испытания признак интереса и в них оттачивается мастерство!

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

Кто-нибудь сможет это реализовать?



Я на 99.99% уверен, что никакой иньекции у них не было.
Но чтобы защититься от возможных иньекций, надо разделить таблицы баланса и истории по разным базам данных. Тогда иньекция в баланс ничего не сможет сделать с историей и наоборот. А эти две таблицы являются основными для проверки реального баланса пользователя перед попыткой вывода.
Я это сделаю когда руки дойдут и выложу этот патч на гитхаб.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 22, 2018, 07:30:22 AM
Мне думается сверять реальный баланс нужно не только перед выводом но и перед постановкой ордера тогда не будет возможности делать фейковые ордера на огромные суммы.  
Ещё простейшая защита - запрет выводить больше например 0.1 битка в день. И т.п. ограничения - вывод крупных сумм с подтверждения администрации это решит все проблемы.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 22, 2018, 07:32:58 AM
Мне думается сверять реальный баланс нужно не только перед выводом но и перед постановкой ордера тогда не будет возможности делать фейковые ордера на огромные суммы. 
Ещё простейшая защита - запрет выводить больше например 0.1 битка в день. И т.п. ограничения

Перед постановкой ордера тоже сверяется. И сразу после ордера тоже, на всякий случай )


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 22, 2018, 07:37:49 AM
Тогда мне не понятно как вообще возможен фейковые ордера на ложный баланс... Но в любом случае запрет на вывод крупных сумм или всего баланса это самое простое решение или запрос на вывод крупняка только после подтверждения администрацией это самое очевидное решение


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 22, 2018, 07:41:37 AM
Тогда мне не понятно как вообще возможен фейковые ордера на ложный баланс... Но в любом случае запрет на вывод крупных сумм или всего баланса это самое простое решение или запрос на вывод крупняка только после подтверждения администрацией это самое очевидное решение
Невозможны фейковые ордера и невозможно вывести фейковую сумму.
Альтмаркетс как-то через фронтэнд взломали скорее всего.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 22, 2018, 05:01:31 PM
Сейчас тестировал биржу и переключал главные торговые пары - и в балансе вышло что balance (b) был намного больше чем Deposit (D), причем CHECK не лечил эту проблему, удалил базу sqlite.db, заново зарегистрировался, тогда чек сработал, но, странно история осталась и пользователи которые были раньше в разделе check balance с ненулевыми депозитами и историей остались? Хотя зарегистрирован 1 пользователь Online: 1  (Registered: 1) - где можно эти данные удалить?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 22, 2018, 05:07:09 PM
Сейчас тестировал биржу и переключал главные торговые пары - и в балансе вышло что balance (b) был намного больше чем Deposit (D), причем CHECK не лечил эту проблему, удалил базу sqlite.db, заново зарегистрировался, тогда чек сработал, но, странно история осталась и пользователи которые были раньше в разделе check balance с ненулевыми депозитами и историей остались - где можно эти данные удалить?

Историю депозитов можно удалить только удалив wallet.dat. Но если в валлете есть коины то есть нюансы.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 22, 2018, 05:15:41 PM
Историю депозитов можно удалить только удалив wallet.dat. Но если в валлете есть коины то есть нюансы.

Интересное решение, очень удобно при переносе на другой сервер.

Ну а как решать возможность с тем что что balance (b) был намного больше чем Deposit (D) - может вообще это запретить в коде и останавливать биржу или уравнивать балансы...? где это можно сделать? в каком файле?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 22, 2018, 05:18:49 PM
Историю депозитов можно удалить только удалив wallet.dat. Но если в валлете есть коины то есть нюансы.

Интересное решение, очень удобно при переносе на другой сервер.

Ну а как решать возможность с тем что что balance (b) был намного больше чем Deposit (D) - может вообще это запретить в коде и останавливать биржу?

Депозит это сколько завели на биржу через блокчейн.
Баланс = депозит + сколько еще купили на бирже.
Баланс вполне законно может быть больше депозита.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Destrodream on November 22, 2018, 08:11:09 PM
Мне думается сверять реальный баланс нужно не только перед выводом но и перед постановкой ордера тогда не будет возможности делать фейковые ордера на огромные суммы.  
Ещё простейшая защита - запрет выводить больше например 0.1 битка в день. И т.п. ограничения

Перед постановкой ордера тоже сверяется. И сразу после ордера тоже, на всякий случай )

Баланс, как я понимаю у вас хранится в БД. То есть, при постановке ордера вы достаете число, списываете с него сумму и кладете ордер в "стакан" или на исполнение со ссылкой на юзера которому ордер принадлежит, чтобы ему вернуть деньги или то что он купил? Могу ли я быстрыми запросами наполнить стакан ордерами на сумму большую, чем у меня есть на балансе? Понятие "заморозки" средств на балансе есть?

Что случится, если я одновременно (очень быстро) отправлю запрос на вывод и запрос на создание ордера? (если вы проверяете баланс до и после постановки ордера в стакан, такой финт должен неминуемо привести к одной-двум ошибкам).

Запросы в базу обрабатываются синхронно или асинхронно?
Если запросы обрабатываются синхронно, то что будет с базой если запросы генерят 200 пользователей (например ботов - ктото спрашивает свой баланс в цикле, кто-то ставит и отменяет мелкие ордера, а кто-то злой пытается вывести и ставить ордера одновременно)? Однопоточный sqlite Должен лежать не вставая.

Если запросы обрабатываются асинхронно, то что обеспечивает синхронизацию? Сериализуются ли запросы?


Quote
Депозит это сколько завели на биржу через блокчейн.
Баланс = депозит + сколько еще купили на бирже.
Баланс вполне законно может быть больше депозита.

Логика подсказывает что баланс может запросто быть произвольно больше, меньше или равен депозиту. Депозит, например, может быть равен нулю, но баланс сколь угодно велик (я купил койн на бирже, и не заводил). И наоборот - я депозитил и все слил. Т.е. по факту депозит связан с балансом через историю транзакций и никак иначе.




Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: progof on November 23, 2018, 12:32:53 PM
При запуске биржи ошибка связна с почтой, по логам видно что сообщение отправилось но на почту он не пришло и в спаме его тоже нету. Также пробывал два варианта enabled и disabled в /opentrade/server/constants.js "emailVerificationEnabled".

1. Движок запускаю на VPS
2. Почту использую gmail
3. Домен добавил в Postmaster Tools

Когда ввожу в браузере *ip-vps*:40443 ошибка ERR_CONNECTION_REFUSED

Code:
OpenTrade started!
send gmail.com>
send gmail.com>.
recv gmail.com>550-5.7.1 [*ip*       1] Our system has detected an unusual rate of
recv gmail.com>550-5.7.1 unsolicited mail originating from your IP address. To protect our
recv gmail.com>550-5.7.1 users from spam, mail sent from your IP address has been blocked.
recv gmail.com>550-5.7.1 Please visit
recv gmail.com>550-5.7.1  https://support.google.com/mail/?p=UnsolicitedIPError to review our
recv gmail.com>550 5.7.1 Bulk Email Senders Guidelines. 78si7652899uae.99 - gsmtp
SMTP responds error code 550
Error with your mail server: SMTP code:550 msg:550-5.7.1 [*ip*       1] Our system has detected an unusual rate of
550-5.7.1 unsolicited mail originating from your IP address. To protect our
550-5.7.1 users from spam, mail sent from your IP address has been blocked.
550-5.7.1 Please visit
550-5.7.1  https://support.google.com/mail/?p=UnsolicitedIPError to review our
550 5.7.1 Bulk Email Senders Guidelines. 78si7652899uae.99 - gsmtp

Возможно кто-то ранее сталкивался с этой проблемой и может подсказать где я допустил ошибку или что-то не дописал в коде


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on November 23, 2018, 12:57:24 PM
А как дела с api? Работает?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 25, 2018, 11:56:29 AM

Баланс, как я понимаю у вас хранится в БД. То есть, при постановке ордера вы достаете число, списываете с него сумму и кладете ордер в "стакан" или на исполнение со ссылкой на юзера которому ордер принадлежит, чтобы ему вернуть деньги или то что он купил? Могу ли я быстрыми запросами наполнить стакан ордерами на сумму большую, чем у меня есть на балансе? Понятие "заморозки" средств на балансе есть?


У меня сейчас эта проблема решается блокировками. Новый ордер выставить (и отменить) нельзя пока не закончится добавление предыдущего ордера.

Что случится, если я одновременно (очень быстро) отправлю запрос на вывод и запрос на создание ордера? (если вы проверяете баланс до и после постановки ордера в стакан, такой финт должен неминуемо привести к одной-двум ошибкам).

Когда пользователь делает вывод, он тоже блокируется для ордеров. Когда вывод подтвердится и база обновится, блок убирается.

Запросы в базу обрабатываются синхронно или асинхронно?

Если запросы обрабатываются асинхронно, то что обеспечивает синхронизацию? Сериализуются ли запросы?

Яваскрипт умеет только асинхронно. Синхронизация обеспечивается блокировками.


Quote from: progof
ри запуске биржи ошибка связна с почтой

Судя по логам, ип адрес вашего провайдера забанен гуглом. Либо поменяйте провайдера, либо одно из двух...


Quote from: reddish111
А как дела с api? Работает?

С утра работало.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Destrodream on November 25, 2018, 08:15:59 PM

Яваскрипт умеет только асинхронно. Синхронизация обеспечивается блокировками.


Т.е. как я понял фактически у юзера есть два балланса - доступный и заблокированный? Это вполне логичное и разумное решение.

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

Убавить доступный баланс, прибавить заблокированный баланс. (создание ордера) - это две разные операции, вклиниться в которые запрос другого юзера не имеет права (иначе исполнится только половина запроса)

или

Убавить заблокированный баланс, прибавить доступный для одного юзера и сделать то же самого для другого. (исполнение ордера) - это уже 4 операции, опять таки - попадание асинхронного запроса другого юзера между ними приведет к непоправимой потере информации в середине цепочки.

Как эти проблемы решаются?



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 26, 2018, 04:05:21 AM

Убавить доступный баланс, прибавить заблокированный баланс. (создание ордера) - это две разные операции, вклиниться в которые запрос другого юзера не имеет права (иначе исполнится только половина запроса)

Вот как создается ордер:
1. Проверка: залочен ли пользователь для вывода?
2. Если не залочен - блок пользователя для создания/удаления ордеров
3. Сверить баланс пользователя с историей торговли и историей ввода/вывода
4. Если все нормально, обновить таблицу балансов
5. Если баланс обновился нормально, обновить таблицу ордеров.
6. Снять блок с пользователы для постановки/отмены ордеров
7. Еще раз сверить баланс пользователя с историей торговли и историей ввода/вывода

https://github.com/3s3s/opentrade/blob/master/server/modules/users/orders.js#L305


Убавить заблокированный баланс, прибавить доступный для одного юзера и сделать то же самого для другого. (исполнение ордера) - это уже 4 операции, опять таки - попадание асинхронного запроса другого юзера между ними приведет к непоправимой потере информации в середине цепочки.

Как эти проблемы решаются?


Вот как проходит исполнение ордера
1. Выбрать два пересекающихся ордера из стаканов
2. Заблокировать эти два ордера от изменений из других мест.
3. Проверить: заблокированы ли авторы ордеров для постановки/отмены ордеров.
4. Если не заблокированы, то заблокировать. Если хоть один заблокирован, то выйти из процедуры.
5. Обновить таблицу ордеров
6. Если таблица ордеров обновилась успешно, то разблокировать пользователей для постановки/отмены ордеров
7. Разблокировать ордера (если от них что-то осталось) для изменений
8. Обновить балансы пользователей и обновить таблицу истории.

В версии которая на гитхабе порядок немного другой
https://github.com/3s3s/opentrade/blob/master/server/modules/users/orders.js#L441

Там пункт 8 стоит перед пунктами 6 и 7:
1. Выбрать два пересекающихся ордера из стаканов
2. Заблокировать эти два ордера от изменений из других мест.
3. Проверить: заблокированы ли авторы ордеров для постановки/отмены ордеров.
4. Если не заблокированы, то заблокировать. Если хоть один заблокирован, то выйти из процедуры.
5. Обновить таблицу ордеров
6. Обновить балансы пользователей и обновить таблицу истории.
7. Если таблица ордеров обновилась успешно, то разблокировать пользователей для постановки/отмены ордеров
8. Разблокировать ордера (если от них что-то осталось) для изменений

Так конечно более логично, но намного медленней в работе. Я так посчитал, что не обязательно ждать обновления балансов пользователей и истории. Если обновления пройдут с ошибками, то ошибка будет в пользу биржи, а не в пользу юзеров. Если юзеры не заметят ошибку - значит она для них не критична. Если заметят - значит создадут тикет и я вручную все проверю )






Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 26, 2018, 11:41:52 AM
Можно как-то синхронизировать  версию на гитхаб с вашей доработанной - для безопасности.  8)

И если не сложно подсказать - в каких файлах нужно поправить код чтоб основной парой стоял биткойн и разрешались ордера вплоть до 8 знака после запятой 0.00000001 ?

Также странно - биткоина нет, пока главная монета другая, а в кошельке в столбце: Currency - в ссылках все пары к биткоину ???

Последнее - в chart.html откуда берутся данные для текущего курса
Code:
<ol id='id_MC_info' class="breadcrumb"></ol>
??? в каком файле это править?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Destrodream on November 26, 2018, 06:34:15 PM
kzv - спасибо за обстоятельный ответ. Я, очевидно, не правильно понял изначально что имелось ввиду под заблокированным. Заблокированный юзер/баланс это, выходит, флаг в базе?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 27, 2018, 04:02:19 AM
Можно как-то синхронизировать  версию на гитхаб с вашей доработанной - для безопасности.  8)

И если не сложно подсказать - в каких файлах нужно поправить код чтоб основной парой стоял биткойн и разрешались ордера вплоть до 8 знака после запятой 0.00000001 ?

Также странно - биткоина нет, пока главная монета другая, а в кошельке в столбце: Currency - в ссылках все пары к биткоину ???

Последнее - в chart.html откуда берутся данные для текущего курса
Code:
<ol id='id_MC_info' class="breadcrumb"></ol>
??? в каком файле это править?

Пока никаких особых обновлений безопасности нет. Как что-то интересное найду - сделаю коммит на гитхаб.

По остальным вопросам - поищите на гитхабе, там почти на все это есть ответы.

Quote from: diakas
kzv - спасибо за обстоятельный ответ. Я, очевидно, не правильно понял изначально что имелось ввиду под заблокированным. Заблокированный юзер/баланс это, выходит, флаг в базе?

Нет, хранить состояние блокировок в базе это как-то сильно расточительно. Эти флаги хранятся как глобальные переменные в программе.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 27, 2018, 07:31:07 AM
Вот на вашем обменнике в кошельке в столбце "Currency" при кликании слева по монете https://trade.multicoins.org/market/BTC-MC торговля идет в mBTC - Как это настраивается? причем с этого форума вообще бред выходит - ссылка перенаправляется на https://trade.multicoins.org/market/MC-MC

А если кликать на LTC и DASH хоть ссылки https://trade.multicoins.org/market/BTC-LTC и https://trade.multicoins.org/market/BTC-DASH перекидывает на пару с MC ? это глюк или нет и где это настраивается? в каком файле?

Может выложить уже актуальную версию чтобы меньше вопросов возникало?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on November 27, 2018, 07:42:12 AM
Вот на вашем обменнике в кошельке в столбце "Currency" при кликании слева по монете https://trade.multicoins.org/market/BTC-MC торговля идет в mBTC - Как это настраивается? причем с этого форума вообще бред выходит - ссылка перенаправляется на https://trade.multicoins.org/market/MC-MC

А если кликать на LTC и DASH хоть ссылки https://trade.multicoins.org/market/BTC-LTC и https://trade.multicoins.org/market/BTC-DASH перекидывает на пару с MC ? это глюк или нет и где это настраивается? в каком файле?

Может выложить уже актуальную версию чтобы меньше вопросов возникало?

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: zahardeina123 on November 27, 2018, 07:46:32 AM
Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти opensource биржу или создать собственную биржу, но постянно тема глохнет.
Причин много, главные:
1. Open Source биржи крайне сложно найти, а те которые есть крайне сложно настроить потому что их разрабы забросили проект.
2. Нет доверия к непонятно кем и непонятно когда написанным биржам.
3. Есть ощущение, что написать качественную биржу с нуля это крайне сложно почти невозможно...

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

Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

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

Итак с чего я думаю начать это выбор инструментов:
1. Основной язык разработки: Node.js
2. База данных sqlite
3. Интерфейс фронтэнда на базе bootstrap 4

Этапы разработки (наброски техзадания)
1. Модуль регистрации пользователей Сделано
2. Чат  Сделано
3. Мультивалютный биржевой кошелек. Сделано
4. Выставление и отмена ордеров Сделано
5. Исполнение перекрывающихся ордеров Сделано
6. АПИ биржи

Тут будет живая версия биржи https://trade.multicoins.org/
Тут исходники https://github.com/3s3s/opentrade

Вопросы добавления новых монет лучше обсуждать на другом форуме.
Вот тут правила добавления https://forum.marycoin.org/showthread.php?48-%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D0%B0-%D0%BD%D0%B0-OpenTrade


Топик модерируемый, флуд будет удаляться. Просьба писать только по делу.

Доброе утро,нужно что бы кто то помог установить данную биржу на наш сервере, и допилил API  что бы можно было выйти на coinmarketcap , оплата в BTC либо фиат . Все кто в состоянии ето сделать пишите https://t.me/zaharDeina . так же нужна будет постоянная техническая  потдержка .


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on November 27, 2018, 10:53:54 AM
Quote
Используемый во многих веб-приложениях модуль Node.js под названием event-stream был скомпрометирован, сообщает CCN.
...
Согласно жалобе на GitHub, разработчик right9ctrl внедрил в соответствующую библиотеку вредоносный код. Последний способен извлекать приватные ключи из приложений, где задействованы модули event-stream и copay-dash.
https://forklog.com/bitkoin-koshelek-copay-nahoditsya-v-zone-riska-iz-za-uyazvimosti-node-js/
обратите внимание!


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on November 30, 2018, 01:29:30 PM
живая версия на гитхаб больше выкладываться не будет.
Слишком много было потребителей, которые форкают, пользуются апдейтами, но даже не удосуживаются Мэрикоин себе залистить. Мне и инвесторам это надоело.

Жаль, что этот проект больше не будет развиваться как open-source биржа. В любом случае, была проделана отличная работа. Действительно, зачем потребители убирали койн разработчика софта, это была своего рода реклама этой монеты.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on December 03, 2018, 08:27:33 PM
Предлагаю добавить ограничение по выводу на монеты не в процентном, а в количественном виде, например - биток не более 0.1 за один вывод и сделать скрипт скидывающий с горячего кошелька биржи суммы превышающие это значение на холодный - тогда убытки от взлома будут минимизированы.

Кстати какие идеи где править ограничения на вывод, кто подскажет?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Nikita K on December 26, 2018, 06:51:31 PM
Скорость работы невыносимая


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 27, 2018, 03:51:25 AM
Скорость работы невыносимая

Вчера были технические работы. Перешел на архитектуру с отдельным сервером базы данных. Сейчас скорость даже получше стала чем когда все в одном процессе работало. Ну и теперь открылись возможности для масштабирования.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on December 27, 2018, 05:12:52 AM
Скорость работы невыносимая

Вчера были технические работы. Перешел на архитектуру с отдельным сервером базы данных. Сейчас скорость даже получше стала чем когда все в одном процессе работало. Ну и теперь открылись возможности для масштабирования.

какая БД?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 27, 2018, 05:43:59 AM
Скорость работы невыносимая

Вчера были технические работы. Перешел на архитектуру с отдельным сервером базы данных. Сейчас скорость даже получше стала чем когда все в одном процессе работало. Ну и теперь открылись возможности для масштабирования.

какая БД?

База как была SQlite так и осталась. Но теперь она крутится в отдельном от биржи процессе и теперь к ней можно из разных процессов обращаться.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 27, 2018, 09:50:10 PM
Скорость работы невыносимая

Вчера были технические работы. Перешел на архитектуру с отдельным сервером базы данных. Сейчас скорость даже получше стала чем когда все в одном процессе работало. Ну и теперь открылись возможности для масштабирования.

какая БД?

База как была SQlite так и осталась. Но теперь она крутится в отдельном от биржи процессе и теперь к ней можно из разных процессов обращаться.

Чем не устраивает какой-нибудь PostgreSQL?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 28, 2018, 03:30:47 AM
Чем не устраивает какой-нибудь PostgreSQL?

В том то и дело, что "какой-нибудь"...

Я для себя сформулировал сначала: что мне нужно от базы данных:
1. Чтобы умела SQL запросы
2. Хммм... Все собственно.

Если не собираешься писать логику работы на голом SQL (таких умельцев хватает), а используешь более или менее нормальный высокоуровневый язык, то для бухгалтерской книги подойдет вообще любая база данных.

Выбор SQLite для меня был естественным: с этой базой у меня есть выбор - использовать ее как встроенную в процесс или вынести в отдельный сервер. С большинством остальных баз такого выбора нет - отдельный процесс-сервер без вариантов.
Чем лучше встроенная база? Тем, что ее скорость всегда будет в сотни раз выше любой базы на отдельном сервере. Ибо общение между процессами всегда проходит сильно медленней, чем общение процесса внутри себя.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 28, 2018, 10:36:57 AM
Чем не устраивает какой-нибудь PostgreSQL?

В том то и дело, что "какой-нибудь"...

Я для себя сформулировал сначала: что мне нужно от базы данных:
1. Чтобы умела SQL запросы
2. Хммм... Все собственно.

Если не собираешься писать логику работы на голом SQL (таких умельцев хватает), а используешь более или менее нормальный высокоуровневый язык, то для бухгалтерской книги подойдет вообще любая база данных.

Выбор SQLite для меня был естественным: с этой базой у меня есть выбор - использовать ее как встроенную в процесс или вынести в отдельный сервер. С большинством остальных баз такого выбора нет - отдельный процесс-сервер без вариантов.
Чем лучше встроенная база? Тем, что ее скорость всегда будет в сотни раз выше любой базы на отдельном сервере. Ибо общение между процессами всегда проходит сильно медленней, чем общение процесса внутри себя.

Либо я чего-то не понял, либо ты себе противоречишь, когда пишешь что перевёл базу данных в отдельный процесс и скорость стала получше. Если у биржи мало клиентов, то конечно с нагрузкой справится любая БД. Не знаю специфику запросов твоей биржи, но SQLite точно сливает enterprise решениям при высокой нагрузке и даже при низкой, когда ей сопутствует большое количество writes.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on December 28, 2018, 10:56:06 AM
Чем не устраивает какой-нибудь PostgreSQL?

В том то и дело, что "какой-нибудь"...

Я для себя сформулировал сначала: что мне нужно от базы данных:
1. Чтобы умела SQL запросы
2. Хммм... Все собственно.

Если не собираешься писать логику работы на голом SQL (таких умельцев хватает), а используешь более или менее нормальный высокоуровневый язык, то для бухгалтерской книги подойдет вообще любая база данных.

Выбор SQLite для меня был естественным: с этой базой у меня есть выбор - использовать ее как встроенную в процесс или вынести в отдельный сервер. С большинством остальных баз такого выбора нет - отдельный процесс-сервер без вариантов.
Чем лучше встроенная база? Тем, что ее скорость всегда будет в сотни раз выше любой базы на отдельном сервере. Ибо общение между процессами всегда проходит сильно медленней, чем общение процесса внутри себя.
да. лучше всего проводить операции обмена сразу в регистрах процессора) или хотя бы в озу))))

Либо я чего-то не понял, либо ты себе противоречишь, когда пишешь что перевёл базу данных в отдельный процесс и скорость стала получше. Если у биржи мало клиентов, то конечно с нагрузкой справится любая БД. Не знаю специфику запросов твоей биржи, но SQLite точно сливает enterprise решениям при высокой нагрузке и даже при низкой, когда ей сопутствует большое количество writes.

да. лучше всего проводить операции обмена сразу в регистрах процессора) или хотя бы в озу))))
но для надежности лучше писать каждый обмен в ячейку SSD TLC/MLC NAND)))
У автора не стоит пока цели оптимизации скорости работы. ПОка все упирается в дизайн и безопасность фреймворков


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 28, 2018, 11:45:29 AM
Чем не устраивает какой-нибудь PostgreSQL?

В том то и дело, что "какой-нибудь"...

Я для себя сформулировал сначала: что мне нужно от базы данных:
1. Чтобы умела SQL запросы
2. Хммм... Все собственно.

Если не собираешься писать логику работы на голом SQL (таких умельцев хватает), а используешь более или менее нормальный высокоуровневый язык, то для бухгалтерской книги подойдет вообще любая база данных.

Выбор SQLite для меня был естественным: с этой базой у меня есть выбор - использовать ее как встроенную в процесс или вынести в отдельный сервер. С большинством остальных баз такого выбора нет - отдельный процесс-сервер без вариантов.
Чем лучше встроенная база? Тем, что ее скорость всегда будет в сотни раз выше любой базы на отдельном сервере. Ибо общение между процессами всегда проходит сильно медленней, чем общение процесса внутри себя.

Либо я чего-то не понял, либо ты себе противоречишь, когда пишешь что перевёл базу данных в отдельный процесс и скорость стала получше. Если у биржи мало клиентов, то конечно с нагрузкой справится любая БД. Не знаю специфику запросов твоей биржи, но SQLite точно сливает enterprise решениям при высокой нагрузке и даже при низкой, когда ей сопутствует большое количество writes.

для надежности лучше писать каждый обмен в ячейку SSD TLC/MLC NAND)))
У автора не стоит пока цели оптимизации скорости работы. ПОка все упирается в дизайн и безопасность фреймворков

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on December 28, 2018, 12:32:43 PM
fxpc, Саша, ну ты зачем kzv ругаешь так жеско))) он вон сколько кода написал... чуть дизайн проработать, обьемы подбить и заработает биржа как надо)))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 28, 2018, 05:50:35 PM
У тебя какая-то странная реакция. С чего ты это взял что я его ругаю? Всего лишь высказал своё мнение про выбранный инструмент. Код с дизайном здесь вовсе ни при чём.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 28, 2018, 06:09:52 PM
Либо я чего-то не понял, либо ты себе противоречишь, когда пишешь что перевёл базу данных в отдельный процесс и скорость стала получше. Если у биржи мало клиентов, то конечно с нагрузкой справится любая БД. Не знаю специфику запросов твоей биржи, но SQLite точно сливает enterprise решениям при высокой нагрузке и даже при низкой, когда ей сопутствует большое количество writes.

Я не противоречу. Увеличение скорости это мое субъективное мнение. Технических замеров до и после я не проводил. Однако техническая логика подсказывает: чтение/запись в сокетах обязано быть существенно медленней, чем чтение/запись в оперативке.

Мифы про якобы тормознутость SQLite распространяют те, кто ей не пользуется. Операции записи там тормозят только если их не оборачивать в транзакцию. Если все делать правильно, то SQLite если не уделает, то уж точно не отстанет от любых постгре и прочих мускулей.



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 28, 2018, 06:55:12 PM
Либо я чего-то не понял, либо ты себе противоречишь, когда пишешь что перевёл базу данных в отдельный процесс и скорость стала получше. Если у биржи мало клиентов, то конечно с нагрузкой справится любая БД. Не знаю специфику запросов твоей биржи, но SQLite точно сливает enterprise решениям при высокой нагрузке и даже при низкой, когда ей сопутствует большое количество writes.

Я не противоречу. Увеличение скорости это мое субъективное мнение. Технических замеров до и после я не проводил. Однако техническая логика подсказывает: чтение/запись в сокетах обязано быть существенно медленней, чем чтение/запись в оперативке.

Мифы про якобы тормознутость SQLite распространяют те, кто ей не пользуется. Операции записи там тормозят только если их не оборачивать в транзакцию. Если все делать правильно, то SQLite если не уделает, то уж точно не отстанет от любых постгре и прочих мускулей.

В этом моменте техническая логика встречается с объективной реальностью и нюансами. Я более чем уверен, что в серверном приложении выделение БД в отдельный процесс повышает производительность, поэтому ты неспроста это на глаз определил.

Я не говорил про тормознутость, речь шла о том что под нагрузкой по сети он сдохнет раньше чем enterprise. У каждого инструмента своя ниша. SQLite хорош для локального применения и его используют преимущественно для данного кейса. Совпадение? Не думаю. Хочешь сам ходить по граблям, чтобы в итоге прийти к enterprise решениям - дело хозяйское, моё дело предложить.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 28, 2018, 07:01:20 PM
Я не говорил про тормознутость, речь шла о том что под нагрузкой по сети он сдохнет раньше чем enterprise.

SQlite вообще сама по себе не умеет с сетью работать по определению. Ну нет там в коде сокетов от слова вообще.
Чтобы заставить ее работать как отдельный сервер, я написал прокладку на node.js В том, что нода сдохнет под нагрузкой я лично сильно сомневаюсь - нгинкс сдохнет раньше, про апач вообще молчу.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 28, 2018, 07:32:00 PM
Я не говорил про тормознутость, речь шла о том что под нагрузкой по сети он сдохнет раньше чем enterprise.

SQlite вообще сама по себе не умеет с сетью работать по определению. Ну нет там в коде сокетов от слова вообще.
Чтобы заставить ее работать как отдельный сервер, я написал прокладку на node.js В том, что нода сдохнет под нагрузкой я лично сильно сомневаюсь - нгинкс сдохнет раньше, про апач вообще молчу.

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 28, 2018, 07:54:37 PM
Правильно не умеет, потому что она для этого не предназначена, именно это и является её ахилесовой пятой. Она не благодаря нагрузке превышающей возможности nginx сдохнет, а благодаря своей архитектуре, скорее всего заблокируется и напрочь отстанет от запросов, но это не точно.

Она предназначена быть встроенной в процесс. Внутри процесса она в своей стихии и потому уделает кого угодно - доказано 100500 продуктами которые ее используют в качестве встроенной бд.

Теперь как она работает у меня?
Внезапно, она работает как встроенная в процесс сервера бд. То есть sqlite у меня работает именно так, как она и должна работать по своей архитектуре. Сервер же написан на ноде, а значит не сдохнет ни при какой нагрузке 146%.
Так что если где и может возникнуть затык по скорости, дак это только в вызывающем клиенте (биржа, нгинкс и прочие апачи), а в сервере sqlite я уверен.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on December 28, 2018, 08:01:48 PM
Правильно не умеет, потому что она для этого не предназначена, именно это и является её ахилесовой пятой. Она не благодаря нагрузке превышающей возможности nginx сдохнет, а благодаря своей архитектуре, скорее всего заблокируется и напрочь отстанет от запросов, но это не точно.

Она предназначена быть встроенной в процесс. Внутри процесса она в своей стихии и потому уделает кого угодно - доказано 100500 продуктами которые ее используют в качестве встроенной бд.

Теперь как она работает у меня?
Внезапно, она работает как встроенная в процесс сервера бд. То есть sqlite у меня работает именно так, как она и должна работать по своей архитектуре. Сервер же написан на ноде, а значит не сдохнет ни при какой нагрузке 146%.
Так что если где и может возникнуть затык по скорости, дак это только в вызывающем клиенте (биржа, нгинкс и прочие апачи), а в сервере sqlite я уверен.

Ещё раз перечитай что я тебе написал. При определённом характере нагрузки кролик сам себе откусит голову, это не проблема SQLite, просто у неё такая архитектура и она не предназначена для твоего кейса.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 28, 2018, 08:06:06 PM
При определённом характере нагрузки кролик сам себе откусит голову, это не проблема SQLite, просто у неё такая архитектура и она не предназначена для твоего кейса.

...но это не точно ))
На сегодняшний день я лично не вижу явных проблем с использованием sqlite в качестве бухгалтерской книги. Когда увижу, буду думать как с этим жить дальше.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on December 31, 2018, 08:14:50 AM
походу fxpc просто троллит.... никаких веских аргументов...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on December 31, 2018, 08:56:54 PM
Как приятно читать профессионалов... даже слезинку проронил ;D

С НОВЫМ ГОДОМ !!!

Желаю в новом году OpenTrade появления настоящего СООБЩЕСТВА разработчиков, а то автор и творец пока один в поле воин, желаю ему и его родным счастья и здоровья в Новом 2019 Году!



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: pishet on January 01, 2019, 02:26:17 PM
Добрый день, я развернул и сейчас тестирую Вашу биржу opentrade. Меня интересует добавление второй основной монеты, как у Вас на multicoins и MC и BTC. Подскажите пожалуйста в каком направлении копать? И Всех С НОВЫМ ГОДОМ !!!


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on January 02, 2019, 10:32:16 AM
походу fxpc просто троллит.... никаких веских аргументов...

Миша, я более чем уверен, kzv не требуется твоя психологическая помощь в форме толкования моих слов. Она тебе самому нужна, раз мерещится троллинг в обсуждении баз данных. kzv не случайно написал, что пока не видит проблем, а я изначально не спорил с тем, что при низкой нагрузке подходит любая БД. Незачем оффтопить.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on January 02, 2019, 10:15:49 PM
походу fxpc просто троллит.... никаких веских аргументов...

Миша, я более чем уверен, kzv не требуется твоя психологическая помощь в форме толкования моих слов. Она тебе самому нужна, раз мерещится троллинг в обсуждении баз данных. kzv не случайно написал, что пока не видит проблем, а я изначально не спорил с тем, что при низкой нагрузке подходит любая БД. Незачем оффтопить.

Без обид. С Новым годом. Извини если что не так)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on January 03, 2019, 09:01:08 AM
Добрый день, я развернул и сейчас тестирую Вашу биржу opentrade. Меня интересует добавление второй основной монеты, как у Вас на multicoins и MC и BTC. Подскажите пожалуйста в каком направлении копать? И Всех С НОВЫМ ГОДОМ !!!
С новым годом!

Я так понимаю, что вытащили из биржи отдельный процесс ноды для доступа к базе данных именно для этого - чтоб можно запускать "подбиржи" со своими главными парами но с одной базой данных... ???

И кстати я пытался переключать главные пары и есть затык на главной паре - ошибочно показываются балансы именно главной пары - тут организация базы хромает.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on March 21, 2019, 02:15:21 PM

kzv, есть желание обсудить и попробовать реализовать эту идею? - https://ss-i.blogspot.com/2019/03/market.html


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on March 22, 2019, 09:21:27 AM

kzv, есть желание обсудить и попробовать реализовать эту идею? - https://ss-i.blogspot.com/2019/03/market.html

Так замудрено описан механизм поощрения трейдеров?
Надо как-то попроще, в виде четкого алгоритма. Нпример
1. Если купил X монет, то получаешь кэшбек X*Y
и т.д.

Как я понимаю, кэшбэк это функция от X и от времени? То есть Y = Y(t) ?
Вобщем тут конечно это оффтоп. Давай в ветке идей может пообсуждаем со всеми?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on March 22, 2019, 10:21:00 AM

kzv, есть желание обсудить и попробовать реализовать эту идею? - https://ss-i.blogspot.com/2019/03/market.html

Так замудрено описан механизм поощрения трейдеров?
Надо как-то попроще, в виде четкого алгоритма. Нпример
1. Если купил X монет, то получаешь кэшбек X*Y
и т.д.

Всё очень просто. Умножается на k и делится на k. Вот в основном и весь алгоритм.


Как я понимаю, кэшбэк это функция от X и от времени? То есть Y = Y(t) ?
Вобщем тут конечно это оффтоп. Давай в ветке идей может пообсуждаем со всеми?

Не вопрос. Сделал отдельную тему - https://bitcointalk.org/index.php?topic=5123471.0

...Но гораздо лучше будет применение в полностью автоматическом режиме на стороне самой биржи...
Тут есть над чем подумать.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kpa10023 on May 04, 2019, 06:12:12 PM
Привет, следующая ошибка, все по инструкции делал:
root@ubuntu-s-1vcpu-1gb-fra1-01:~/opentrade/server# node main.js

events.js:182

      throw er; // Unhandled 'error' event

      ^



Error: listen EADDRINUSE :::80

    at Object.exports._errnoException (util.js:1026:11)

    at exports._exceptionWithHostPort (util.js:1049:20)

    at Server.setupListenHandle [as _listen2] (net.js:1305:14)

    at listenInCluster (net.js:1353:12)

    at Server.listen (net.js:1453:7)

    at Object.<anonymous> (/root/opentrade/server/main.js:37:31)

    at Module._compile (module.js:569:30)

    at Object.Module._extensions..js (module.js:580:10)

    at Module.load (module.js:503:32)

    at tryModuleLoad (module.js:466:12)
Пробовал делать клоны контрибьютеров , все равно то 80 то 443 порты....


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kpa10023 on May 05, 2019, 08:52:23 AM
SSL Proxy listening on port 443
events.js:182
      throw er; // Unhandled 'error' event
      ^

Error: connect ECONNREFUSED 127.0.0.1:40545
    at Object.exports._errnoException (util.js:1026:11)
    at exports._exceptionWithHostPort (util.js:1049:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1136:14)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on May 06, 2019, 03:57:40 AM
Первая ошибка: проверьте, кто у вас слушает 80 и 443 порт (скорее всего апач) и убейте его перманентно.
Вторая ошибка: порт 40545 это порт базы данных. Если к ней нет подключения, значит она не запущена.

Следуйте точно пошаговой инструкции на гитхабе и все будет работать. Проверено неоднократно.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kpa10023 on May 10, 2019, 05:28:23 PM
ну хватит уже удалять неугодные комментарии


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on May 24, 2019, 04:07:48 PM
Здравствуйте! Давно не заходил и не смотрел обновления, смотрю добавили сервер аккаунтов

https://github.com/3s3s/opentrade/network  https://github.com/3s3s/opentrade/commit/2146afdc430e28f93ca42fa6e1ecc2bd9295fe08

В чем его смысл, повышается ли безопасность, стоит ли обновляться?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on May 24, 2019, 06:35:05 PM
из биткоина систему аккаунтов выпилили, поэтому пришлось делать собственную. Ну и в перспективе, аккаунт-сервер позволит прикрутить несовместимые с биткоином монеты типа эфира, монеро и т.п.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: diakas on May 24, 2019, 07:15:52 PM
Это супер! Спасибо.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: utopist on July 08, 2019, 07:12:35 PM
Я вижу, что проект понемногу развивается... Но не так быстро, как в начале.
kzv, какие планы на ближайшее будущее ?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on July 09, 2019, 12:34:58 PM
Я вижу, что проект понемногу развивается... Но не так быстро, как в начале.
kzv, какие планы на ближайшее будущее ?

Исправляю баги, перехожу на другой хостинг. Так, текучка...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on August 23, 2019, 10:21:12 AM
привет. потр аккаунт сервера никак не свзан с портом RPC сервера монеты? или аккаунт сервер использует встроенные аккаунты кошелька с депозитами??
ну тоесть немогу понять... ранше дергался RPC основной монеты. а щас как сервер знает что нужно обращатся к accountserver. не могу найти места где он это делает
и еще основную монету нужно добавлять через админ понель или она уже вшита?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on August 23, 2019, 12:00:01 PM
а все я понял как работает.
1)теперь другое не понятно. Там вшита BTC в исходики. Биткоин имеет какуюто особенную функцию в бирже? какую?
2)там перед исполнение RPC команд идет команда расшифровки кошелька. можно ее убрать если RPC сервера доступны только из локального хоста и порты их их вне заблокированы?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on August 23, 2019, 12:33:01 PM
3) sql: 'SELECT * FROM sessions WHERE token="K3wFOzR3Be1jqGtPgtM8Bvz4uuvVCEbZ69kiZ7GOzII%3D"'
Это что, плис скажите??
вот это K3wFOzR3Be1jqGtPgtM8Bvz4uuvVCEbZ69kiZ7GOzII%3D
не меняется при рестарте биржи после полной очистке.

Я занимаюсь анализом безопасности кода. прошу сотрудничества...


а все. привязка к кукисам.
нужен ответ про BTC . какая роль в бирже?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on August 23, 2019, 12:58:03 PM
а все. привязка к кукисам.
нужен ответ про BTC . какая роль в бирже?

а контаркты на эфире понимаешь? можешь оценить мои из подписи на качество и идею? За хороший информативный пост с меня мерит  ;)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on August 23, 2019, 05:58:27 PM
а все я понял как работает.
1)теперь другое не понятно. Там вшита BTC в исходики. Биткоин имеет какуюто особенную функцию в бирже? какую?
2)там перед исполнение RPC команд идет команда расшифровки кошелька. можно ее убрать если RPC сервера доступны только из локального хоста и порты их их вне заблокированы?


1. что за бтц вшита в исходники? Покажите конкретное место.
2. можно убрать шифровку/расшифровку кошелька, но что-то мне не кажется это безопасным даже на локальном хосте.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: crypto_trader#43xzEXrP on August 25, 2019, 05:13:03 AM
Взяли бы в руки напильник, и запилили бы лучше DEX опенсорцную, которая p2p и на блокчейне,
в которой можно менять "всё на всё - во всех направлениях", по умолчанию (без всяких листингов),
но для альткоинов.
Такая биржа есть уже, это WAVES DEX (https://client.wavesplatform.com/#!/dex-demo),
но она для токенов, и скоро они подключат ERC-20 токены (https://bitcointalk.org/index.php?topic=3223136.msg52235675#msg52235675).
А вот для альтов всяких, в частности для bitcoin-based mineable coins - такой биржи увы, нет.
Было бы неплохо, если бы она была опенсорцной, в два клика запускалась,
мультикастом пиров искала и даже в локалке работала, без Интернета.
Майнинг, матчинг, нода - всё внутри чтобы было, и по честноку чтобы там всё менялось, чтоб никто никого не мог обокрасть.

Я слышал, что можно делать прямой обмен альтов на разных блокчейнах, используя ATOMIC SWAP (https://forklog.com/chto-takoe-atomarnye-svopy/).
Вот стандартизировали бы это дело всё, унифицировали, а дальше уже можно форкать, разукрашивать, майнить и менять...
А то какие-то покалеченные альты, с недопиленными исходниками вываливают, блокчейны у них длинные становятся, затем останавливаются,
и лежат они по одной сатохе лайта, а то и DOGE (если эмиссия триллионная). Конечно же их делистят со временем.
А если поближе взглянуть, то в исходнике - никаких инноваций. Просто картинки прицепили значки поменяли и всё.
Ну так хотя-бы ядро стандартизируйте клёвое, а потом уже пускай форкают...
А то какой-то недопиленный быдлокод форкают и хрен разберёшься потом там.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: shkolomainer on August 25, 2019, 10:32:39 PM
Всем привет. Хотел бы поучавствовать в разработке и на деле иметь наконец таки нормальную биржу. Но сам в программировании слаб, но имея интернет это не проблема. Готов присоединится говорите что нужно делать и что для этого нужно изучить. Пока что начну с того что указано в шапке.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on August 26, 2019, 10:53:35 AM
а все я понял как работает.
1)теперь другое не понятно. Там вшита BTC в исходики. Биткоин имеет какуюто особенную функцию в бирже? какую?
2)там перед исполнение RPC команд идет команда расшифровки кошелька. можно ее убрать если RPC сервера доступны только из локального хоста и порты их их вне заблокированы?


1. что за бтц вшита в исходники? Покажите конкретное место.

Блин, просто подтвердите, что код биржи адаптирован для использования в качестве основной манеты не только MC но и BTC. Правильно я понимаю? Закончена ли адаптация полностью?

PS. Пока зловредного кода не выявлено. Но не расслабляйтесь :)) - еще уязвимости на основе багов (в том числе используемых сторонних модулей)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on August 26, 2019, 11:06:58 AM
В качестве основной монеты в исходном коде используется MC.
Но путем несложных манипуляций, основной монетой можно сделать любой форк, совместимый с биткоином.
Моих бэкдоров вы там точно не найдете, если найдете уязвимости в библиотеках, то буду рад если сообщите о них публично или сделаете исправляющий коммит на гитхаб.

PS
shkolomainer, начните с того что попробуйте установить и запустить биржу по инструкции на гитхабе. Если сможете это сделать самостоятельно без моих подсказок, то значит у вас есть потенциал к обучению и дальше можно будет совместно что-то делать.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: shkolomainer on August 26, 2019, 03:17:02 PM
На гитхабе все на английском у меня с ним траблы. Запустить врятли у меня че то получится, потому что комп унылое говно, я даже компиляторы качать не планирую чисто в текстовиках скрипты писать и вам скидывать. Но для начала мне нужно научится читать исходники которые лежат на гитхабе. Или без компиляторов (я так понял в деле два языка которые надо изучить Node.js и sqlite) я хрен открою и прочитаю исходники?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: shkolomainer on August 26, 2019, 03:30:46 PM
вообщем скачал папку opentrade-master. Получается вся биржа в этой папке. Вот только как мне открыть эти файлы и увидить что в этих скриптах написано и уже по этим скриптам буду изучать язык.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on August 26, 2019, 03:38:07 PM
вообщем скачал папку opentrade-master. Получается вся биржа в этой папке. Вот только как мне открыть эти файлы и увидить что в этих скриптах написано и уже по этим скриптам буду изучать язык.

Начните с изучения основ node.js
Писать тестовые учебные программы можете прямо в браузере если осилите регистрацию в cloud9 (https://aws.amazon.com/ru/cloud9/?origin=c9io)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: shkolomainer on August 26, 2019, 04:09:01 PM
Я конечно не спец, но авось мой совет поможет. Коли на бирже 2 условные еденицы (биток и МК) для МК уже есть обменник. Что думаете если сделать такой же но для битка (я конечно хз может не все так просто как кажется поменять в коде marycoin на биткоин не выйдет). Но если удастся запилить обменник на подобе localbitcoins и cryptolocator (комиссии при сделке там может и незначительные, но  ввывод особенно на локалбиткоинс сдирает бабки). Я к чему это все есть рынок тор 4ей которым битки нужны только чтоб намутить приколов у змея горыныча и если замутить обменник под них с адекватными (по сути самые низкие) комиссиями, то у вас получится урвать клиентов с bestchange локбиткоинс и криптолокатор.  Да может биткоин вам и ненравиться, но ему доверяет много людей и на нем завязано дохуя чего. Все видели (на фотках разумеется) ангары с китайскими видяхами. Есть контракты на поставки этих видеокарт (Асиков), электричества, интернета а в в контракте прописаны скорей всего баксы. На выхлопе чел получает битки и меняет их у инвесторов и приколистов на рубли, баксы, евро, юани вообщем фиат. А вот если хотите продвинуть Мэрикоин, то уже когда привлекли людей и все ништяк. Можно установить МК как условную еденицу и при сделаках с этой валютой снимается половинная комиссия. Привиду пример собрались поменять биткоин на лайткоин допустим комиссия 1 проц. А если поменять Биткоин на Мэрикоин то будет комиссия 0,5% + обмен Мэрикоин на лайткоин тоже 0,5=1% в плане комиссий ничего не измениться. Такой способ стимулирует совершать сделаки или просто держать Мэрикоины. Не прийдется создавать 100500 разных пар для торговли (так людям проще разобраться будет и при добавлении новой валюты на биржу меньше гемора).


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on August 26, 2019, 04:15:11 PM
Обменнику нужен очень крупный напильник... Как и бирже.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: shkolomainer on August 26, 2019, 04:23:06 PM
а в этой папке opentrade-master Только биржа или еще обменник, Dice, форум...?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on August 26, 2019, 04:47:26 PM
только биржа.
код обменника я нигде не выкладываю.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: shkolomainer on August 27, 2019, 04:42:32 AM
Впринцепе оно и верно что обменник закрытый код ибо коммерческая тайна, так как обменники сейчас это золотая жила. Меня собсна че и заинтересовал то проект, так как здесь биржа совмещенная с обменником это очень толковая идея, нигде до этого не видел.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on August 27, 2019, 08:18:04 AM
Впринцепе оно и верно что обменник закрытый код ибо коммерческая тайна, так как обменники сейчас это золотая жила. Меня собсна че и заинтересовал то проект, так как здесь биржа совмещенная с обменником это очень толковая идея, нигде до этого не видел.

Код обменников намооого проще кода биржи и закрыт он обычно из-за того, что для поддержания своего обменника нужны Огромные запасы крипты по всем направлениям обмена, поэтому обычно "дергают" API (аутсорсят) других обменников (тех кто имеет запасы крипты для мгновенного обмена). Если биржа разрастается и на ее депозита скапливаются большие суммы, то открыть мгновенный обмен на базе кода биржи очень легко (это мгновенное удовлетворение ордеров с депозитов самой биржи по предустановленной цене). Вот в чем прикол))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: laiyskylone on September 28, 2019, 12:23:46 AM
Давно в тему не заходил > полу года, хотел узнать а по прибыли вообще как хоть? Есть хоть какие то копейки или все сугубо на энтузиазме?
План который на 1й странице дополняется чем то новым? и планируется ли какой то более юзерфрендли дизайн?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on September 28, 2019, 02:27:32 AM
Доход отрицательный. Все на энтузиазме. В планах только исправление багов, на что-то кардинально новое нет времени.
А что не так с дизайном? Он в принципе на бутстрапе, что по факту сегодня является технологическим стандартом.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: laiyskylone on September 28, 2019, 05:36:49 AM
Quote
А что не так с дизайном? Он в принципе на бутстрапе, что по факту сегодня является технологическим стандартом.

Стандартом да, но это больше подходит для mvp или "быстро показать" на первое время а проект уже давненько живет, обычно ж или стили елементов BS меняют что бы не выглядело как дефолтный или с нуля редизайнят.
Просто дизайн довольно не маловажная часть, даже шрифты и сглаживания могут многое решить, но конечно если проект убыточный то и мотивации на это скорей всего нет.
Там в разных темах ребята мб за + Merit смогут помочь да или как то поболее развивать, что бы привлечь разработчиков

P.S Там на гитхабе ~300 форков и странно что все забили на дизайн)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on September 28, 2019, 07:08:31 PM
Интерфейс это вкусовщина. Я например когда черный фон у сайта вижу, то с вероятностью 90% с этого сайта навсегда ухожу.
Там на гитхабе все форкают и продолжают пилить сами по себе. Коммиты в основную ветку никто не делает... Потребители одни короче ((


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: startsts on October 02, 2019, 01:03:54 PM
Quote
База данных sqlite

Серъезно, она же еле ползает наверно.

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

Дизайн мне тоже не понравился, не современный


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ligor on October 02, 2019, 01:49:08 PM
Серъезно, она же еле ползает наверно.

Отнюдь.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on October 05, 2019, 12:19:28 PM
Вашу биржу пытаются взломать методом социальной инженерии. говорят что знают вас. хороший признак. значит других методов нет)
подробности тут
https://discord.gg/QAnjK7U

Сори но я вынужден опубликовать здесь, так как потребляю ваш код но еще не доконца не углубился в него. извините. думаю будут буртить




Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on October 05, 2019, 01:22:59 PM
Жесть. Бутят. Очень быстро. Скорость Брута зависит от исходящего канала. нужно тайминг вставить.
Соль нельзя сменить после первого пуска или я не понял как.
Нужно тайминг вставить, что-бы ответ на неверный пароль приходил с задержкой а не мгновенно..
Я понимаю что капча решает, но она уже давно не нужна от слова совсем, ну разве людей только мучать.



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: startsts on October 05, 2019, 03:22:18 PM
Серъезно, она же еле ползает наверно.

Отнюдь.

Тут в принципе не подходит sqlite так как в ней нет блокировки на уровне строк, при большой нагрузке это необходимо иначе операции просто пойдут неправильно.

Жесть. Бутят. Очень быстро. Скорость Брута зависит от исходящего канала. нужно тайминг вставить.
Соль нельзя сменить после первого пуска или я не понял как.
Нужно тайминг вставить, что-бы ответ на неверный пароль приходил с задержкой а не мгновенно..
Я понимаю что капча решает, но она уже давно не нужна от слова совсем, ну разве людей только мучать.


У меня был опыт управления биржей, решается тут все просто, каптча появляется после 2 неверных попыток ввода пароля.  После 10 неверных попыток блокировать доступ на час.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on October 05, 2019, 11:20:38 PM
У меня был опыт управления биржей, решается тут все просто, каптча появляется после 2 неверных попыток ввода пароля.  После 10 неверных попыток блокировать доступ на час.

не рабочий вариант. узнав логины (скажем из бирживовго чата) можно вредить, блокируя других пользователей на постоянной основе. А не зная логины может тоже можно блокировать вход пользователей, если стучаться очень быстро... зависит от кода на стороне сервера.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: startsts on October 06, 2019, 04:06:53 AM
У меня был опыт управления биржей, решается тут все просто, каптча появляется после 2 неверных попыток ввода пароля.  После 10 неверных попыток блокировать доступ на час.

не рабочий вариант. узнав логины (скажем из бирживовго чата) можно вредить, блокируя других пользователей на постоянной основе. А не зная логины может тоже можно блокировать вход пользователей, если стучаться очень быстро... зависит от кода на стороне сервера.

Я имею ввиду бан по IP, а столько прокси чтобы после каждых 2 попыток менять IP хакеры не найдут.
Банить можно как в форме авторизации так и прямо на сервере через iptables, в таком случае у хакера не откроется ни одна страница и уменьшится нагрузка на платформу


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on October 06, 2019, 08:55:53 PM
Тут в принципе не подходит sqlite так как в ней нет блокировки на уровне строк, при большой нагрузке это необходимо иначе операции просто пойдут неправильно.


Где про эту особенность sqlite можно почитать?

ЗЫ брутфорс сайта с капчей это бесполезное занятие. Не нужны никакие блокировки.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: startsts on October 06, 2019, 10:41:33 PM
Тут в принципе не подходит sqlite так как в ней нет блокировки на уровне строк, при большой нагрузке это необходимо иначе операции просто пойдут неправильно.


Где про эту особенность sqlite можно почитать?

ЗЫ брутфорс сайта с капчей это бесполезное занятие. Не нужны никакие блокировки.

почитайте о транзакциях в базах данных. Или давайте представим ситуацию: пользователь производит операцию создания ордера и у него баланс 0.01 BTC который вычитается и в базу записывается 0, и в этот же момент у него срабатывает другой ордер который также видит баланс 0.01 и хочет прибавить к нему 0.005 за исполненный ордер на продажу.  В зависимости от того какая операция запишет в базу первая или вторая баланс будет либо 0 либо 0.015 и то и другое неправильно. Должна быть блокировка на уровне строки которая не позволит получить баланс пользователя из базы пока не завершена другая операция. В sqlite можно блокировать только таблицу полностью, это сильно уменьшит производительность


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: laiyskylone on October 07, 2019, 02:42:32 AM
Тут в принципе не подходит sqlite так как в ней нет блокировки на уровне строк, при большой нагрузке это необходимо иначе операции просто пойдут неправильно.


Где про эту особенность sqlite можно почитать?

ЗЫ брутфорс сайта с капчей это бесполезное занятие. Не нужны никакие блокировки.

почитайте о транзакциях в базах данных. Или давайте представим ситуацию: пользователь производит операцию создания ордера и у него баланс 0.01 BTC который вычитается и в базу записывается 0, и в этот же момент у него срабатывает другой ордер который также видит баланс 0.01 и хочет прибавить к нему 0.005 за исполненный ордер на продажу.  В зависимости от того какая операция запишет в базу первая или вторая баланс будет либо 0 либо 0.015 и то и другое неправильно. Должна быть блокировка на уровне строки которая не позволит получить баланс пользователя из базы пока не завершена другая операция. В sqlite можно блокировать только таблицу полностью, это сильно уменьшит производительность

Ребята на счет производительности и прочего да, но она сама легковестная и мобильная да и человек делает же сам поэтому использует то что ему нравиться, проект же open source поэтому вы там можете у себя подпилить и юзать хоть mongo хоть postgres и даже закомить в главный реп а там уже  обсудить все и дополнить разработку. А так спорить можно очень долго и рассказывать и про транзакции и прочее


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on October 07, 2019, 04:38:55 AM
Во первых, арифметические операции можно делать прямо внутри sql update. В опенсорсной версии у меня так и делается...
Во вторых, если по уму, то базу надо организовывать по методу двойной бухгалтерской записи. В таком случае вообще нет операций update, а есть только insert , а итог считается селектом. Ошибки в таком случае практически невозможны.

В третьих, в sqlite ЕСТЬ транзакции. Внезапно?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: startsts on October 07, 2019, 12:31:00 PM
Во первых, арифметические операции можно делать прямо внутри sql update. В опенсорсной версии у меня так и делается...
Во вторых, если по уму, то базу надо организовывать по методу двойной бухгалтерской записи. В таком случае вообще нет операций update, а есть только insert , а итог считается селектом. Ошибки в таком случае практически невозможны.

В третьих, в sqlite ЕСТЬ транзакции. Внезапно?

Далеко не все операции можно так сделать. Например два пользователя нажали купить биткоин по 8000 USDT с разницой в миллисекунды,  нужно заблокировать строки базы с ордерами по 8000 пока проводятся операции с балансом первого пользователя, чтобы паралеллельный процесс не использовал эти ордера для второго пользователя а ожидал,  В sqlite нельзя заблокировать строки, блокируется сразу вся база при помощи транзакции EXCLUSIVE и ждать будет не только второй пользователь но и любые пользователи которые просто хотели посмотреть список ордеров или добавить свой ордер


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on October 07, 2019, 02:52:34 PM
У меня в коде блокируются ордера по монете пока идет процессинг другого ордера.
Но если по уму, то бухгалтерский сервер должен работать в отдельном процессе и действительно эксклюзивно блокировать бухгалтерскую базу пока идет какая-либо запись или группа записей.
Что за блокировка строки я первый раз слышу?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: startsts on October 07, 2019, 04:20:35 PM
У меня в коде блокируются ордера по монете пока идет процессинг другого ордера.
Но если по уму, то бухгалтерский сервер должен работать в отдельном процессе и действительно эксклюзивно блокировать бухгалтерскую базу пока идет какая-либо запись или группа записей.
Что за блокировка строки я первый раз слышу?

В Mysql InnoDB можно блокировать строки при помощи SELECT FOR UPDATE после начала транзакции,   другая попытка "SELECT FOR UPDATE" на эти же строки будет ожидать завершения транзакции.

Если блокируется в коде то все ок,  просто так можешь запустить приложение только в 1 поток, и не сможешь запустить параллельно


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on October 07, 2019, 04:22:30 PM
node.js однопоточна принципиально.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ligor on October 07, 2019, 04:59:07 PM
В sqlite нельзя заблокировать строки, блокируется сразу вся база при помощи транзакции EXCLUSIVE и ждать будет не только второй пользователь но и любые пользователи которые просто хотели посмотреть список ордеров или добавить свой ордер
На чтение не блокируется, только на запись.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: startsts on October 07, 2019, 05:42:53 PM
node.js однопоточна принципиально.

И что будет при большой нагрузке?  Я к тому что если бы блокировка производилась на уровне базы данных то можно было бы масштабировать систему добавляя сервера


В sqlite нельзя заблокировать строки, блокируется сразу вся база при помощи транзакции EXCLUSIVE и ждать будет не только второй пользователь но и любые пользователи которые просто хотели посмотреть список ордеров или добавить свой ордер
На чтение не блокируется, только на запись.

Тип EXCLUSIVE блокирует и на запись... но автор уже обьяснил что не использует ее а блокирует в коде


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ligor on October 07, 2019, 05:50:20 PM

Тип EXCLUSIVE блокирует и на запись... но автор уже обьяснил что не использует ее а блокирует в коде
Не знаю уж для чего такой жесткий режим, по умолчанию DEFERRED , когда только запись в таблицу блокируется - вполне хватает.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: r3l0c on December 01, 2019, 11:09:13 AM
SQLite, серьезно? На любом пампе проект сломается. ТС видимо не знаком с напором торговых роботов. Масштабирование- никакое.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: r3l0c on December 01, 2019, 02:32:24 PM
Чувак, если тебе говорят одно и тоже- есть повод задуматься. Я не говорю даже о качестве кода и наличия там велосипедов в виде обертки для базы- первое что я заметил, видимо мы любим делать бесполезную работу и не знаем о sequelize. Чувак, критика- путь к совершенству. И да, я не nodejs разработчик и ни разу с ним не работал, но моего опыта хватает что бы писать об этих недочетах с уверенностью. И советую провести нагрузочное тестирование отработки ордеров. Ну в секунду хотяб 5к ордеров чтоб выставлялось, 1к отменялось и 500 ордеров были бы самопересекающиеся, + параллельно 10к онлайн рандом по сайту. И посчитайте задержки. Я уверен, что нагрузочное тестирование заставит вас задуматься.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 01, 2019, 02:49:01 PM
Чувак поверь, диванных экспертов я наслушался начиная с первой страницы темы - можешь почитать. Все такие умные, но почему-то такие бедные ))
Можешь сделать лучше - вперед и с песней!


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Balthazar on December 01, 2019, 03:43:10 PM
Жесть. Бутят. Очень быстро. Скорость Брута зависит от исходящего канала. нужно тайминг вставить.
Соль нельзя сменить после первого пуска или я не понял как.
Нужно тайминг вставить, что-бы ответ на неверный пароль приходил с задержкой а не мгновенно..
Я понимаю что капча решает, но она уже давно не нужна от слова совсем, ну разве людей только мучать.
Лучше сделать на бирже подставной профиль с левыми данными, и при бруте для случайных попыток логинить юзера в него.
Задолбается выяснять, какие попытки реально успешные, а какие - троллинг биржи в его адрес. Мало того, что эффективно, это ещё и смешно.

SQLite, серьезно? На любом пампе проект сломается. ТС видимо не знаком с напором торговых роботов. Масштабирование- никакое.
Я все никак не могу забыть, как один эксперт отличился. Заявил, что в SQLite масштабирование никакое, а когда ему было предложено побить в реальной производительности конкретное решение, то покряхтел недельку и исчез. Не пишет вот уже год со своим InnoDB.

почитайте о транзакциях в базах данных. Или давайте представим ситуацию: пользователь производит операцию создания ордера и у него баланс 0.01 BTC который вычитается и в базу записывается 0, и в этот же момент у него срабатывает другой ордер который также видит баланс 0.01 и хочет прибавить к нему 0.005 за исполненный ордер на продажу.  В зависимости от того какая операция запишет в базу первая или вторая баланс будет либо 0 либо 0.015 и то и другое неправильно. Должна быть блокировка на уровне строки которая не позволит получить баланс пользователя из базы пока не завершена другая операция. В sqlite можно блокировать только таблицу полностью, это сильно уменьшит производительность
Не знаю, в каком году вы застряли, но SQLite уже много лет как умеет write-ahead logging. Если хорошо "читали о базах данных", то вы вкурсе, что это такое и зачем нужно.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Balthazar on December 02, 2019, 05:21:55 PM
Насчет СУБД, если хочется чего-то радикально быстрого, то можно попробовать RediSQL. Это модификация SQLite, которая использует Redis в качестве бэкэнда.

https://redisql.com/

Натянет по самые гланды любые мускули, при сохранении совместимости с ANSI SQL, если такова цель.

Проект в активной разработке, но с биндингами проблем нет (https://redisql.redbeardlab.com/rediSQL/blog/node/using-redisql-with-node/).



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on December 17, 2019, 09:57:32 AM
Привет! Можете разъяснить механизм действия кнопки Fix и когда возникает необходимость ей воспользоваться?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 17, 2019, 10:01:48 AM
Привет! Можете разъяснить механизм действия кнопки Fix и когда возникает необходимость ей воспользоваться?

1. Если у пользователя что-то сглючило с балансами
2. Если на пользователе сработала автоблокировка вывода (когда задетектилась подозрительная активность)

Если нажать на Fix, то
1. Снимутся все пользовательские ордера по этой монете
2. Баланс пользователя будет проверен по блокчейну и по истории торгов
3. Если будут найдены несоответствия - баланс приведется в порядок
4. Вывод разблокируется


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on December 17, 2019, 10:17:49 AM
Насчет СУБД, если хочется чего-то радикально быстрого, то можно попробовать RediSQL. Это модификация SQLite, которая использует Redis в качестве бэкэнда.

https://redisql.com/

Натянет по самые гланды любые мускули, при сохранении совместимости с ANSI SQL, если такова цель.

Проект в активной разработке, но с биндингами проблем нет (https://redisql.redbeardlab.com/rediSQL/blog/node/using-redisql-with-node/).



Разъясняю всем!
Мне удивительно почему многим это не понят? Почему не могут проводить аналогии с личным творческим трудом в новой, аццки сложной области, когда ты вытягиваешь ее в соло.
Если ты взявшись в соло за сложный проект будешь много выбирать, анализировать - он не будет завершен НИКОГДА.
Меня удивляет, почему вы не в состоянии оценить! даже косвенно. можно даже не смотреть в код!!! У этого движка столько форков, потому что его код настолько структурирован и изящен, что каждый его может заюзать и допилить под себя!!! Вот в чем ценность этого движка!!! И еще в том, что благодаря ему можно в принципе даже научится создавать свои движки. Посмотрите на другие на гитхабе! Да там черт ногу сломит!! там столько намешано технологий, что видно что этти движки амнокодеры создавали - там фарш-код - кто во что гаразд...
Ну очевидно же!!! что автору OpenTrade советы не нужны!! Он дал сообществу, причем бесплатно, нечто великолепное! Так как теперь глядя на его код даже школота сможет написать свой обменник или биржу!!!
Плять! В мире только несколько людей могут похвастатся тамики соло-проектами!!! Вы просто не в состоянии заценить. Ну очевидно же, что автору если понадобится сделать улучшения в следующих версиях - он их сделает. а советы ему не нужны, так как он превосходит и знаниях и профессионализме 99% программистов.
Лучше бы задонатили ему - там на гитхабе реквезиты есть...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 17, 2019, 10:47:10 AM
~

Спасибо вам за поддержку. Правда Бальтазар-то не при чем ) У него реально есть чему поучиться, по крайней мере в плане программирования на JavaScript.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: investgroup on December 17, 2019, 11:54:09 AM
Бальт еще и на жабе пишет?..

Вот кошмар то ;)))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: privetvsem on December 21, 2019, 11:12:34 PM
А теперь давайте создадим тоже самое только децентрализованную и без необходимости пополнять баланс для полных нод...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on December 22, 2019, 07:21:26 AM
А теперь давайте создадим тоже самое только децентрализованную и без необходимости пополнять баланс для полных нод...

Давайте.
Чем вы можете помочь?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Balthazar on December 22, 2019, 07:24:15 AM
А теперь давайте создадим тоже самое только децентрализованную и без необходимости пополнять баланс для полных нод...
А давайте создадим межпространственный туннель и отправимся в параллельную вселенную...

Примерно того же порядка пост. Можете - создавайте топик и делайте, нахрена шитпостить в чужих?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on January 06, 2020, 03:48:40 PM
Привет, kzv. Год назад в новогодние праздники был разговор о sqlite и о ядрах бирж.
Я тут накидал биржу прямо внутри PostgreSQL .. 2 функции всего купить битки за рубли и продать.
200 ордеров выполняются чуть больше чем за 2 секунды. Нормально?

Quote
1578325171347409
SystemSeconds:1578325171.347409
select buybtcR(783.10,0.00394383,2);select sellbtcR(197.55,0.00911647,2);
select buybtcR(277.77,0.00768230,2);select sellbtcR(628.87,0.00477397,2);
select buybtcR(952.23,0.00513401,3);select sellbtcR(717.30,0.00635712,2);
select buybtcR(16.30,0.00606969,2);select sellbtcR(804.18,0.00137232,3);
select buybtcR(129.79,0.00400944,3);select sellbtcR(218.26,0.00998924,2);
select buybtcR(612.64,0.00839112,3);select sellbtcR(524.29,0.00637552,1);
select buybtcR(292.52,0.00972775,2);select sellbtcR(769.91,0.00526745,2);
select buybtcR(283.31,0.00891529,1);select sellbtcR(919.03,0.00807725,2);
select buybtcR(526.00,0.00949327,3);select sellbtcR(663.23,0.00192214,2);
select buybtcR(64.17,0.00348893,3);select sellbtcR(63.10,0.00457702,3);
select buybtcR(902.21,0.00970634,1);select sellbtcR(539.76,0.00266666,1);
select buybtcR(512.54,0.00760249,2);select sellbtcR(39.28,0.00531606,3);
select buybtcR(930.81,0.00931835,1);select sellbtcR(738.53,0.00284293,1);
select buybtcR(687.86,0.00354049,1);select sellbtcR(880.08,0.00440104,1);
select buybtcR(228.97,0.00330337,3);select sellbtcR(686.67,0.00350360,3);
select buybtcR(657.30,0.00588640,1);select sellbtcR(923.97,0.00439560,1);
select buybtcR(684.22,0.00814767,2);select sellbtcR(215.82,0.00482491,3);
select buybtcR(147.66,0.00920128,3);select sellbtcR(431.95,0.00641081,1);
select buybtcR(786.00,0.00281059,1);select sellbtcR(226.11,0.00447034,3);
select buybtcR(556.44,0.00276235,3);select sellbtcR(906.80,0.00169607,3);
select buybtcR(495.44,0.00126075,2);select sellbtcR(935.00,0.00984752,2);
select buybtcR(749.77,0.00383188,1);select sellbtcR(232.26,0.00294160,2);
select buybtcR(152.39,0.00244413,3);select sellbtcR(793.47,0.00125475,3);
select buybtcR(74.53,0.00745071,3);select sellbtcR(521.56,0.00052529,1);
select buybtcR(797.80,0.00240062,1);select sellbtcR(967.41,0.00656564,1);
select buybtcR(93.48,0.00759735,2);select sellbtcR(78.23,0.00520210,3);
select buybtcR(461.42,0.00204655,3);select sellbtcR(755.58,0.00573319,3);
select buybtcR(999.99,0.00157807,3);select sellbtcR(125.47,0.00889956,3);
select buybtcR(870.54,0.00054058,3);select sellbtcR(923.07,0.00004162,2);
select buybtcR(163.13,0.00180372,1);select sellbtcR(819.70,0.00913027,2);
select buybtcR(579.43,0.00552485,2);select sellbtcR(99.64,0.00687387,2);
select buybtcR(304.30,0.00757294,1);select sellbtcR(877.61,0.00576971,2);
select buybtcR(35.42,0.00628910,1);select sellbtcR(925.38,0.00833239,3);
select buybtcR(979.43,0.00831037,1);select sellbtcR(983.60,0.00903366,2);
select buybtcR(163.97,0.00497259,3);select sellbtcR(76.99,0.00888949,2);
select buybtcR(629.48,0.00248044,1);select sellbtcR(316.87,0.00700620,1);
select buybtcR(74.16,0.00231428,3);select sellbtcR(651.13,0.00223656,3);
select buybtcR(280.04,0.00971466,2);select sellbtcR(113.28,0.00719269,1);
select buybtcR(944.32,0.00592540,3);select sellbtcR(847.68,0.00336351,3);
select buybtcR(344.94,0.00003231,2);select sellbtcR(233.89,0.00833243,2);
select buybtcR(481.94,0.00482950,3);select sellbtcR(182.56,0.00712087,1);
select buybtcR(413.98,0.00040864,2);select sellbtcR(637.64,0.00673936,2);
select buybtcR(609.11,0.00184622,2);select sellbtcR(328.37,0.00730729,3);
select buybtcR(920.91,0.00202213,2);select sellbtcR(257.27,0.00653130,3);
select buybtcR(260.50,0.00087644,1);select sellbtcR(93.74,0.00686125,1);
select buybtcR(576.69,0.00361601,1);select sellbtcR(288.78,0.00666557,3);
select buybtcR(329.64,0.00288379,3);select sellbtcR(3.58,0.00984363,3);
select buybtcR(188.20,0.00331479,2);select sellbtcR(918.93,0.00958637,1);
select buybtcR(121.14,0.00699075,3);select sellbtcR(774.27,0.00383832,1);
select buybtcR(861.92,0.00916273,3);select sellbtcR(548.04,0.00793657,3);
select buybtcR(909.64,0.00904933,2);select sellbtcR(576.20,0.00498144,1);
select buybtcR(864.58,0.00273911,1);select sellbtcR(848.94,0.00463662,1);
select buybtcR(180.42,0.00291053,2);select sellbtcR(139.06,0.00727550,1);
select buybtcR(838.13,0.00492422,1);select sellbtcR(221.97,0.00178208,1);
select buybtcR(138.24,0.00121259,2);select sellbtcR(931.90,0.00324807,2);
select buybtcR(836.83,0.00622095,2);select sellbtcR(334.97,0.00496074,3);
select buybtcR(608.88,0.00658831,3);select sellbtcR(72.55,0.00151230,2);
select buybtcR(363.60,0.00647207,2);select sellbtcR(91.15,0.00331386,2);
select buybtcR(583.57,0.00934495,2);select sellbtcR(761.78,0.00658747,3);
select buybtcR(883.04,0.00157272,3);select sellbtcR(207.84,0.00517715,3);
select buybtcR(829.94,0.00426199,3);select sellbtcR(326.01,0.00244327,3);
select buybtcR(984.84,0.00638654,1);select sellbtcR(136.07,0.00897560,2);
select buybtcR(783.28,0.00005409,3);select sellbtcR(114.67,0.00293678,3);
select buybtcR(49.16,0.00721006,2);select sellbtcR(707.91,0.00986467,2);
select buybtcR(865.18,0.00473894,3);select sellbtcR(382.90,0.00099559,2);
select buybtcR(809.10,0.00657120,1);select sellbtcR(53.42,0.00051508,2);
select buybtcR(692.08,0.00780868,3);select sellbtcR(589.64,0.00119111,1);
select buybtcR(595.05,0.00529899,2);select sellbtcR(888.72,0.00304285,1);
select buybtcR(609.73,0.00169820,2);select sellbtcR(596.20,0.00618925,2);
select buybtcR(70.09,0.00829808,1);select sellbtcR(169.65,0.00923728,1);
select buybtcR(826.77,0.00225491,3);select sellbtcR(878.28,0.00357193,3);
select buybtcR(659.15,0.00814909,2);select sellbtcR(778.26,0.00257469,3);
select buybtcR(308.16,0.00836104,1);select sellbtcR(612.44,0.00198021,2);
select buybtcR(782.26,0.00674605,1);select sellbtcR(401.19,0.00200352,1);
select buybtcR(231.00,0.00434009,1);select sellbtcR(154.72,0.00532846,2);
select buybtcR(380.21,0.00014579,2);select sellbtcR(737.41,0.00305408,1);
select buybtcR(552.32,0.00649659,3);select sellbtcR(809.79,0.00685986,1);
select buybtcR(645.89,0.00311950,3);select sellbtcR(843.91,0.00532960,3);
select buybtcR(518.51,0.00642692,2);select sellbtcR(718.87,0.00362154,1);
select buybtcR(152.88,0.00677812,2);select sellbtcR(685.72,0.00063561,2);
select buybtcR(700.30,0.00618958,1);select sellbtcR(5.71,0.00001125,3);
select buybtcR(655.37,0.00261570,3);select sellbtcR(341.35,0.00181161,3);
select buybtcR(653.30,0.00879009,1);select sellbtcR(186.26,0.00885014,3);
select buybtcR(828.96,0.00503461,3);select sellbtcR(191.11,0.00904170,1);
select buybtcR(868.92,0.00706067,1);select sellbtcR(932.48,0.00738959,1);
select buybtcR(551.44,0.00926576,3);select sellbtcR(552.57,0.00494407,1);
select buybtcR(814.14,0.00799646,2);select sellbtcR(995.30,0.00657201,3);
select buybtcR(874.31,0.00324541,3);select sellbtcR(759.32,0.00637771,1);
select buybtcR(262.78,0.00794910,2);select sellbtcR(166.95,0.00470564,2);
select buybtcR(873.02,0.00865085,3);select sellbtcR(611.98,0.00412483,1);
select buybtcR(538.56,0.00645602,2);select sellbtcR(32.96,0.00579021,2);
select buybtcR(832.61,0.00518151,3);select sellbtcR(489.81,0.00112648,1);
select buybtcR(814.35,0.00048500,1);select sellbtcR(452.12,0.00637656,3);
select buybtcR(247.03,0.00413078,1);select sellbtcR(717.60,0.00017457,2);
select buybtcR(582.68,0.00812947,3);select sellbtcR(995.16,0.00477361,2);
select buybtcR(640.77,0.00074260,1);select sellbtcR(219.79,0.00222602,1);
select buybtcR(737.94,0.00923513,2);select sellbtcR(850.59,0.00438562,3);
select buybtcR(899.09,0.00948911,2);select sellbtcR(536.74,0.00333569,2);
select buybtcR(949.82,0.00477551,1);select sellbtcR(967.28,0.00884318,2);
select buybtcR(780.22,0.00458039,1);select sellbtcR(257.59,0.00904781,2);
1578325173597722
SystemSeconds:1578325173.597722


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 06, 2020, 06:06:06 PM
Конечно нормально.
Если с такой скоростью будет работать реальная биржа, то это будет очень круто!


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on January 07, 2020, 08:55:24 AM
Конечно нормально.
Если с такой скоростью будет работать реальная биржа, то это будет очень круто!
Не будет. Это 200 ордеров на пустом стакане. Вечером будет время, 10 тыс прогоню и посчитаю


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on January 11, 2020, 09:47:14 AM
20 тыс ордеров проведено. после этого в стаканах осталось по 2 тыс не исполненных ордеров. публикую последние строки теста
Quote
select buybtcR(705.22,0.00740590,3);11121 mcs select sellbtcR(630.92,0.00802493,3); 26765 mcs
select buybtcR(185.07,0.00962241,3);29069 mcs select sellbtcR(435.84,0.00473537,2); 10746 mcs
select buybtcR(408.71,0.00244875,3);155708 mcs select sellbtcR(658.31,0.00410866,2); 11257 mcs
select buybtcR(576.58,0.00998753,1);11023 mcs select sellbtcR(583.55,0.00196305,2); 11201 mcs
select buybtcR(700.78,0.00913356,2);22160 mcs select sellbtcR(42.29,0.00914930,2); 22007 mcs
select buybtcR(782.88,0.00190901,1);11078 mcs select sellbtcR(585.37,0.00329407,1); 11190 mcs
select buybtcR(547.61,0.00391641,1);11045 mcs select sellbtcR(21.15,0.00649772,2); 11123 mcs
select buybtcR(266.02,0.00375255,1);11229 mcs select sellbtcR(676.89,0.00164506,1); 11248 mcs
select buybtcR(675.64,0.00207455,3);11109 mcs select sellbtcR(871.95,0.00921576,3); 11065 mcs
select buybtcR(785.30,0.00054354,2);177927 mcs select sellbtcR(700.23,0.00991648,2); 11193 mcs
select buybtcR(891.13,0.00927551,3);22193 mcs select sellbtcR(220.54,0.00568675,1); 22072 mcs
select buybtcR(612.18,0.00840720,1);11016 mcs select sellbtcR(261.95,0.00297831,2); 11230 mcs
select buybtcR(637.21,0.00190780,1);11089 mcs select sellbtcR(801.72,0.00492443,2); 11151 mcs

вот последний ордер из 20 тыс исполнился за 0.11 сек
в следующий раз запущу 100 копий приложения для тестирования, посмотреть не будет ли ерорлоков БД


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 11, 2020, 12:34:07 PM
А что именно делают эти селекты?
Там же еще и апдейты и инсерты должны быть...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on January 11, 2020, 06:03:17 PM
А что именно делают эти селекты?
Там же еще и апдейты и инсерты должны быть...

это функция, которая реализует алгоритм биржевой торговли. остается только вывести таблицы) балансы меняются автоматически, тк тоже в таблицах

все внутри БД


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Balthazar on January 11, 2020, 06:20:44 PM
А что именно делают эти селекты?
Там же еще и апдейты и инсерты должны быть...
Функции вызываются обычно селектом, если более сложной логики не нужно. А внутри функций может быть что угодно, хоть многотомник на питоне.

Любителям ноды по душе придется модуль plv8 (https://github.com/plv8/plv8). А так, помимо родного plpgsql, поддерживается с полсотни всяких язычков, включая никому не нужные.

все внутри БД
Одна беда есть только, с масштабированием. Использование хранимых процедур автоматически создает большой геморрой, когда возникнет желание поднять производительность с помощью репликации и балансирования нагрузки. Чтобы такого не было, надо в самих процедурах предусмотреть работу с базой, недоступной на запись.

Для опенсорс проекта это всё избыточно, наверно... Кому нужен энтерпрайз - сам разработает.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on January 11, 2020, 08:41:21 PM
Энтерпрайз).... может кто-то я хочет Postgre форкнуть))) предыдущий за него топил)))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on January 12, 2020, 06:59:02 PM
А что именно делают эти селекты?
Там же еще и апдейты и инсерты должны быть...
Функции вызываются обычно селектом, если более сложной логики не нужно. А внутри функций может быть что угодно, хоть многотомник на питоне.

Далеко не все системы управления базами данных поддерживают вызовы функций селектом. Насколько я знаю, SQLite, которая используется в этой open-source бирже, точно не поддерживает такие вызовы из запросов.

Скорее всего, kzv имел в виду стандартные команды SQL (https://www.w3schools.com/sql/):
1) select * from table
2) insert into *
3) update * where

Чтобы вести активные торги между достаточно большим количеством пользователей, ордера на покупки или продажу должны быстро создаваться, показываться и исполняться на бирже. Под "созданием" понимается добавление новой строки в таблицу базы данных (командой INSERT), под "показом" понимается считывание данных из базы (командой SELECT), под "исполнением" понимается изменение поля "статус" в строке (командой UPDATE). Также ещё разумно будет предусмотреть удаление ордера из таблицы (командой DELETE), для этого действия тоже требуется некоторое время.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Balthazar on January 15, 2020, 08:47:21 PM
Речь идёт конкретно о постгресе, и в нем функции писать хоть на PHP. И можно хоть делитом вызывать, как и в любой СУБД, следующей стандарту SQL.

Далеко не все системы управления базами данных поддерживают вызовы функций селектом. Насколько я знаю, SQLite, которая используется в этой open-source бирже, точно не поддерживает такие вызовы из запросов.
Плохо известно.

create table test(ID, data);
insert into test(ID, data) values (1, x'0dfeed');
delete from test where lower(hex(data)) = '0deed';

Единственное отличие sqlite от "взрослых" СУБД в том, что у неё есть только встроенные функции и нет родного языка для написания новых функций. Однако, во многих случаях можно писать функции на том же языке, на котором пишется приложение, использующее sqlite. Для этого в api присутствуют функции sqlite3_create_function и sqlite3_create_window_function. При разработке на c/c++ не составляет проблем определить функцию, которой можно будет пользоваться в запросах, в sqlite для .Net присутствует аналогичная функциональность. То же верно и для модулей к иным средам и средствам разработки, однако node-sqlite в их число не входит. Если сильно надо, то можно написать расширение на c++ или использовать другой модуль sqlite, их для ноды много.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on January 21, 2020, 02:39:41 AM
Единственное отличие sqlite от "взрослых" СУБД в том, что у неё есть только встроенные функции и нет родного языка для написания новых функций. Однако, во многих случаях можно писать функции на том же языке, на котором пишется приложение, использующее sqlite. Для этого в api присутствуют функции sqlite3_create_function и sqlite3_create_window_function. При разработке на c/c++ не составляет проблем определить функцию, которой можно будет пользоваться в запросах, в sqlite для .Net присутствует аналогичная функциональность. То же верно и для модулей к иным средам и средствам разработки, однако node-sqlite в их число не входит. Если сильно надо, то можно написать расширение на c++ или использовать другой модуль sqlite, их для ноды много.

Да, верно. Эта, на первый взгляд, простая система управления базами данных тоже поддерживает создание и использование дополнительных нестандартных функций в SQL-запросах:
https://sqlite.org/c3ref/create_function.html

Исходя из представленной документации, в интерфейсе SQLite можно на языке C/C++ написать аналогичные функции buybtcR() и sellbtcR() и задать пойнтеры на них в соотвествующих параметрах xFunc, xStep и xFinal. Про другие языки программирования ничего не сказано.

Оказывается, SQLite не такой уж и Лайт. :)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Balthazar on January 21, 2020, 03:46:17 AM
Про другие языки программирования ничего не сказано.
Это на совести разработчиков модулей. Если речь о ноде, то при использовании этого модуля (https://www.npmjs.com/package/better-sqlite3), к примеру, можно писать функции на яваскрипте (https://github.com/JoshuaWise/better-sqlite3/blob/master/docs/api.md#functionname-options-function---this). Но сначала придется переписать весь зависимый код в приложении, вряд ли kzv будет этим заниматься.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: dzyk on January 23, 2020, 12:30:27 PM
Вручную запустил 10 экземпляров приложения-тестировщика. Локов не было.
Функции написаны на дефолтном языке. Функция купли или продажи содержит всего 250 строк включая пробелы и комментарии и другие артефакты для отладки



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 23, 2020, 02:11:38 PM
У меня обработка ордера это многоэтапная процедура.

1. Добавление ордера (https://github.com/3s3s/opentrade/blob/master/server/modules/users/orders.js#L140)
Проверить токен доступа для пользователя
Проверить валидность запроса от веб интерфестайса
Проверить: не заблокированы ли коины для ордера
Проверить баланс пользователя
Если с балансом пользователя что-то не так, по привести его в соответствие с блокчейном и историей оредеров (https://github.com/3s3s/opentrade/blob/master/server/modules/users/orders.js#L334)
Добавить ордер в таблицу
Еще раз проверить баланс пользователя.

2. Матчинг (https://github.com/3s3s/opentrade/blob/master/server/modules/users/orders.js#L402) орера по какой-то монете
Блокирование монеты для торгов
Получение двух перекрывающихся по цене ордеров
Блокирование ордеров для отмены
Блокирование пользователей в ордерах для торгов
Обновление ордеров (https://github.com/3s3s/opentrade/blob/master/server/modules/users/orders.js#L484)
Обновление балансов пользователей ордеров
Обновление балансов по комиссиям донаторов и рефералов (https://github.com/3s3s/opentrade/blob/master/server/modules/users/orders.js#L559)
Обновление истории торгов
Разблокирование всех кого ранее блокировал

То есть пока исполняется один ордер по какой-то монете, все остальные ордера по этой монете и все остальные ордера двух пользователей которые участвуют в обмене - просто курят в сторонке.
Довольно топорно конечно, но у меня не так много денег чтобы кормить хакеров которые с удовольствием пользуются любыми багами в открытом коде. Лучше пусть помедленней, но с перестраховками.



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Mr.Elf on January 23, 2020, 02:56:51 PM
Ребята мне нужна подсказка, возможно это банальный вопрос, но у меня возникла такая ошибка при запуске движка биржи:

SSL Proxy listening on port 443
events.js:180
      throw er; // Unhandled 'error' event
      ^
Error: connect ECONNREFUSED IP:40545
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1056:14)

Emitted 'error' event at:
    at ClientRequest.<anonymous> (/home/opentrade/node_modules/ws/lib/websocket.js:554:15)
    at ClientRequest.emit (events.js:203:13)
    at Socket.socketErrorListener (_http_client.js:402:9)
    at Socket.emit (events.js:203:13)
    at emitErrorNT (internal/streams/destroy.js:91:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
    at processTicksAndRejections (internal/process/task_queues.js:77:11) {
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: 'IP',
  port: 40545
}


Движок c офф. репозитория запускаю на Ubuntu 18.04 LTS, все зависимости node установились без ошибок.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 23, 2020, 03:08:04 PM
У вас сервер базы данных не работает.
Следуйте инструкциям на гитхабе

Code:
cd ~/opentrade/databaseServer
[sudo] forever start main.js
cd ~/opentrade/accountsserver
git checkout master
[sudo] forever start main.js
cd  ~/opentrade/server
[sudo] forever start main.js


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Mr.Elf on January 26, 2020, 02:40:31 PM
Новая ошибка, запускаю движок совместно с Apache2 для роботы с доменом

Apache2 настроен по этой инструкции 
https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-18-04

Зависимости для движка биржи по этой:
https://github.com/UbuntuEvangelist/opentrade

Запускаю этой командой и ошибка:
     
root@opentrade:/var/www/opentrade/server# node main.js
/var/www/opentrade/node_modules/ws/lib/websocket.js:347
      ...options
      ^^^

SyntaxError: Unexpected token ...
    at createScript (vm.js:74:10)
    at Object.runInThisContext (vm.js:116:10)
    at Module._compile (module.js:533:28)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/var/www/opentrade/node_modules/ws/index.js:3:19)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: progof on January 28, 2020, 03:15:11 PM
KZV, на вашей бирже есть биткоин и вес его блокейна +\- 300 ГБ и с каждым дней вес растет. Как вы решили эту проблему? Не думаю что у вас выделенный сервер с полным блокчейном битка.

PS: можете мне ответить в лс :)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 28, 2020, 04:56:05 PM
> Mr.Elf
Скорее всего у вас старая версия node.js
если бы вы все делали по моей инструкции с гитхаба, то установили бы версию 12.6.0
Проверить версию можно командой
Code:
node -v
Если версия неправильная, то введите команды
Code:
nvm install 12.6.0
nvm use 12.6.0

>progof
Для биржи я держу два выделенных сервера и один виртуальный.
Один выделенный для базы данных, другой выделенный для демонов монет, виртуальный для бэкапов.
На любой из выделенных у меня легко влезет хоть пять полных блокчейнов биткоина, но я так не делаю ибо в битке есть команда prune. С этой командой блокчейн биткоина у меня весит около 3 гигов.
У большинства нормальных форков эта команда тоже есть.
Из нормальных форков этой команды нет у догов и приходится хранить весь из сучий блокчейн целиком ))
У всяких шитков на конструкторах этой команды может не быть, но там размер блокчейна и не превысит никогда одного гигабайта...


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: progof on January 28, 2020, 09:16:58 PM
Разобрался как добавлять фиатный валюты, но не могу понять как с ними работать и пополнять. KZV можете не много рассказать как работать с этой кухней))


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 29, 2020, 06:08:21 AM
Ввод вывод фиата возможен только через купоны (коды) биржи. Сделать купон можно из любой валюты в кошельке, погасить купон можно там же. Купить/продать купоны на бирже нельзя, это типа внебиржевой актив.
Я планировал добавить прямой ввод/вывод фиата через payer, там все довольно просто. Но меня что-то сдерживает внутренняя чуйка...
Пока на бирже нет фиата, биржа ничем не отличается от онлайн игры с игровыми токенами. Как только там появится фиат, биржей заинтересуются регуляторы которых будет нельзя игнорировать. То есть вслед за настоящим вводом/выводом фиата, практически сразу, по независящим от меня причинам, последует KYC, AML и все остальные "прелести". 


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: progof on January 29, 2020, 05:04:31 PM
KZV, спасибо за объяснение и предыдущие ответы, запустил последнюю версию движка, но когда запускаю еще демон битка с обрезанным блокчейном - то биржа вылетает и сервер говорит что ему не достаточно памяти. Хотя в df -h cвободно 18 из 25 ГБ, использую Ubuntu 18.04 LTS 25 SSD 1 RAM


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 29, 2020, 06:23:13 PM
KZV, спасибо за объяснение и предыдущие ответы, запустил последнюю версию движка, но когда запускаю еще демон битка с обрезанным блокчейном - то биржа вылетает и сервер говорит что ему не достаточно памяти. Хотя в df -h cвободно 18 из 25 ГБ, использую Ubuntu 18.04 LTS 25 SSD 1 RAM

Биржа (которая на гитхабе) это три независимых сервера: сервер аккаунтов, сервер базы данных, торговый сервер.
Когда вы говорите "биржа вылетает", то не совсем ясно: вылетают все три сервера одновременно?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: progof on January 29, 2020, 07:07:21 PM
KZV, спасибо за объяснение и предыдущие ответы, запустил последнюю версию движка, но когда запускаю еще демон битка с обрезанным блокчейном - то биржа вылетает и сервер говорит что ему не достаточно памяти. Хотя в df -h cвободно 18 из 25 ГБ, использую Ubuntu 18.04 LTS 25 SSD 1 RAM

Биржа (которая на гитхабе) это три независимых сервера: сервер аккаунтов, сервер базы данных, торговый сервер.
Когда вы говорите "биржа вылетает", то не совсем ясно: вылетают все три сервера одновременно?


В моём случае это три сервера которые крутятся на одной машине + демон биткоина


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on January 29, 2020, 07:26:16 PM
В моём случае это три сервера которые крутятся на одной машине + демон биткоина

И все вместе разом вылетает?
У меня не вылетало даже на VDS с 4 гб памяти (+4 гб swap). Даже не знаю, чем тут могу помочь... Попробуйте на другом сервере?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on February 05, 2020, 07:44:50 PM
Всем привет! Скажите алгоритм торгов правильно работает в соответствии с правилами бирж с прямыми сделками?
Вот че у меня получается

1) Беру и искуственно покупаю лонги за марикоины не по лучшему предложению а по худшему для себя
https://d.radikal.ru/d10/2002/46/30a682922dd6t.jpg

2) то есть вместо цены 0.05 беру цену 0.1
https://a.radikal.ru/a36/2002/98/5abb4960cbabt.jpg

3) После закрытия ордера вроде все норм: минус 100 МС,  плюс 1000 лонг
https://a.radikal.ru/a13/2002/ea/e62d0168b3ect.jpg

Но! Сделка закрывалась как и должна по лучшей цене, - по 0.05, то есть тот кто продавал лонги получил свои 50 марикоинов и потратил 1000 лонгов (у него точно все норм)

и 50 марикоинов испарилось!

Может так и должно быть? также на других биржах с прямыми сделками? Кто знает скажите. Прошу разъяснить. может так и должно быть типа не косячь - будь внимательным!



Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on February 06, 2020, 08:30:09 AM
Не это косяк образовался после рефакторинга кода

потестил эту https://trade.crypton.cf/market/LNG-MC

здесь все правильно. сделки закрываются по лучшим ордерам без исчезновения валюты. Ищите ошибку!
PS. И не говорите спасибо)


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on February 06, 2020, 02:32:13 PM
PS. И не говорите спасибо)

Ну от чего же? Дайте ваш Мэрикоин адрес, переведу 1000 МС за подробное и правильное описание бага. Баг исправил, можете проверить. На будущее: лучше подобное обсуждать через письмо в суппорт биржи.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on February 06, 2020, 09:52:03 PM
PS. И не говорите спасибо)

Ну от чего же? Дайте ваш Мэрикоин адрес, переведу 1000 МС за подробное и правильное описание бага. Баг исправил, можете проверить. На будущее: лучше подобное обсуждать через письмо в суппорт биржи.

Ура!!! MNmrwyTJKKdSssSTqGYmpDFBACDuDvtnTk


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on February 08, 2020, 12:31:17 AM
Еще в Ask должна попадать лучшая цена (то есть наименьшая) из sell-ордеров (Lowest Ask)
А в Bid должна попадать лучшая цена (то есть наибольшая) из buy-ордеров (Highest Bid)
Англоязычная аудитория привыкла что Ask всегда больше Bid. У вас перепутано.
Нужно вот как здесь https://crex24.com/exchange/LTC-BTC

MC: MNmrwyTJKKdSssSTqGYmpDFBACDuDvtnTk  :P


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on February 08, 2020, 12:33:03 PM
Вроде все как у всех

https://i.imgur.com/gwh4WAZ.jpg


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: SteepPepper on February 09, 2020, 09:35:02 AM
не с ордерами все ок. не ок с полями отображающими лучшее предложение и спрос на данный момент

https://c.radikal.ru/c21/2002/79/b169cd3193f5.png (https://radikal.ru)


Это формально, конечно, но многие трейдеры в уме спрэд вычисляют и их смущает это.

https://a.radikal.ru/a34/2002/d2/b90c765ba21ft.jpg (https://radikal.ru/big/vgq94hnmq3cne)




Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: a.stoev on October 03, 2020, 04:39:01 PM
Quote from: kzv
Вау! Крутизна! Респект ув. kzv 

А что бросилось в глаза, притормаживает биржанька малёха, призадумывается, показать график, сменить монету и тд. около 3-5 сек думает, много очень, нужно 0.5-1сек, словно что то с БД тащится, хотя вроде не должно, но это мелочи, хотя напрягает.

Затем ликвида мало, нужно как то решить проблему ликвидности, вплоть до вменяемого фейка, нет в этом ничего криминального, хотя бы свой щиток нужно неистово торговать, так чтоб пар шел и искры летели, а на других парах хотя бы в режиме ММ поставить ордера на +-10% вокруг спреда и активность должна быть, типа ХФТшники орудуют, манипулируют млять...  ;D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on October 03, 2020, 07:14:03 PM
Quote from: kzv
Вау! Крутизна! Респект ув. kzv  

А что бросилось в глаза, притормаживает биржанька малёха, призадумывается, показать график, сменить монету и тд. около 3-5 сек думает, много очень, нужно 0.5-1сек, словно что то с БД тащится, хотя вроде не должно, но это мелочи, хотя напрягает.

Затем ликвида мало, нужно как то решить проблему ликвидности, вплоть до вменяемого фейка, нет в этом ничего криминального, хотя бы свой щиток нужно неистово торговать, так чтоб пар шел и искры летели, а на других парах хотя бы в режиме ММ поставить ордера на +-10% вокруг спреда и активность должна быть, типа ХФТшники орудуют, манипулируют млять...  ;D

Прочитай название раздела. Может она у него на утюге крутится, вот и тормозит. Разворачивай на полноценном сервере и верти как хочешь. Какое отношение ликвидность имеет к коду биржи?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: A-Bolt on October 03, 2020, 09:03:32 PM
при чем тут код, где в названии раздела КОД?

Вообще-то, Оpen Source подразумевает код, а не сервис.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: fxpc on October 03, 2020, 09:35:56 PM
Прочитай название раздела. Может она у него на утюге крутится, вот и тормозит. Разворачивай на полноценном сервере и верти как хочешь. Какое блять отношение ликвидность имеет к коду биржи?
Может на утюге, а может код тормозной, или технология тормозная. Это же не продажу биржа? Я так понял её делали чтобы торговали на ней люди, а не как курсовая в универе, при чем тут код, где в названии раздела КОД?

Код лежит на гитхабе. Бери и проверяй или не бери. На какую продажу? Биржа выложена бесплатно. Если код тормозной, то блесни умом и перепиши. Где в названии раздела Кодеры слово код?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: a.stoev on October 04, 2020, 09:26:42 AM
Вообще-то, Оpen Source подразумевает код, а не сервис.
Код лежит на гитхабе. Бери и проверяй или не бери.
Да всё - супер, топикстартер - молодец, код вполне вменяемый, я даже не стану пенять на выбор технологии бекенда(node.js), это дело вскуса, хотя я бы конечно взял бы asp.net.core. Но вот база данных юзается явно не кашерно. На самом деле кроме регистрации и ввода-вывода, наиболее существенно писать ордерлог(поток ордеров от клиентов) и запросов ввода\вывода, по сути это вся важная информация по которой можно восстановить состояние биржи в любой момент времени, остальное производно. Ордербук, сделки, свечки, всё это производная инфа, актуальная часть которой для юзера берётся из оперативки, например последние чарты, сделки и тд. Это всё конечно пишется в БД для надежности но берётся с оперативки, ядро должно функционировать в норме без обращений к БД.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Balthazar on April 14, 2021, 08:23:58 PM
А в репозитории актуальный код? Или просто какой-то срез из прошлого? А то вижу, что в нем нет фич, которые на multicoins явно присутствуют.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on April 15, 2021, 05:42:09 AM
А в репозитории актуальный код? Или просто какой-то срез из прошлого? А то вижу, что в нем нет фич, которые на multicoins явно присутствуют.
Актуальный опенсорс поддерживаю только для сервера аккаунтов. Если получаю сообщения о критических для безопасности багов, то делаю фиксы вопенсорс коде.
Все остальное актуальное в закрытом репозитории.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: valsha on April 15, 2021, 12:18:36 PM
Все остальное актуальное в закрытом репозитории.
Закрытый только для себя или в продаже тоже есть?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on April 26, 2021, 06:28:44 AM
Все остальное актуальное в закрытом репозитории.
Закрытый только для себя или в продаже тоже есть?
Только для себя. Продажи не планируются.
Небольшой опыт продаж показал, что без полноценной техподдержки со стороны автора с кодом никто справиться не может ((


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on April 26, 2021, 11:06:28 AM
...
Небольшой опыт продаж показал, что без полноценной техподдержки со стороны автора с кодом никто справиться не может ((

Это всё из за обилия комментариев, те кто потом смотрят в эти исходиники путаются в них  ;D

Вот пример отличного комментария  ;)
Quote
//require('./reqHandler.js').handle(app, g_constants.WEB_SOCKETS);

/*process.on('uncaughtException', function (err) {
  console.error(err.stack);
  utils.balance_log(err.stack+"\n");
  console.log("Node NOT Exiting...");
});*/
взято тут https://github.com/3s3s/opentrade/blob/master/server/main.js

Это конечно шутка  ::) но сымсл думаю понятен...
В нормальном проекте на продажу есть не только код с комментариями но и схема UML + блок схема и прочие словесные описания алгоритмов.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on April 26, 2021, 02:44:55 PM
Проект никогда не предполагался быть на продажу. Я как дурак надеялся, что идея понравится сообществу программистов и кроме меня там появятся еще разработчики.
По факту, другие программисты коммиты делали только в фронтэнд, а в серверную часть никто так и не подумал залезть. Хотя, справедливости ради сказать, за три года все таки нашелся один единственный человек, который бескорыстно мне показал одну уязвимость. Но большинство все таки предпочитает найденные уязвимости использовать чтобы пиздить мои деньги. Поэтому код сейчас и закрыт наглухо.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: reddish111 on April 26, 2021, 03:45:38 PM
Проект никогда не предполагался быть на продажу. Я как дурак надеялся, что идея понравится сообществу программистов и кроме меня там появятся еще разработчики.
По факту, другие программисты коммиты делали только в фронтэнд, а в серверную часть никто так и не подумал залезть. Хотя, справедливости ради сказать, за три года все таки нашелся один единственный человек, который бескорыстно мне показал одну уязвимость. Но большинство все таки предпочитает найденные уязвимости использовать чтобы пиздить мои деньги. Поэтому код сейчас и закрыт наглухо.

Мне может и интересно посмотреть как оно устроено но я на python последнее время подсел и js конечно читать могу, и писать даже но не так оно интересно...
И когда смотришь чужой код сразу видишь кучу непонятно чего непонятно зачем, и что б хоть что то понять нужно убить дня 3 вникая в структуры и зависимости.
Нормально было б читать не код а общий алгоритм, а потом уже смотерть реализацию алгоритма в виде кода.
Чужие коды без коментариев это очень не очень.

И open source движки были и до этого, но на js вроде не было... но как я понимаю у js с рождения проблема с числами, в python это решается через decimal потому что даже float не даёт нужной точности, может через это и тырят средства?

И вот есть waves и bitshares у них же обменник есть прям из коробки.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: btc2xmr on April 27, 2021, 07:32:06 PM
Но большинство все таки предпочитает найденные уязвимости использовать чтобы пиздить мои деньги.

Здравствуйте kzv.

Если не секрет - расскажите в общих чертах про уже закрытые вами уязвимости, каким образом вас взламывали?
Сам принимаю участие в создании небольшой биржи, интересно все что связано с безопасностью таких проектов.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on May 08, 2021, 07:49:04 PM
Но большинство все таки предпочитает найденные уязвимости использовать чтобы пиздить мои деньги.

Здравствуйте kzv.

Если не секрет - расскажите в общих чертах про уже закрытые вами уязвимости, каким образом вас взламывали?
Сам принимаю участие в создании небольшой биржи, интересно все что связано с безопасностью таких проектов.


На лично я больше всего потерял, так это на вере в крутость программистов биткоина.
Я не стал "изобретать велосипед" и пользоваться сторонними библиотеками чтобы генерировать новые адреса для депозитов, а отдал это на откуп RPC биткоина, за что поплатился кучей бабла...
Суть в том, что до недавнего времени (во многих форках, в том числе в догах, это все еще не пофиксили), алгоритм генерации новых адресов в демонах монет был следующий: генерируется пул из где-то 1000 адресов, которые где-то там запоминаются и выдаются по одному при запросе getnewaddress.
Все замечательно если не учитывать тот факт, что какой-то умник, в какой-то ранней версии битка, сделал эти вновь сгенерированные, но еще не выданные адреса, доступными для сдачи от транзакций!!!
К чему это говно привело на бирже догадаться думаю не сложно:
1. Кто-то делает вывод средств с биржевого баланса, сдача капает на адрес которого еще нигде никто не видел, но который есть в пуле для выдачи.
2. Новый юзер регает аккаунт, заходит в кошелек, спрашивает адрес для депозита на биржу, ему выдается "новенький" адрес на который ранее уже упала сдача!
3. Радостный юзер считает упавшие на его кошель бабки своими и тут же их выводит.

В пункте 3 были еще и более продвинутые козлы, которые выводили не сразу, а сначала продавали эти монеты своему альтернативному аккаунту по цене типа 13 догов за 0.004 битка, а потом уже выводили. Когда я таких успевал брать за жопу, то начинались возмущения и даже угрозы: "мол я ни я, жопа не моя, кто-то продал, я честно  купил, теперь вывожу - давай сюда мои бабки быстро суко!!!111"


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: btc2xmr on May 09, 2021, 04:14:30 PM
Все замечательно если не учитывать тот факт, что какой-то умник, в какой-то ранней версии битка, сделал эти вновь сгенерированные, но еще не выданные адреса, доступными для сдачи от транзакций!!!

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Coin-1 on May 21, 2021, 08:57:01 PM
3. Радостный юзер считает упавшие на его кошель бабки своими и тут же их выводит.

Может, те трейдеры полагали, что это "вэлком бонус" от Вашей криптовалютной биржи. Иногда некоторые торговые площадки проводят аирдропы на балансы своих клиентов и дарят монеты пользователям в целях привлечения новых трейдеров. Размеры этих бонусов, конечно, небольшие, хотя я не знаю, о каких суммах сдачи в Bitcoin идёт речь в Вашем случае.

Хорошо, что Вам удалось вовремя выявить серьёзный недостаток в организации серверной части и бэкэнда в целом. Наверно, есть смысл упомянуть об этом баге в документации к opensource-версии Вашей биржи на Github, чтобы другие не повторяли подобных ошибок и не теряли свои деньги.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: gov on June 05, 2021, 04:31:26 PM
Quote
https://trade.multicoins.org/api/v1/account/withdraw?apikey=API_KEY&nonce=NONCE&currency=MC&quantity=20.40&address=MC_ADDRESS
Я конечно не вебдизайнер красноглазик, но в строке запроса пулять всякие секреты вроде как не рекомендуется, хацкеры могут потибзить, лучше в теле запроса джисоном, там оно шифруется, а строка запроса нет, то есть ваш провайдер или сисадмин видит ваши апи ключи и может вывести баблишко ;)

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


PS А чего график такой убогий? График на криптобирже - очень важная состовляющая, лицо биржи, разве трейдингвью прикрутить сложно?

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: hostervps on June 06, 2021, 01:25:18 AM
Интересная идея

я программист c++ , python


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on June 06, 2021, 07:53:01 AM
3. Радостный юзер считает упавшие на его кошель бабки своими и тут же их выводит.

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

Наверно, есть смысл упомянуть об этом баге в документации к opensource-версии Вашей биржи на Github, чтобы другие не повторяли подобных ошибок и не теряли свои деньги.
Этот баг был в сервере аккаунтов, который все еще с открытым кодом. Я этот баг там пофиксил, так что не вижу смысла о нем говорить где-то еще кроме форума.

Quote
в строке запроса пулять всякие секреты вроде как не рекомендуется, хацкеры могут потибзить, лучше в теле запроса джисоном, там оно шифруется, а строка запроса нет
Строка запроса тоже шифруется ибо там в начале кто-то написал "https://"

Quote
Подсмотрите лучше как сделали это в биттрексе
Именно от туда все и слямзено. Посмотрите:

https://i.imgur.com/zyKACQa.jpg

Quote
разве трейдингвью прикрутить сложно?
Когда я начинал разработку, у трейдингвью не было бесплатной версии. Поэтому взял гугловскую библиотеку и подпилил напильником. Сейчас в принципе можно и трейдингвью прикрутить, но не могу времени на это найти пока.

Quote
Ну и ботов поставить маркетмейкерных
Запускаю иногда, потом останавливаю. Мешают они когда что-то тестировать надо.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: gov on June 06, 2021, 09:04:44 AM

Quote
в строке запроса пулять всякие секреты вроде как не рекомендуется, хацкеры могут потибзить, лучше в теле запроса джисоном, там оно шифруется, а строка запроса нет
Строка запроса тоже шифруется ибо там в начале кто-то написал "https://"


Вы правы оказывается, но всё же это не очень хорошая практика сейчас, вот почитайте:

Quote
https://stackoverflow.com/questions/893959/if-you-use-https-will-your-url-params-will-be-safe-from-sniffing (https://stackoverflow.com/questions/893959/if-you-use-https-will-your-url-params-will-be-safe-from-sniffing)

 So yes. The data contained in the URL query on an HTTPS connection is encrypted. However it is very poor practice to include such sensitive data as a password in a 'GET' request. While it cannot be intercepted, the data would be logged in plaintext server logs on the receiving HTTPS server, and quite possibly also in browser history. It is probably also available to browser plugins and possibly even other applications on the client computer. At most a HTTPS URL could be reasonably allowed to include a session ID or similar non-reusable variable. It should NEVER contain static authentication tokens.


В битрексе в первой версии действительно были геты на действия с апиключами в параметрах, это видимо естественный эволюционный путь, но в текущей(вроде 3й) там уже посты с джисоным телом и подписью ключом, без самого ключа, хотя бы для психологического умиротворения  клиентов)))



ЗЫ А вообще очень классный проект, с учетом что как говорится "в одно рыло",  было бы многим интересно услышать основные грабли на которые наступили походу, на подобии тех с генератором адресов, как Вас хакали, как оборонялись и тп. На хабре можно было бы это запостить, было бы вдохновляющие,  так как биржа посерьёзнее проект сосцети(смотря какой конечно), как для одного чела это очень круто. Код закрыт, думаю публикация уже найденных уязвимостей и ошибкок на пути, не навредят, но будет другим очень интересно, а Вам реклама))


ЗЗЫ Фишку бирже ещё бы какую то, эксклюзивчику, бороться с бананом и фиником за ликвидность сложно, на них работает обратная связь(больше клиентов => ещё больше клиентов), маленькая биржа может выжить только освоив\создав уникальную нишу, берём фондовые рынки, тибзим от туда что то вкусное и имплементируем у себя. Большие площадки в таких делах инертны, у них баблокосилка, страшно испортить, а Вам наоборот нужно заявить о себе.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: HereticalSmile on June 29, 2022, 09:46:17 AM


ЗЫ А вообще очень классный проект, с учетом что как говорится "в одно рыло",  было бы многим интересно услышать основные грабли на которые наступили походу, на подобии тех с генератором адресов, как Вас хакали, как оборонялись и тп. На хабре можно было бы это запостить, было бы вдохновляющие,  так как биржа посерьёзнее проект сосцети(смотря какой конечно), как для одного чела это очень круто. Код закрыт, думаю публикация уже найденных уязвимостей и ошибкок на пути, не навредят, но будет другим очень интересно, а Вам реклама))

Год назад перестало здесь дальше обсуждаться.

Почему, интересно?  Знает кто.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: klarki on July 10, 2022, 12:19:29 AM


Почему, интересно?  Знает кто.


Вы можете задать свой вопрос непосредственно в чате на бирже:

https://i.ibb.co/zsx0G7Y/2022-07-10-03-06-08.png (https://ibb.co/hs9tDZj)

Но судя по "No data available in table" и нулевой активности нас форуме marycoin, то проект как минимум стоит на паузе. Монета проекта походу тоже сдохла.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: kzv on July 14, 2022, 09:12:05 AM


ЗЫ А вообще очень классный проект, с учетом что как говорится "в одно рыло",  было бы многим интересно услышать основные грабли на которые наступили походу, на подобии тех с генератором адресов, как Вас хакали, как оборонялись и тп. На хабре можно было бы это запостить, было бы вдохновляющие,  так как биржа посерьёзнее проект сосцети(смотря какой конечно), как для одного чела это очень круто. Код закрыт, думаю публикация уже найденных уязвимостей и ошибкок на пути, не навредят, но будет другим очень интересно, а Вам реклама))

Год назад перестало здесь дальше обсуждаться.

Почему, интересно?  Знает кто.

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: oPavlov on August 22, 2022, 10:55:22 PM
Глянул код, к сожалению, выглядит он очень грустно. Вообще я бы может и вписался бы во что-то подобное, но тут как-то печально.
Однако любопытен вопрос - если вот такое вот, но на более актуально стеке ноды, производительное и эффективное - а как оное возможно монетизировать?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ~DefaultTrust on August 23, 2022, 08:57:15 AM
Глянул код, к сожалению, выглядит он очень грустно.
Критикуя предлагай.
Покажи свой проект на гитхабе, который набрал хотя бы сотню форков.

Однако любопытен вопрос - если вот такое вот, но на более актуально стеке ноды, производительное и эффективное - а как оное возможно монетизировать?
Как монетизировать собственную криптовалютную биржу?
Вот уж действительно - любопытный вопрос ;D ;D ;D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: oPavlov on August 23, 2022, 12:10:51 PM
Quote
Как монетизировать собственную криптовалютную биржу?
Вот уж действительно - любопытный вопрос ;D ;D ;D

Звучит странно, да... но на первый взгляд. Ведь тут не "давайте сделаем ещё одну биржу", а всё же про некоторый опенсорс. Так то код это хорошо, но вот деньги принесут туда где уже много денег, что популярно и на слуху, где есть объем, ну и, возможно, какие-то новые интересные фичи.
А код это другое, написать хороший движок биржи вообще достаточно далеко от раскрутить просто ещё одну биржу. Потому здесь не "монетизировать собственную криптовалютную биржу", а сам код.
Есть пример с библиотекой ccxt, там огромное количество интеграций и всё бесплатно. Но http api. Хочешь webSocket - плати подписку. Но вот в случае с биржей - уже не очевидно, ведь людям не нужно много бирж - нужны объемы, стабильность, кому-то анонимность, кому-то автоматические стоп-лоссы, но в целом, худо бедно, топовые биржи уже справляются, и CEX и DEX, а если хочется плюшек - есть всякие 3commas с ботами и прочие ребята.

Потому вопрос всё ещё актуален - а как монетизировать опен-сорс код биржи?

Quote
Критикуя предлагай.

Ну как минимум убрать огромное количество закомментированного кода, переписать с процедур на ООП или ФП, взять энтерпрайзный фреймворк типа NestJS, ну и всё же у нас биржа - не хочется продолбаться на типах данных, а значит TypeScript и входную валидацию данных с конвертацией типов по жестким схемам. И уровень проекта резко вырастет.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: echogomodrill on January 10, 2023, 08:08:40 AM
закинул на эту биржу догов, потом не смог их вытянуть обратно(300 уе), писал в саппорт , но там промычали чтото нечленораздельное, забил на неудах


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ~DefaultTrust on January 10, 2023, 10:20:15 AM
закинул на эту биржу догов, потом не смог их вытянуть обратно(300 уе), писал в саппорт , но там промычали чтото нечленораздельное, забил на неудах
Пруфы?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: echogomodrill on January 10, 2023, 11:29:07 AM
закинул на эту биржу догов, потом не смог их вытянуть обратно(300 уе), писал в саппорт , но там промычали чтото нечленораздельное, забил на неудах
Пруфы?

Пусть поищут в саппорте для sannddik


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: discusstor on July 03, 2023, 12:18:27 AM
закинул на эту биржу догов, потом не смог их вытянуть обратно(300 уе), писал в саппорт , но там промычали чтото нечленораздельное, забил на неудах
без доказательств писать здесь такое глупо, были бы пруфы можно было бы о чем то говорить, дискутировать


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: krasavinivan on July 10, 2023, 05:34:31 AM
закинул на эту биржу догов, потом не смог их вытянуть обратно(300 уе), писал в саппорт , но там промычали чтото нечленораздельное, забил на неудах
Решили что нибудь? скинь хоть скриншоты, чтобы были какие то доказательства


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: two.625 on July 16, 2023, 10:46:06 AM
Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти opensource биржу или создать собственную биржу, но постянно тема глохнет.
Причин много, главные:
1. Open Source биржи крайне сложно найти, а те которые есть крайне сложно настроить потому что их разрабы забросили проект.
2. Нет доверия к непонятно кем и непонятно когда написанным биржам.
3. Есть ощущение, что написать качественную биржу с нуля это крайне сложно почти невозможно...

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

Я сформировал в себе устойчивое желание написать собственную централизованную биржу (децентрализованную уже давно написал, но похоже народу это пока не нужно).

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

Итак с чего я думаю начать это выбор инструментов:
1. Основной язык разработки: Node.js
2. База данных sqlite
3. Интерфейс фронтэнда на базе bootstrap 4

Этапы разработки (наброски техзадания)
1. Модуль регистрации пользователей Сделано
2. Чат  Сделано
3. Мультивалютный биржевой кошелек. Сделано
4. Выставление и отмена ордеров Сделано
5. Исполнение перекрывающихся ордеров Сделано
6. АПИ биржи

Тут будет живая версия биржи https://trade.multicoins.org/
Тут исходники https://github.com/3s3s/opentrade

Вопросы добавления новых монет лучше обсуждатtь на другом форуме.
Вот тут правила добавления https://forum.marycoin.org/showthread.php?48-%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D0%B0-%D0%BD%D0%B0-OpenTrade


Топик модерируемый, флуд будет удаляться. Просьба писать только по делу.



Ты что с Урала? На гитхаб есть несколько рабочих бирж с исходным кодом И мне кажется ты несколько забыл про самую важную часть криптовалютной биржи - matching engine  ;D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ~DefaultTrust on July 16, 2023, 08:02:03 PM
Ты что с Урала? На гитхаб есть несколько рабочих бирж с исходным кодом И мне кажется ты несколько забыл про самую важную часть криптовалютной биржи - matching engine  ;D
Ты дату поста, на который типа отвечаешь, не пробовал смотреть? Или тебе лишь бы ляпнуть?


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: two.625 on July 16, 2023, 08:47:34 PM
Ты что с Урала? На гитхаб есть несколько рабочих бирж с исходным кодом И мне кажется ты несколько забыл про самую важную часть криптовалютной биржи - matching engine  ;D
Ты дату поста, на который типа отвечаешь, не пробовал смотреть? Или тебе лишь бы ляпнуть?

Да, смотрел.На github были выложены готовые проекты бирж с открытым исходным кодом - одна точно 6-го марта 2017-го (она до сих пор работает), вторая помоему в августе 2017-го. В репозитории одной из них (которая от марта) даже есть код майнинг пула. До сих пор там валяются. Вы что их за 6 лет так никто и не нашли?  ;D Попробуйте поискать, это бесплатно.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ~DefaultTrust on July 16, 2023, 08:59:55 PM
Ты что с Урала? На гитхаб есть несколько рабочих бирж с исходным кодом И мне кажется ты несколько забыл про самую важную часть криптовалютной биржи - matching engine  ;D
Ты дату поста, на который типа отвечаешь, не пробовал смотреть? Или тебе лишь бы ляпнуть?

Да, смотрел.На github были выложены готовые проекты бирж с открытым исходным кодом - одна точно 6-го марта 2017-го, вторая помоему в августе 2017-го. В репозитории одной из них (которая от марта) даже есть код майнинг пула. До сих пор там валяются. Вы что их за 6 лет так никто и не нашли?  ;D Попробуйте поискать, это бесплатно.

Сперва добейся Выложить на гитхаб что-то с названием "криптобиржа" любой школьник младших классов сможет. Попробуйте этот код запустить у себя на сервере сначала, а потом расскажете что там бесплатно, а что нет.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: two.625 on July 16, 2023, 09:01:34 PM
Ты что с Урала? На гитхаб есть несколько рабочих бирж с исходным кодом И мне кажется ты несколько забыл про самую важную часть криптовалютной биржи - matching engine  ;D
Ты дату поста, на который типа отвечаешь, не пробовал смотреть? Или тебе лишь бы ляпнуть?

Да, смотрел.На github были выложены готовые проекты бирж с открытым исходным кодом - одна точно 6-го марта 2017-го, вторая помоему в августе 2017-го. В репозитории одной из них (которая от марта) даже есть код майнинг пула. До сих пор там валяются. Вы что их за 6 лет так никто и не нашли?  ;D Попробуйте поискать, это бесплатно.

Сперва добейся Выложить на гитхаб что-то с названием "криптобиржа" любой школьник младших классов сможет. Попробуйте этот код запустить у себя на сервере сначала, а потом расскажете что там бесплатно, а что нет.

Биржа, инитиал коммит которой был 6-го марта 2017-го года работает примерно с 2016-го и по сей день. Да все там бесплатно, код полностью открыт. Ну любой школьник конечно не запустит, но студент 2-3го курса - вероятно осилит, если знаком с программированием. А чего добился ты?  ;D

Домен даже обновили в мае  ;D
Updated Date: 2023-05-05T07:30:07Z
Creation Date: 2015-12-23T01:12:17Z


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ~DefaultTrust on July 16, 2023, 09:11:52 PM

Биржа, инитиал коммит которой был 6-го марта 2017-го года работает примерно с 2016-го и по сей день. Да все там бесплатно, код полностью открыт. Ну любой школьник конечно не запустит, но студент 2-3го курса - вероятно осилит, если знаком с программированием. А чего добился ты?  ;D

Домен даже обновили в мае  ;D
Updated Date: 2023-05-05T07:30:07Z
Creation Date: 2015-12-23T01:12:17Z

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: two.625 on July 16, 2023, 09:13:30 PM
Ну давай, покажи мастер-класс. Форкни и запусти эту биржу с нуля у себя на хостинге.

Ее форкнули и форкают все кто не лень с 2017-го. Там только спот, без маржинальной торговли. Но вы тут ребята реально с Урала.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: ~DefaultTrust on July 16, 2023, 09:19:12 PM
Ну давай, покажи мастер-класс. Форкни и запусти эту биржу с нуля у себя на хостинге.

Ее форкнули и форкают все кто не лень с 2017-го. Там только спот, без маржинальной торговли. Но вы тут ребята реально с Урала.
Понятно все с тобой: там какие-то дяди чего-то форкают, а ты тут поумничать вместо них пришел.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: two.625 on July 16, 2023, 09:42:43 PM
Понятно все с тобой: там какие-то дяди чего-то форкают, а ты тут поумничать вместо них пришел.

Форкают студенты. Дяди добавили к этой бирже маржинальную торговлю и risk-engine.

Ну а школьники тут уже 6-ть лет изобретают колесо, но оно все еще у них квадратное  ;D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: neiros on July 17, 2023, 04:29:17 AM

Понятно все с тобой: там какие-то дяди чего-то форкают, а ты тут поумничать вместо них пришел.

Форкают студенты. Дяди добавили к этой бирже маржинальную торговлю и risk-engine.

Ну а школьники тут уже 6-ть лет изобретают колесо, но оно все еще у них квадратное  ;D

Лично мне на подобных дядей насрать ;) - так как в этом плане уже давно никто ничего не изобретает...

https://www.youtube.com/watch?v=I4CFiWu2-64&t=349s


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: mabelezov on July 21, 2023, 12:17:42 PM
Интересно когда нибудь найдется умелец, который сможет все это осуществить


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: two.625 on July 22, 2023, 10:19:50 AM
Интересно когда нибудь найдется умелец, который сможет все это осуществить

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


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: jayabeli on August 01, 2023, 10:54:44 AM
Я как линуксоид поддерживаю вашу идею, но для меня главное чтоб в юридическом плане всё было отлично для самих пользователей, а не как сейчас есть почти на всех биржах.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Ziajenivetyj on September 16, 2023, 11:39:42 AM
Интересно когда нибудь найдется умелец, который сможет все это осуществить

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

Найти готовую биржу мало, нужно осуществить всю задумку, и конечно же сделать грамотный api, удобный интерфейс, провести идеальный маркетинг, а такое далеко не каждому под силу.


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: buy2.625 on September 24, 2023, 01:03:35 PM
Интересно когда нибудь найдется умелец, который сможет все это осуществить

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

Найти готовую биржу мало, нужно осуществить всю задумку, и конечно же сделать грамотный api, удобный интерфейс, провести идеальный маркетинг, а такое далеко не каждому под силу.

Ну ты нашел хотя бы исходный код?  ;D


Title: Re: Давайте создадим с нуля биржу Open Source?
Post by: Saukiyakui on September 25, 2023, 08:04:47 AM
Помнится с парнями свою пытались создать, все норм, но бэк отлетал, так и оставили...