Pages:
Author

Topic: Давайте создадим с нуля биржу Open Source? - page 12. (Read 32167 times)

member
Activity: 248
Merit: 12
Voronkov Ventures accelerator of pre-seed projects
jr. member
Activity: 186
Merit: 1
https://t.me/X_Reis
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Категорически, при 10млн. пользователей количество в онлайне может перешагнуть за 1млн. и придётся костылить

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

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

А в базу данных триллион соединений вы тоже умеете писать?
member
Activity: 980
Merit: 48
Категорически, при 10млн. пользователей количество в онлайне может перешагнуть за 1млн. и придётся костылить

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

Вам триллиона соединений(в совокупности) мало?
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
На гитхабе более актуальная инструкция. Прочитайте ридми там.
jr. member
Activity: 157
Merit: 4
Мануал, как запустить биржу у себя

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. (/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. (/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)


Делал все как по инструкции, подскажите как решить данную ошибку Smiley
newbie
Activity: 59
Merit: 0
Привет. Перспективный проект получился!
Хочу поинтересоватся: как вы генерируете кошельки в демоне для пользователей? Ну тоесть это просто getnewaddress в пределах одного и того же кошелька на сервере, или для каждого создаётся реальный кошель с шифрованием? Просто мне кажется что если всё происходит в пределах одного кошелька то доступ к нему даст доступ ко всем адресам всех юзеров, что по моему не очень безопасно. А с другой стороны чтобы для каждого реального юзера создавать новый кошелёк нужен запушенный демон, что в плане масштабируемости и использования ресурсов очень накладно. Так какой-же подход самый оптимальный, пока не ясно.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
лям юзеров онлайн __за сутки__ это штука баксов в день только с одного банера адсенс.
Уверяю тебя, когда ты упрешься в этот предел, у тебя найдутся деньги на кодера который напишет хороший лоад балансер ))
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
Категорически, при 10млн. пользователей количество в онлайне может перешагнуть за 1млн. и придётся костылить
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Боты идут по приборам)

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

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

Не понял о чем ты?
Тебе мало ляма соединений? На самом деле при таком количестве соединений уже упираешься в ограничение операционки. Чтобы это обойти надо распределять нагрузку на несколько серваков просто.
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
Боты идут по приборам)

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

чат на сокетах. бэкэнд на node.js
на хабре чувак 1кк соединений нодой обрабатывал на бесплатном амазановском серваке.
А если бэкенд подкрутить, то сколько с того же сервера можно получить или в ноде всё заоптимизировано дальше некуда и надо менять стек?
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Боты идут по приборам)

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

чат на сокетах. бэкэнд на node.js
на хабре чувак 1кк соединений нодой обрабатывал на бесплатном амазановском серваке.
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
Боты идут по приборам)

У тебя чат на сокетах или на WebRTC? Не знаешь случаем сколько клиентов онлайн он сможет держать на среднем сервере?
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Эта биржа поддерживает монеты на протоколе Cryptonote?

Нет не поддерживает. И эфир с его токенами не поддерживается.
jr. member
Activity: 157
Merit: 4
Эта биржа поддерживает монеты на протоколе Cryptonote?
legendary
Activity: 2450
Merit: 2190
Это здорово, но это не графический стакан

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

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



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

Хотя лично я не вижу никакого смысла тащить в криптобиржу все эти NYSEвские заморочки  Cool
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Это здорово, но это не графический стакан

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

А, ну я про такой даже не думал...
Ни в MT ни в квике не помню чтобы что-то такое было... Ну или не пользовался просто?
jr. member
Activity: 125
Merit: 2
Это здорово, но это не графический стакан

фиг знает как тут картинки прикреплять.. в общем, нет такого.. я понял.
вопрос конечно не принципиальный...  много еще допиливать конечно...
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Pages:
Jump to: