Bitcoin Forum
April 25, 2024, 04:25:41 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 »  All
  Print  
Author Topic: Давайте создадим с нуля биржу Open Source?  (Read 32147 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic. (5 posts by 1+ user deleted.)
kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 03, 2017, 08:57:29 AM
Last edit: April 04, 2018, 09:13:12 AM by kzv
Merited by chimk (6), klarki (3), imhoneer (2), neiros (1), Balthazar (1), Coin-1 (1), dzyk (1), ligor (1), godrain (1), Jubgle Sven (1), sankopolo (1)
 #1

Всем привет!
Периодически в форуме вижу темы, где авторы хотят найти 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


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

OpenTrade - Open Source Cryptocurrency Exchange
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714062341
Hero Member
*
Offline Offline

Posts: 1714062341

View Profile Personal Message (Offline)

Ignore
1714062341
Reply with quote  #2

1714062341
Report to moderator
akira_gold
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
December 03, 2017, 09:47:16 AM
 #2

Кину свои пару монет.
Должно быть разделение фронтэнд/бэкэнд.
Фронтэнд на роде норм - стильно, молодежно. Но должны быть макеты - те на этапе проработки ТЗ должно быть чёткое понимание как выглядит и юзабилити. По православному делаются скрины в фотошопе у дизайнеров - по ним уже верстка итд.
По бэкэнду - бизнеслогику делать на решениях которые подразумевают скорость - с++/go. Бэкенд делается людьми с другии задачами и подходом нежели фронтэндшики. По БД - скулайт это локальная БД, не серверная - использовать как основную для биржи это дич) имхо. Она ведь даже на множественных инзертах тупит)
В общем это я для начала накидал своих мыслей..

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

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 03, 2017, 09:57:22 AM
 #3

Кину свои пару монет.
Должно быть разделение фронтэнд/бэкэнд.
Фронтэнд на роде норм - стильно, молодежно. Но должны быть макеты - те на этапе проработки ТЗ должно быть чёткое понимание как выглядит и юзабилити. По православному делаются скрины в фотошопе у дизайнеров - по ним уже верстка итд.
По бэкэнду - бизнеслогику делать на решениях которые подразумевают скорость - с++/go. Бэкенд делается людьми с другии задачами и подходом нежели фронтэндшики. По БД - скулайт это локальная БД, не серверная - использовать как основную для биржи это дич) имхо. Она ведь даже на множественных инзертах тупит)
В общем это я для начала накидал своих мыслей..

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

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

OpenTrade - Open Source Cryptocurrency Exchange
akira_gold
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
December 03, 2017, 10:19:11 AM
 #4

Lol... Плюсы юзаются почти в любом хайлоде на серверсайде... Про ноду - дело вкуса. Про V8 я как-бы в курсе и он не рвет плюсы от слова совсем, про сетевой стэк - тэсмотри бэнчи. Про скулайт - я думаю ты не понимаешь что говоришь... Представь, что у тебя 10к пользователей онлайн и все работают со скулайтом (поставил орде, что-то пишем в бд) твоя биржа встанет)) причём там транзакции то. Она тупо не предназначена для такого. Про ффмпег - посмотри кто её юзает, сколько её юзают и кто контрибутит. Сравниваешь тёплое с мягким. твой подход имеет право на жизнь, как просто POC. Ещё раз - имхо
kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 03, 2017, 10:32:52 AM
 #5

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.


OpenTrade - Open Source Cryptocurrency Exchange
ChevChelos
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
December 03, 2017, 10:49:17 AM
Last edit: December 03, 2017, 11:02:16 AM by ChevChelos
 #6

Давно пора создать нормальную опен соурс биржу, а то получается одна монополия.
Создавать с самого начала сложно, но имея опен соурс ты понимаешь как всё работает и куда дальше двигаться.
akira_gold
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
December 03, 2017, 11:34:11 AM
 #7

Скулайт встраивания БД. Доступ к ней через твой софт. Я бы не залил деньги на такую архитектуру. Но это на самом деле мелоч не более.
Я бы вообще вэб часть на .net core сделал) по опыту народ с .нет адекватнее)) все дело вкуса.
Вообще это уже не первая тема про биржи - есть в этом потенциал. Можно добавить киллер фичи + обеспечить секурность + дать людям понять что работа надолго - скама не будет. Но в 1 харю не делается. И я останусь при своём -это не опенсорс. Возможно не сразу.
kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 03, 2017, 12:10:08 PM
 #8

Скулайт встраивания БД. Доступ к ней через твой софт. Я бы не залил деньги на такую архитектуру. Но это на самом деле мелоч не более.
Я бы вообще вэб часть на .net core сделал) по опыту народ с .нет адекватнее)) все дело вкуса.
Вообще это уже не первая тема про биржи - есть в этом потенциал. Можно добавить киллер фичи + обеспечить секурность + дать людям понять что работа надолго - скама не будет. Но в 1 харю не делается. И я останусь при своём -это не опенсорс. Возможно не сразу.

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

OpenTrade - Open Source Cryptocurrency Exchange
Coin-1
Legendary
*
Offline Offline

Activity: 2436
Merit: 2169



View Profile
December 03, 2017, 01:24:21 PM
 #9

Представь, что у тебя 10к пользователей онлайн и все работают со скулайтом (поставил орде, что-то пишем в бд) твоя биржа встанет)) причём там транзакции то. Она тупо не предназначена для такого.
Да, соглашусь, только под SQLite не следует затачивать приложение. Лучше реализовать поддержку разных популярных баз данных с открытым исходным кодом (SQLite, MySQL и т.д.). В любом случае, для переноса данных можно экспортировать таблицы в SQL-файл.
Coin-1
Legendary
*
Offline Offline

Activity: 2436
Merit: 2169



View Profile
December 03, 2017, 01:29:55 PM
 #10

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

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 03, 2017, 01:54:05 PM
 #11

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

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

OpenTrade - Open Source Cryptocurrency Exchange
Coin-1
Legendary
*
Offline Offline

Activity: 2436
Merit: 2169



View Profile
December 03, 2017, 02:07:07 PM
 #12

А как делать АПИ если все остальное еще не готово?
Разумеется, нужно написать ядро, которое будет работать с ордерами, и т.д. Речь о том, что API биржи более предпочтительно, чем WEB-интерфейс биржи (с красивыми графиками и т.п.).
akira_gold
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
December 03, 2017, 02:26:11 PM
 #13

Именно в ядре я бы поучаствовал. Есть мысли, понимание процесса.
Coin-1
Legendary
*
Offline Offline

Activity: 2436
Merit: 2169



View Profile
December 03, 2017, 02:28:27 PM
 #14

Именно в ядре я бы поучаствовал. Есть мысли, понимание процесса.
Вы же против open-source. Smiley
akira_gold
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
December 03, 2017, 02:45:14 PM
 #15

Я не против. Много контрибучу. Просто в данном случае, думаю если опенсорс, то не взлетит) но поучаствовать можно)
kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 04, 2017, 08:39:35 PM
 #16

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

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

OpenTrade - Open Source Cryptocurrency Exchange
Mrak8
Member
**
Offline Offline

Activity: 210
Merit: 14

⚫⚫⚫⚫⚫


View Profile
December 05, 2017, 02:53:59 AM
 #17

Если соберется достаточно энтузиастов то можно поднять, в одиночку нереально. Писал уже на эту тему, там столько подводной хрени в процессе запуска вылезает что в итоге проще забить бывает если не готов вливать в проект баланс. Если народ будет подтягиваться тоже поучаствую Wink
kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 06, 2017, 02:19:54 PM
 #18

Добавил шаблоны страниц: login, signup, password_reset. Прикрутил к ним рекапчу сразу на будущее...

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

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

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

OpenTrade - Open Source Cryptocurrency Exchange
Coin-1
Legendary
*
Offline Offline

Activity: 2436
Merit: 2169



View Profile
December 06, 2017, 04:57:18 PM
 #19

Как вариант, можно не делать биржу с нуля, а доработать имеющиеся cток маркеты с открытым исходным кодом, то есть добавить поддержку криптовалют.

Например:
http://jstock.org/
http://itrade.sourceforge.net/
kzv (OP)
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
December 07, 2017, 04:23:35 AM
 #20

Как вариант, можно не делать биржу с нуля, а доработать имеющиеся cток маркеты с открытым исходным кодом, то есть добавить поддержку криптовалют.

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

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

OpenTrade - Open Source Cryptocurrency Exchange
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!