Pages:
Author

Topic: Ваша собственная криптовалютная биржа - page 4. (Read 14293 times)

legendary
Activity: 3486
Merit: 1100
1. Что делать бирже при накоплении комиссии по сделкам купли продажи данных монет? Модель этого не описывает

Это уже на усмотрение самой биржи.

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


2. Интересно было бы изучить данную модель при возможности маржинальной торговли.

Самому любопытно. Особенно если ещё будет возможность для каждого пользователя применять подобную схему. Но это дело возможно будет востребовано на конечном этапе размещения, когда бонусы станут минимальными и коридор приблизится к 10%


member
Activity: 128
Merit: 12

Моя собственная криптовалютная схема распределения и работы - https://bitcointalksearch.org/topic/--5123471

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

Спасибо, изучим.

На первый взгляд возникает несколько вопросов:
1. Что делать бирже при накоплении комиссии по сделкам купли продажи данных монет? Модель этого не описывает
2. Интересно было бы изучить данную модель при возможности маржинальной торговли.
legendary
Activity: 3486
Merit: 1100

Моя собственная криптовалютная схема распределения и работы - https://bitcointalksearch.org/topic/--5123471

Можете за одно ещё и эту схему добавить и протестировать.
Самое время для этого.
Довольно уникальный шанс выпадает, для тех кто хоть что-то понимает, по-моему.
member
Activity: 128
Merit: 12
Итак, немного поподробнее:

- Теперь, поскольку активирована маржиналка, для предотвращения скачков, каждому вновь зарегистрированному демо пользователю выделяется определенное количество монет по каждой из валют:
1 BTC
75 LTC
3000 USDT
25 BCH
25 ETH
1400 WAVES
135 000 NXT

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

member
Activity: 128
Merit: 12
Совсем скоро выложим рабочую версию в демо, где можно будет не только демо монетами поторговать, но и залезть в лонг или шорт.
Плечо будет 5х

Как и обещали... выложена новая версия с маржиналкой

Маржиналка активирована только на паре BTC/USDT

Позже опишем что еще было сделано
member
Activity: 128
Merit: 12
А вы сейчас на тестовых сетях делаете ? или уже на реальной ? Как вообще долго подключать новую валюту ?

По подключению новой валюты необходимо использование API explorer-а новой валюты. По времени подключения сложно предугадать: здесь нужно учитывать сложность взаимодействия, а также необходимо в обязательном порядке провести тесты, прежде чем запускать это взаимодействие. Это может занимать порядка 2-5 дней

Плохо.
Эксплореру нельзя доверять. Можно доверять только самому блокчейну.
После общения с разработчиками, от этой идеи мы отказались. И теперь, естественно,  развернуты ноды 5 монет на серверах, через которые осуществляется взаимодействие по вводу выводу монет через rpc вызовы

А как вы храните приватные ключи от депозитных кошельков? В стандартном wallet.dat соответствующего воллета?

Вопрос не праздный. Поясню - во-первых, Bitcoind имеет ряд ограничений, в частности он не умеет эффективно создавать транзакции, если у вас много (>10 000) адресов с рассыпаной по ним мелочовкой - если использовать его то выводы начнут тормозить и не исполняться.

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

А парень то прав. дыр может быть больше, чем у kzv)))

Получил некоторые ответы от разработчика:

>А как вы храните приватные ключи от депозитных кошельков? В стандартном wallet.dat соответствующего воллета?

да, wallet.dat
по дефолту он не зашифрован
мы его сразу шифруем, и он там все хранит


>он не умеет эффективно создавать транзакции, если у вас много (>10 000)

Имеется ввиду что если надо сделать перевод на большую сумму, допустим один биткоин а эта суммма расыпана на 10000 адресов то думаю да. Поэтому надо иметь адрес на котором есть большая сумма, для выплат, обычно это отдельный адрес

legendary
Activity: 1792
Merit: 1028
dzyk.ru
А вы сейчас на тестовых сетях делаете ? или уже на реальной ? Как вообще долго подключать новую валюту ?

По подключению новой валюты необходимо использование API explorer-а новой валюты. По времени подключения сложно предугадать: здесь нужно учитывать сложность взаимодействия, а также необходимо в обязательном порядке провести тесты, прежде чем запускать это взаимодействие. Это может занимать порядка 2-5 дней

Плохо.
Эксплореру нельзя доверять. Можно доверять только самому блокчейну.
После общения с разработчиками, от этой идеи мы отказались. И теперь, естественно,  развернуты ноды 5 монет на серверах, через которые осуществляется взаимодействие по вводу выводу монет через rpc вызовы

А как вы храните приватные ключи от депозитных кошельков? В стандартном wallet.dat соответствующего воллета?

Вопрос не праздный. Поясню - во-первых, Bitcoind имеет ряд ограничений, в частности он не умеет эффективно создавать транзакции, если у вас много (>10 000) адресов с рассыпаной по ним мелочовкой - если использовать его то выводы начнут тормозить и не исполняться.

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

А парень то прав. дыр может быть больше, чем у kzv)))
member
Activity: 128
Merit: 12
По первому пункту, мы еще не производили нагрузочных тестов, поэтому ничего не можем сказать о поведении ноды при большом количестве адресов.

По второму пункту, мы делать такого рода разграничения прав не будем, поскольку разработчики у нас довольно близкие, доверенные лица.
jr. member
Activity: 32
Merit: 1
А вы сейчас на тестовых сетях делаете ? или уже на реальной ? Как вообще долго подключать новую валюту ?

По подключению новой валюты необходимо использование API explorer-а новой валюты. По времени подключения сложно предугадать: здесь нужно учитывать сложность взаимодействия, а также необходимо в обязательном порядке провести тесты, прежде чем запускать это взаимодействие. Это может занимать порядка 2-5 дней

Плохо.
Эксплореру нельзя доверять. Можно доверять только самому блокчейну.
После общения с разработчиками, от этой идеи мы отказались. И теперь, естественно,  развернуты ноды 5 монет на серверах, через которые осуществляется взаимодействие по вводу выводу монет через rpc вызовы

А как вы храните приватные ключи от депозитных кошельков? В стандартном wallet.dat соответствующего воллета?

Вопрос не праздный. Поясню - во-первых, Bitcoind имеет ряд ограничений, в частности он не умеет эффективно создавать транзакции, если у вас много (>10 000) адресов с рассыпаной по ним мелочовкой - если использовать его то выводы начнут тормозить и не исполняться.

Во-вторых если вы используете стандартные методы хранения (да и если нет - тоже) вы должны разграничивать права доступа каждого кошелька, поскольку разработчик может в сорсе спрятать код, который вы не увидите и в лучшем случае вас кинут на эти койны, а в худшем - на все что можно. Вы это делаете?
member
Activity: 128
Merit: 12
А вы сейчас на тестовых сетях делаете ? или уже на реальной ? Как вообще долго подключать новую валюту ?

По подключению новой валюты необходимо использование API explorer-а новой валюты. По времени подключения сложно предугадать: здесь нужно учитывать сложность взаимодействия, а также необходимо в обязательном порядке провести тесты, прежде чем запускать это взаимодействие. Это может занимать порядка 2-5 дней

Плохо.
Эксплореру нельзя доверять. Можно доверять только самому блокчейну.
После общения с разработчиками, от этой идеи мы отказались. И теперь, естественно,  развернуты ноды 5 монет на серверах, через которые осуществляется взаимодействие по вводу выводу монет через rpc вызовы
jr. member
Activity: 32
Merit: 1
А вы сейчас на тестовых сетях делаете ? или уже на реальной ? Как вообще долго подключать новую валюту ?

По подключению новой валюты необходимо использование API explorer-а новой валюты. По времени подключения сложно предугадать: здесь нужно учитывать сложность взаимодействия, а также необходимо в обязательном порядке провести тесты, прежде чем запускать это взаимодействие. Это может занимать порядка 2-5 дней

Плохо.
Эксплореру нельзя доверять. Можно доверять только самому блокчейну.
member
Activity: 182
Merit: 12
member
Activity: 128
Merit: 12
Совсем скоро выложим рабочую версию в демо, где можно будет не только демо монетами поторговать, но и залезть в лонг или шорт.
Плечо будет 5х
jr. member
Activity: 103
Merit: 1
Поторговать монетами на демо счете впринципе интересно
member
Activity: 128
Merit: 12
Новая версия выложена на https://buyownex.com

- Кардинально изменен интерфейс. Теперь он в стиле Бинанс и можно посмотреть не регистрируясь в системе. Например, вот тут: https://demo.buyownex.com/trader/trading/USDT/BTC
- Полностью реализовано API биржи
- Реализована система персональных уведомлений пользователя
- Добавлено изменение объема за 24 часа
- Улучшен график: добавлены периоды 1 мин, 5 мин, 4 часа, 1 неделя; добавлены индикаторы SMA, EMA, MACD, RSI

Возможны добавления иных индикаторов.
member
Activity: 128
Merit: 12
Quote
Для high load исключена работа с БД, все держится в памяти.

На бинансе(это самая крупная криптобиржа) происходят десятки сделок в секунду, для серверов баз данных, это вообще не проблема (хоть 10 тысяч в секунду)... Поэтому в памяти держать базу данных не имеет смысла.

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

Не могу полностью согласиться.

В памяти не держится БД. Есть криптовалютное ядро, которое написано на C#, оно весьма упрощенно содержит следующую информацию в памяти:
1. Список торговых счетов в разрезе каждого пользователя и каждый счет содержит информацию о текущем балансе свободных средств, сумме заблокированных средств под ордера и размере комиссии
2. Список валютных пар и в разрезе каждой пары содержится информация о текущих (активных) ордерах в стакане на продажу и на покупку

Торговое ядро не держит в памяти информацию о сделках, оно только производит мэтчинг ордеров в текущем стакане и если есть условие для совершения сделки, то производятся манипуляции с балансами и ордерами. А информация о сделке поступает в систему уведомлений, которая в сою очередь и заносит информацию в БД PostgreSQL. Таким образом, у нас память не нагружается лишней информацией.

Теперь по поводу производительности БД. Помимо вставки информации о сделках, в БД есть список пользователей, их текущие настройки, список валют, список торговых пар, список как текущих ордеров, так и исполненных, список как внешних счетов, так и торговых счетов, системные счета, данные для графиков OHLC и многое другое. И кроме вставки данных производится множество запросов к БД, часть из них, естественно кэшируется, но тем не менее. Поэтому говорить о том, что вставка 10 тысяч сделок в секунду не проблема это не верно.

Посмотрим на криптовалютную биржу Binance, которая согласно coinmarketcap имеет суточный объем в два миллиарда долларов (2 000 000 000 $). На каждой бирже есть минимальный объем ордера и примерно равен 1$. Средний объем ордера можно принять за 10$. Таким образом, если равномерно за 24 часа распределить скорость генерации сделок, то получиться что биржа binance генерирует (2 000 000 000 $/10 $/ 24 часа/ 60 минут/ 60 секунд = 2314 сделок в секунду)

2314 сделок в секунду вполне приемлемое время для серверов на ssd дисках, особенно в raid массиве.

Что касается других бирж, соглашусь, что на многих сделки совершаются не так часто.

Теперь немного о тестах производительности торгового ядра:

Для нагрузочного тестирования были созданы следующие предварительные условия:
•   Был выставлен ордер на продажу 1000 BTC по цене 1000 EUR
•   Затем под этот специально заготовленный ордер была отослана команда PlaceLimitStressTest (ее нет в реальности, она была добавлена только на время теста), где в цикле из 500 000 итераций выполнялась команда PlaceLimit (размещение встречного ордера на покупку 0.001 BTC по цене 1000 EUR). Сформировалось 500 000 сообщений  (Сообщение о новой сделке (NewTrade)), в котором указывается время формирования сообщения в тиках.
•   Данные о сделках не писались в БД

В результате проведенного теста на следующей конфигурации ПК:

•   Процессор: Intel Core i7-4770 CPU @ 3.40 GHz
•   RAM: 8Гб
•   ОС: Windows 7 64x
•   HDD: Seagate Barracuda ST500DM002
o   Объем кэш-памяти 16MБ
o   Скорость вращения шпинделя 7200rpm
o   Максимальная скорость интерфейса 600 МБ/с
o   Буферизированная скорость чтения 202 МБ/с
o   Средняя скорость чтения 125 МБ/с

Результаты следующие:

•   Время формирования 1-ой сделки (timestamp): 1523970522.36384 сек
•   Время формирования 500 000-ой сделки (timestamp): 1523970531.14784 сек
•   Итого: 500 000 сделок за 9 сек

В данной архитектуре не особо важно, когда мы запишем информацию о сделках в БД, через доли секунд, через секунду или минуту, поскольку вся информация о стакане содержится в оперативной памяти криптовалютного ядра. Система не позволит выставить “плохой” ордер.
member
Activity: 980
Merit: 48
Quote
Для high load исключена работа с БД, все держится в памяти.

На бинансе(это самая крупная криптобиржа) происходят десятки сделок в секунду, для серверов баз данных, это вообще не проблема (хоть 10 тысяч в секунду)... Поэтому в памяти держать базу данных не имеет смысла.

Ну и на небольших криптобиржах, если происходит одна сделка в минуту, то это уже не так плохо, а на маленьких биржах, одна сделка может быть в несколько часов или даже дней.
member
Activity: 128
Merit: 12
Новая версия выложена на https://buyownex.com

- Исправлены ошибки
- Улучшена производительность
- Реализована реферальная система начислений
- Реализована тикетная система поддержки пользователей
- Реализован обзор рынка (бид, аск, котировки, мин. за 24часа, макс. за 24 часа, объем за 24 часа) + графики глубины по каждой торговой паре
- Частично реализовано API биржи ( выставление ордеров, отмена ордеров, получение тикера)
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange

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


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



Увы, все работает не так как ты себе представляешь. Никаких проблем с обменом активов не возникает, чувак. На битшарес блокчейне есть даже золото и серебро, помимо сотен других криптоактивов.
Лично я занимаюсь арбитражем 5и монет, в числе которых лайткоин.
Советую обогатить знания, и топать на децентралки! Надеюсь ты сам поймешь что эти дырявые корыта централки с их правилами и проф работами... это не круто!  Kiss

Ну форум же нужен для обмена знаниями я надеюсь?
Расскажи мне алгоритм как с помощью битшарес, битки в моем кошельке превратить в лайты в моем кошельке?
Буду крайне признателен.

Если без твоей подсказки, то алгоритм я вижу только такой:
1 обменять на нормальной бирже битки на баксы
2. купить на битшарес битфантики за баксы
3 обменять на битшарес битфантики на лайтфантики
4. продать на битшарес лайтфантики за баксофантики
5 обменять на битшарес баксофантики на баксы
6 купить на нормальной бирже лайты за баксы.

Все верно? Или какие-то пункты лишние?
newbie
Activity: 49
Merit: 0

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


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



Увы, все работает не так как ты себе представляешь. Никаких проблем с обменом активов не возникает, чувак. На битшарес блокчейне есть даже золото и серебро, помимо сотен других криптоактивов.
Лично я занимаюсь арбитражем 5и монет, в числе которых лайткоин.
Советую обогатить знания, и топать на децентралки! Надеюсь ты сам поймешь что эти дырявые корыта централки с их правилами и проф работами... это не круто!  Kiss
Pages:
Jump to: