Перейти к содержанию

Qt Bitcoin Trader - Клиент для безопасных торгов на известных биржах


July Ighor

Рекомендуемые сообщения

Здравствуйте! Подскажите пожалуйста, что именно делает команда trader.groupDone() которую можно увидеть при просмотре кода правил после продажи например.  В руководстве находящемся здесь https://forum.centrabit.com/viewtopic.php?f=3&t=4168#   этой команды я не нашел...

Может быть имеется более полное руководство по данному скриптовому языку? Спасибо.

 

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 662
  • Создана
  • Последний ответ

Топ авторов темы

@nlogo Она только для внутреннего использования. Для самотестирования правил.

Ссылка на комментарий
Поделиться на другие сайты

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

Обновлено 2014-10-10
Добавлены новые события: OpenOrdersCount, OpenBidsCount, OpenAsksCount

 

 

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, nlogo сказал:

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

Обновлено 2014-10-10
Добавлены новые события: OpenOrdersCount, OpenBidsCount, OpenAsksCount

 

 

 

У каждого события есть три переменные локального действия. Это: symbol, name, value.
symbol это пара, символ примером которой есть текст "BTCUSD"
name код индикатора, текстовое название, пример "LastPrice"
value дробное значение которое содержит последнее значение индикатора
Эти переменные могут быть использованы в любом месте события, а так же не использованы вовсе.

 

Соответственно OpenOrdersCount, OpenBidsCount, OpenAsksCount ивенты присылают значения количества ордеров в переменной value.

Ссылка на комментарий
Поделиться на другие сайты

Я было подумал, что можно вернуть объем ордеров от крайнего до указанной цены, или цену которую надо указать для покупки определенного объема...
Это пока не реализовано?

 

 

 

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Еще один вопрос если можно...
В чем отличие trader.on("LastTrade").changed()   от  trader.on("LastPrice").changed()   ?

Мне показалось что это одно и то же...  но может я не прав?

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
01.03.2019 в 21:46, nlogo сказал:

Еще один вопрос если можно...
В чем отличие trader.on("LastTrade").changed()   от  trader.on("LastPrice").changed()   ?

Мне показалось что это одно и то же...  но может я не прав?


По значению это одно и тоже, но ивенты приходят по разным причинам.

LastTrade приходит по каждой новой транзакции в истории, даже если цена была та же.
LastPrice приходит только если цена изменилась.

Ссылка на комментарий
Поделиться на другие сайты

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

2019-03-21 06.17.26.zip

Ссылка на комментарий
Поделиться на другие сайты

Добрый день! В стакане цен не отображаются ордера на покупку и продажу. Ни в одной половине. Не видно. Что надо сделать? (на бинансе поставил инфо и торговля)

Screenshot_QT.jpg

Ссылка на комментарий
Поделиться на другие сайты

@vitver обновление с исправлением будет выпущено в ближайшее время

@Pavel11111 в обновлении будет настройка альтернативного домена

Ссылка на комментарий
Поделиться на другие сайты

@vitver они изменили формат ответа АРІ, и нам надо его подправить тоже

Ссылка на комментарий
Поделиться на другие сайты

@Pavel11111 

Вопрос? А что заработало, на какой бирже? Просто в прошлом сообщении, вроде пожелания на мой вопрос?

Изменено пользователем vitver
Ссылка на комментарий
Поделиться на другие сайты

Добрый день!
Столкнулся с необходимостью проверить, куплено ли на всю нужную сумму или же надо докупить чтобы было потрачено именно конкретное количество USD.

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


var i=0;
    var balBtc;
    var askVolumePrice;
    var boughtFor;
    var lacksUsd;
    var lacksBtc;
    var nowPrice;
    var boughtBtcFinal;
    var balUsd1;
    var balUsd2;


balUsd1  = trader.get("Balance","USD") ;

            lacksUsd = 3.3;// вычислим сколько осталось еще потратить до нужной суммы
            nowPrice = trader.get("AskPrice");
            lacksBtc = lacksUsd / nowPrice; // приблизительный объем покупки
            askVolumePrice = trader.get("AsksPrice",lacksBtc);  // AsksPrice показывет цену напротив суммарного объема битков
            

            trader.buy("BTC/USD" , lacksBtc , askVolumePrice);

            balUsd2  = trader.get("Balance","USD") ;


while(balUsd1 == balUsd2){
	balUsd2  = trader.get("Balance","USD") ;
	i++;
	if(i==100) trader.log("no... i=", i);
}

trader.log("YES i=", i);

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

function myDelay(){
    var nothing=1;
    for (var j = 0; j < 1000000; j++) {
        nothing += j;
    }
    return;
}

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

(все проверялось на Bittrex)

 

И 2й вопрос.

Если очень большая функция  со  значительным количеством всяких циклов проверок, покупок-продаж и т.п. вызывается при помощи trader.on("LastPrice").changed()

{ ... }

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

Заранее спасибо!

Изменено пользователем nlogo
Ссылка на комментарий
Поделиться на другие сайты

49 минут назад, nlogo сказал:

Добрый день!
Столкнулся с необходимостью проверить, куплено ли на всю нужную сумму или же надо докупить чтобы было потрачено именно конкретное количество USD.

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



var i=0;
    var balBtc;
    var askVolumePrice;
    var boughtFor;
    var lacksUsd;
    var lacksBtc;
    var nowPrice;
    var boughtBtcFinal;
    var balUsd1;
    var balUsd2;


balUsd1  = trader.get("Balance","USD") ;

            lacksUsd = 3.3;// вычислим сколько осталось еще потратить до нужной суммы
            nowPrice = trader.get("AskPrice");
            lacksBtc = lacksUsd / nowPrice; // приблизительный объем покупки
            askVolumePrice = trader.get("AsksPrice",lacksBtc);  // AsksPrice показывет цену напротив суммарного объема битков
            

            trader.buy("BTC/USD" , lacksBtc , askVolumePrice);

            balUsd2  = trader.get("Balance","USD") ;


while(balUsd1 == balUsd2){
	balUsd2  = trader.get("Balance","USD") ;
	i++;
	if(i==100) trader.log("no... i=", i);
}

trader.log("YES i=", i);

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


function myDelay(){
    var nothing=1;
    for (var j = 0; j < 1000000; j++) {
        nothing += j;
    }
    return;
}

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

(все проверялось на Bittrex)

 

И 2й вопрос.

Если очень большая функция  со  значительным количеством всяких циклов проверок, покупок-продаж и т.п. вызывается при помощи trader.on("LastPrice").changed()

{ ... }

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

Заранее спасибо!

 

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

Так же можете открыть дебаг меню и смотреть приходят ли обновления баланса туда. Если там они есть а в скрипте их нет то будем исследовать и исправим.

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, July Ighor сказал:

 

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

Так же можете открыть дебаг меню и смотреть приходят ли обновления баланса туда. Если там они есть а в скрипте их нет то будем исследовать и исправим.

Я использовал вышеозначенную

function myDelay()

но это не помогает.

Если я правильно понял, вы советуете использование   этой команды:
trader.delay(секунды,"команда")

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

Не могли бы вы привести пару-тройку реально рабочих примеров использования?

(В руководстве только один пример - trader.delay(1.5,"myFunction()");  Вроде бы это однократный вызов функции с задержкой 1.5сек. Не совсем ясно, годится ли любая функция, могут ли быть в ней другие события trader и т.д. Известны ли варианты НЕправильного ее использования...)

 

Еще одно наблюдение - сложилось впечатление что не стоит пользоваться циклом while. Если for(){} по крайней мере отрабатывает, хоть и без результата, то while просто вешает программу... Есть ли какая-то специфика при его использовании?

 

Насчет дебаг меню понял, попытаюсь.

Спасибо.

 

Изменено пользователем nlogo
Ссылка на комментарий
Поделиться на другие сайты

Добрый день!

К сожалению, дебаг меню не сильно помогло. Но часть проблем решил другим способом.

Однако, осталась одна вещь, обойти которую пока не удается...

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

Уверен, что это известный факт, но если не лень смотреть код, вот подтверждение

var ggg;
ggg = QTBuy(0.2);
trader.log("ggg=", ggg);



// ------------------------------------ ФУНКЦИИ ---------------------------------


function QTBuy(buyUsdtValue){
    trader.log("----------------- QTBuy -----------------------");
    var balUsd_1;
    var balUsd_2;
    var balBtc;
    var askVolumePrice;
    var boughtFor;
    var lacksUsd;
    var lacksBtc;
    var nowPrice;
    var boughtBtcFinal;

    balBtc  = trader.get("Balance","BTC") ;  

//    trader.delay(5,"myDelay()");

        balUsd_1  = trader.get("Balance","USD") ;

            lacksUsd = buyUsdtValue;// вычислим сколько осталось еще потратить до нужной суммы
            nowPrice = trader.get("AskPrice");
                trader.delay(5,"myDelay()");
            lacksBtc = lacksUsd / nowPrice; // приблизительный объем покупки
            askVolumePrice = trader.get("AsksPrice",lacksBtc);  // AsksPrice показывет цену напротив суммарного объема битков
                trader.delay(5,"myDelay()");
            trader.buy("BTC/USD" , lacksBtc , (8+askVolumePrice)); 
                trader.delay(5,"myDelay()");
                trader.delay(7,"GetUsdBalance()");
                trader.delay(7,"GetBtcBalance()");

            if(balUsd_2 == balUsd_1 || boughtBtcFinal == balBtc) {
                trader.cancelBids();
                trader.delay(5,"myDelay()");
                trader.delay(7,"GetUsdBalance()");
                trader.delay(7,"GetBtcBalance()");
            }


              trader.log("balUsd_2=",balUsd_2,", boughtBtcFinal=",boughtBtcFinal);
              trader.log("bought ", lacksBtc, " BTC, price=", boughtFor);




    boughtBtcFinal  = boughtBtcFinal - balBtc;

    return ( MyRoundTo8(boughtBtcFinal) );
}

//--------------------------------------------
function GetBtcBalance(){
    boughtFor = trader.get("LastMyBuyPrice"); 
    boughtBtcFinal  = trader.get("Balance","BTC") ;
    trader.log("GetBtcBalance()    boughtFor=",boughtFor,", boughtBtcFinal=",boughtBtcFinal);

}

//--------------------------------------------
function GetUsdBalance(){
    boughtFor = trader.get("LastMyBuyPrice"); 
    balUsd_2  = trader.get("Balance","USD") ;
    trader.log("GetUsdBalance()  balUsd_2=",balUsd_2,", boughtFor=",boughtFor);
}

//--------------------------------------------

function MyRoundTo2(MyValue){    
    var result = Math.round(MyValue * 100) / 100;
    return result;
}
//--------------------------------------------

function MyRoundTo8(MyValue){    
    var result = Math.round(MyValue * 100000000) / 100000000;
    return result;
}


////////////////////////////////////////////////////////////////////////////
                            ВЫВОД СКРИПТА
////////////////////////////////////////////////////////////////////////////

21:07:17> ----------------- QTBuy -----------------------
21:07:17> BTC/USD: Buy 0.0000425 at 4704.85
21:07:17> balUsd_2= , boughtBtcFinal= 
21:07:17> bought 0.0000425 BTC, price= 
21:07:17> ggg= nan
21:07:24> GetBtcBalance() boughtFor= 4704.85 , boughtBtcFinal= 0.00018
21:07:24> GetUsdBalance() balUsd_2= 32.47364242 , boughtFor= 4704.85

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

 

У меня к Вам вопрос:

Посоветуйте пожалуйста, каким образом  можно заставить скрипт дождаться обработки всех команд trader чтобы корректно получить данные для дальнейшей работы?

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

Заранее спасибо.

Ссылка на комментарий
Поделиться на другие сайты

16 минут назад, nlogo сказал:

Добрый день!

К сожалению, дебаг меню не сильно помогло. Но часть проблем решил другим способом.

Однако, осталась одна вещь, обойти которую пока не удается...

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

Уверен, что это известный факт, но если не лень смотреть код, вот подтверждение


var ggg;
ggg = QTBuy(0.2);
trader.log("ggg=", ggg);



// ------------------------------------ ФУНКЦИИ ---------------------------------


function QTBuy(buyUsdtValue){
    trader.log("----------------- QTBuy -----------------------");
    var balUsd_1;
    var balUsd_2;
    var balBtc;
    var askVolumePrice;
    var boughtFor;
    var lacksUsd;
    var lacksBtc;
    var nowPrice;
    var boughtBtcFinal;

    balBtc  = trader.get("Balance","BTC") ;  

//    trader.delay(5,"myDelay()");

        balUsd_1  = trader.get("Balance","USD") ;

            lacksUsd = buyUsdtValue;// вычислим сколько осталось еще потратить до нужной суммы
            nowPrice = trader.get("AskPrice");
                trader.delay(5,"myDelay()");
            lacksBtc = lacksUsd / nowPrice; // приблизительный объем покупки
            askVolumePrice = trader.get("AsksPrice",lacksBtc);  // AsksPrice показывет цену напротив суммарного объема битков
                trader.delay(5,"myDelay()");
            trader.buy("BTC/USD" , lacksBtc , (8+askVolumePrice)); 
                trader.delay(5,"myDelay()");
                trader.delay(7,"GetUsdBalance()");
                trader.delay(7,"GetBtcBalance()");

            if(balUsd_2 == balUsd_1 || boughtBtcFinal == balBtc) {
                trader.cancelBids();
                trader.delay(5,"myDelay()");
                trader.delay(7,"GetUsdBalance()");
                trader.delay(7,"GetBtcBalance()");
            }


              trader.log("balUsd_2=",balUsd_2,", boughtBtcFinal=",boughtBtcFinal);
              trader.log("bought ", lacksBtc, " BTC, price=", boughtFor);




    boughtBtcFinal  = boughtBtcFinal - balBtc;

    return ( MyRoundTo8(boughtBtcFinal) );
}

//--------------------------------------------
function GetBtcBalance(){
    boughtFor = trader.get("LastMyBuyPrice"); 
    boughtBtcFinal  = trader.get("Balance","BTC") ;
    trader.log("GetBtcBalance()    boughtFor=",boughtFor,", boughtBtcFinal=",boughtBtcFinal);

}

//--------------------------------------------
function GetUsdBalance(){
    boughtFor = trader.get("LastMyBuyPrice"); 
    balUsd_2  = trader.get("Balance","USD") ;
    trader.log("GetUsdBalance()  balUsd_2=",balUsd_2,", boughtFor=",boughtFor);
}

//--------------------------------------------

function MyRoundTo2(MyValue){    
    var result = Math.round(MyValue * 100) / 100;
    return result;
}
//--------------------------------------------

function MyRoundTo8(MyValue){    
    var result = Math.round(MyValue * 100000000) / 100000000;
    return result;
}


////////////////////////////////////////////////////////////////////////////
                            ВЫВОД СКРИПТА
////////////////////////////////////////////////////////////////////////////

21:07:17> ----------------- QTBuy -----------------------
21:07:17> BTC/USD: Buy 0.0000425 at 4704.85
21:07:17> balUsd_2= , boughtBtcFinal= 
21:07:17> bought 0.0000425 BTC, price= 
21:07:17> ggg= nan
21:07:24> GetBtcBalance() boughtFor= 4704.85 , boughtBtcFinal= 0.00018
21:07:24> GetUsdBalance() balUsd_2= 32.47364242 , boughtFor= 4704.85

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

 

У меня к Вам вопрос:

Посоветуйте пожалуйста, каким образом  можно заставить скрипт дождаться обработки всех команд trader чтобы корректно получить данные для дальнейшей работы?

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

Заранее спасибо.

 

Только команды на запись файлов запускаются в другом потоке, все остальное работает в главном.
Любые значения индикаторов кешируются, и при вызове trader.get вы обращаетесь к переменной в памяти, а не делаете запрос на биржу.
А программа достает из биржы все данные залпом как можно чаще так, чтобы ваш ІР не забанили.
Как я уже сказал, чтобы данные могли обновиться следует никогда не блокировать скрипт циклами (либо выходить иногда из них).
При получении данных из биржы обновляются и все системные индикаторы trader.get, но только в том случае если вы не блокируете поток в скрипте.
А если блокируете, то данные обновятся как только вы его освободите.
Так же вам следует помнить, что сама биржа обновляет данные не одновременно, а допустим история транзакций может обновиться позже или быстрее ордербука.

Изменено пользователем July Ighor
Ссылка на комментарий
Поделиться на другие сайты

13 минут назад, July Ighor сказал:

Как я уже сказал, чтобы данные могли обновиться следует никогда не блокировать скрипт циклами (либо выходить иногда из них).
При получении данных из биржы обновляются и все системные индикаторы trader.get, но только в том случае если вы не блокируете поток в скрипте.
А если блокируете, то данные обновятся как только вы его освободите.
 

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

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

Ссылка на комментарий
Поделиться на другие сайты

12 минут назад, nlogo сказал:

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

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


Я лишь ответил на вопрос, если так не работает значит либо у вас текущая пара не BTC/USD (так как достаются данные только текущей пары) либо баг.
Если баг то исправим. Скажите а когда используете ивент LastMyBuyPrice а не функции get, то приходят значения?

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

    • Курс Bitcoin (только про Bitcoin)

      В данной ветке предлагаю вести обсуждение курса Bitcoin Для желающих безнаказанно оффтопить был создан топик Курсы криптовалют в разделе флейма, там можно уходить в рассуждения сколь угодно далеко от основной темы, так что велком! Также у нас есть ветка по обсуждению "справедливого курса" Bitcoin     Несколько полезных инструментов для отслеживания курса: bitcoin.clarkmoody отображает стакан Mt.Gox и строит в реалтайме японские свечи bitcoinchain сравнение курсов на разных биржах н

      в Биткоин

    • Халвинг Bitcoin

      До халвинга биткоина осталось 12 дней. Чего ждать после? Стоить ли полагаться на статистику роста цены предыдущих халвингов?        Ждем повторения события☺️

      в Биткоин

    • Комиссии в сетях Bitcoin, Ethereum, BCH и прочих — сколько ставить?

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

      в Общий

    • ФБР расследует кражу биткоинов с кошелька разработчика Bitcoin Core Люка Дашира

      Федеральное бюро расследований (ФБР) США в 2023 году запрашивало персональные данные участников встречи CoreDev Atlanta в рамках расследования дела о похищении 217 BTC у разработчика Bitcoin Core Люка Дашира. Сооснователь некоммерческой организации Bitcoin Brink Майк Шмидт (Mike Schmidt) рассказал, что в 2023 году ФБР потребовало у него личные данные всех участников встречи CoreDev Atlanta, состоявшейся в октябре 2022 года, за несколько дней до конференции TABConf 2022. В ходе переговоров с

      в Новости криптовалют

    • Владелец Bitcoin.org опасается раскола в сообществе Биткоина

      Совладелец и оператор сайта Bitcoin.org, использующий псевдоним Cobra, опасается, что грядущий раскол в сообществе Биткоина может негативно сказаться на экосистеме первой криптовалюты. Cobra предположил, что в конфликте на «арене Биткоина» люди могут разделиться на два «лагеря»: те, кто хотят, чтобы Биткоин сохранил статус-кво и оставался без изменений, и «улучшатели», поддерживающие изменение функциональности сети. Последние будут стремиться развивать Биткоин и включать в него больше функц

      в Новости криптовалют

×
×
  • Создать...