12 февраля 2012, 5:27:11 AM   # 1
 
 
Сообщения: 637
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind JSON-RPC с Java

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я пытаюсь взаимодействовать с bitcoind из Java кода. Я использую эту библиотеку JSON-RPC http://code.google.com/p/jsonrpc4j/.

Я могу назвать успешно назвать такие методы, как getbalance и getaccountaddress, но я получаю сообщение об ошибке 500, когда я пытаюсь вызвать walletpassphrase. Понятия не имею почему.

Любой играет с JSON-RPC в Java? Можете ли вы назвать walletpassphrase? Как?


благодаря
Dunand сейчас офлайн Пожаловаться на Dunand   Ответить с цитированием Мультицитирование сообщения от Dunand Быстрый ответ на сообщение Dunand


Как заработать Биткоины?
Без вложений. Не майнинг.


28 февраля 2014, 6:20:15 AM   # 2
 
 
Сообщения: 259
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind JSON-RPC с Java

Получил 1806 Биткоинов
Реальная история.





Вы можете попробовать подать вопрос еще можно попробовать, используя следующую библиотеку (я использовал его для одного из моих проектов)

https://github.com/coding-idiot/Litecoin-Bitcoin-RPC-Java-Connector

Я предполагаю, что это не реализует walletpassphrase, но вы можете подать вопрос & Будем надеяться, что разработчик будет смотреть в него, или вы можете просто вилкой и написать его самостоятельно.


M1SHO сейчас офлайн Пожаловаться на M1SHO   Ответить с цитированием Мультицитирование сообщения от M1SHO Быстрый ответ на сообщение M1SHO

28 февраля 2014, 3:32:44 PM   # 3
 
 
Сообщения: 7
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind JSON-RPC с Java

Привет, я бы порекомендовал вам использовать HttpClient взаимодействовать с bitcoind.
пример

Код:
CloseableHttpClient Cliente = HttpClients.createDefault ();
            HttpPost HttpPost = новый HttpPost (urlCnx);
            Строка Comando = "{\"метод \": \"getbalance \"}";
            StringEntity entidad = новый StringEntity (Comando);
            httpPost.setEntity (entidad);
            HttpResponse respuesta = cliente.execute (HttpPost);

а затем прочитать ответ ....
myusuario сейчас офлайн Пожаловаться на myusuario   Ответить с цитированием Мультицитирование сообщения от myusuario Быстрый ответ на сообщение myusuario

28 февраля 2014, 4:00:02 PM   # 4
 
 
Сообщений: 53
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind JSON-RPC с Java

Я реализовал Java-обертку для большинства АФИ некоторое время назад - вы можете найти его здесь:
https://github.com/clanie/bitcoind-client
clanie сейчас офлайн Пожаловаться на clanie   Ответить с цитированием Мультицитирование сообщения от clanie Быстрый ответ на сообщение clanie

25 марта 2015, 4:28:51 PM   # 5
 
 
Сообщения: 297
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind JSON-RPC с Java

Для всех, кто попадается на это, надеюсь, я могу помочь вам

Я прототипу все мои Dev в NetBeans, и привести его к затмить, где я делаю свое развитие развертывания (надеюсь, эти термины имеют смысл лол)

В любом случае, мне нужен чистый раствор Java (без Maven ерунды). Это используя баночка от апача для HTTP комм:
http://hc.apache.org/downloads.cgi

Загрузить бинарный файл по своему выбору в соответствии с 4.4 раздела HttpClient (ГА).

Вам также понадобится JSon-простой баночка от Google: (dwnld ссылки в разделе «Начало работы»)
https://code.google.com/p/json-simple/

Вам нужно будет указать на эти баночки файлы в конфигурации сборки для проекта Java. В NetBeans, щелкните правой кнопкой мыши проект в проводнике проекта, наведите курсор мыши на Configuration Set и нажмите на кнопку Настройка. Затем в этом меню, которое появляется, нажмите Libraries в левой панели и выберите "Добавить JAR / папку", В затмении, щелкните правой кнопкой мыши проект, наведите курсор мыши на путь сборки и нажмите на кнопку Настройка Built Path. Затем в контекстном меню выбрать Добавить Баночки" или "Добавить внешние Баночки" в зависимости от того, где загруженного каталога с Apache (я всегда буду копировать банки в мой фактический проект так зависимости осуществляется от экземпляра к экземпляру, если безопасность не плотна по какой-либо причине)

Если у вас есть эти банки в путь сборки, копировать / вставить эти два файла в вашем проекте:

Примечание: Это для окон машины, для Linux, измените строку:
DIR = System.getProperty ("user.home") + "\\ AppData \\ Roaming \\ Bitcoin";

Для того, чтобы:
DIR = System.getProperty ("user.home") + "\\. Bitcoin";


Цитата: CryptoConfig
общественный класс CryptoConfig {
    
    частная строка URL;
    частная строка rpcPort;
    частная строка rpcUser;
    частное rpcPass строк;
    
    общественного CryptoConfig (String Урлин, String rpcPortIN, String rpcUserIN, String rpcPassIN) {
        this.url = Урлин;
        this.rpcPort = rpcPortIN;
        this.rpcUser = rpcUserIN;
        this.rpcPass = rpcPassIN;
    }
    
    общественный CryptoConfig () {
        
    }

    Строка getRpcPass общественности () {
        вернуться rpcPass;
    }

    общественный недействительный setRpcPass (String rpcPass) {
        this.rpcPass = rpcPass;
    }

    Строка getRpcPort общественности () {
        вернуться rpcPort;
    }

    общественного недействительными setRpcPort (String rpcPort) {
        this.rpcPort = rpcPort;
    }

    Строка getRpcUser общественности () {
        вернуться rpcUser;
    }

    общественного недействительными setRpcUser (String rpcUser) {
        this.rpcUser = rpcUser;
    }

    Строка GetURL общественности () {
        возвратного URL;
    }

    общественного недействительными setUrl (String URL) {
        this.url = URL;
    }
    
    
    
}

Цитата: CommWithWallet
импорт java.io. *;
импорт java.util.ArrayList;
импорт java.util.logging.Level;
импорт java.util.logging.Logger;
импорт org.apache.http.HttpResponse;
импорт org.apache.http.client.methods.HttpPost;
импорт org.apache.http.entity.StringEntity;
импорт org.apache.http.impl.client.CloseableHttpClient;
импорт org.apache.http.impl.client.HttpClients;
импорт org.json.simple.JSONArray;
импорт org.json.simple.JSONObject;

общественный класс CommWithWallet {

    частное ИНТ BITCOIN_PORT_NUMBER = 9368;

    государственной статической силы основных (String [] арг) {
        CommWithWallet, что = новый CommWithWallet ();
    }

    общественный CommWithWallet () {
        System.out.println (CryptoInvoke ("BTC", "getbalance"));
    }

    Строка общественного CryptoInvoke (String валюты, String a_sMethod, Object ... a_params) {

        Строка returnString = "";

        CryptoConfig configDetails = ReadConfig (валюта);

// System.out.println (configDetails.getUrl ());
// System.out.println (configDetails.getRpcPort ());
// System.out.println (configDetails.getRpcUser ());
// System.out.println (configDetails.getRpcPass ());
// System.out.println (a_sMethod);
// System.out.println (валюта);

        пытаться {

            Строка urlString = configDetails.getUrl () + ":" + ConfigDetails.getRpcPort ();
            Строка подписи = "";

            Строка Парольпользователя = configDetails.getRpcUser () + ":" + ConfigDetails.getRpcPass ();
            кодирование String = новый sun.misc.BASE64Encoder () закодировать (userPassword.getBytes ()).

            JSONObject paramsJson = новый JSONObject ();
            paramsJson.put ("jsonrpc", "1,0");
            paramsJson.put ("Я бы", "1");
            paramsJson.put ("метод", A_sMethod);

            если (a_params! = NULL) {
                если (a_params.length > 0) {
                    JSONArray ParamArray = новый JSONArray ();
                    (БАЗ для объекта: a_params) {
                        paramArray.add (БАЗ);
                    }
                    paramsJson.put ("Титулы", ParamArray);
                }
            }

            CloseableHttpClient Cliente = HttpClients.createDefault ();
            HttpPost HttpPost = новый HttpPost (urlString);
            Строка Comando = paramsJson.toJSONString ();
            StringEntity entidad = новый StringEntity (Comando);
            httpPost.setEntity (entidad);
            httpPost.setHeader ("авторизация", "основной " + Кодирование);
            HttpResponse respuesta = cliente.execute (HttpPost);
            BufferedReader й = новый BufferedReader (новый InputStreamReader (respuesta.getEntity () getContent ()).);
            Строка inputLine = "";
            returnString = "";
            в то время как ((inputLine = rd.readLine ())! = NULL) {
                returnString + = inputLine;
            }

        } Задвижка (NumberFormatException п) {
            // btcAmountString не число
            ne.printStackTrace ();
        } Поймать (IOException п) {
            // btcAmountString не число
            ne.printStackTrace ();
        }

        вернуться returnString;
    }

    общественного CryptoConfig ReadConfig (String валюта) {

        INT номер_порта = 0;
        Строка реж = "";
        Строка fileLocation = "";

        CryptoConfig конфигурации = новый CryptoConfig ();

        если (System.getProperty ("user.home").содержит("C:")) {

            если (currency.equals ("BTC")) {
                DIR = System.getProperty ("user.home") + "\\ AppData \\ Roaming \\ Bitcoin";
                номер_порт = BITCOIN_PORT_NUMBER;
                fileLocation = каталог + "\\ bitcoin.conf";
            } Еще если (currency.equals ("")) {
            }

            ArrayList<строка> FILEINFO = новый ArrayList<строка>();
            пытаться {
                BufferedReader в = новый BufferedReader (новый FileReader (fileLocation));
                Строка inputLine = "";
                в то время как ((inputLine = in.readLine ())! = NULL) {
                    fileInfo.add (inputLine);
                }
            } Задвижка (FileNotFoundException ех) {
                . Logger.getLogger (CommWithWallet.class.getName ()) журнал (Level.SEVERE, нуль, ех);
                ex.printStackTrace ();
                System.out.println (fileLocation);
            } Поймать (IOException ех) {
                . Logger.getLogger (CommWithWallet.class.getName ()) журнал (Level.SEVERE, нуль, ех);
                ex.printStackTrace ();
                System.out.println (fileLocation);
            }

            для (String configLine: FILEINFO) {

                Строка configKey = "";
                Строка configValue = "";
                INT индекс = configLine.indexOf ( '=');
                если (индекс > 0) {
                    configKey = configLine.substring (0, индекс);
                    configValue = configLine.substring (configLine.lastIndexOf ( '=') + 1);

                    если (configKey.equals ("walleturl")) {
                        config.setUrl (configValue);
                    } Еще если (configKey.equals ("rpcport")) {
                        config.setRpcPort (configValue);
                    } Еще если (configKey.equals ("rpcuser")) {
                        config.setRpcUser (configValue);
                    } Еще если (configKey.equals ("rpcpassword")) {
                        config.setRpcPass (configValue);
                    }


                }
            }

        } Еще {
            // линукс
        }

        вернуть конфигурации;
    }
}

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

Для запуска этого есть главный метод в CommWithWallet, который создает экземпляр самого по себе, и в конструкторе вы увидите строку System.out.println ().
kamronk сейчас офлайн Пожаловаться на kamronk   Ответить с цитированием Мультицитирование сообщения от kamronk Быстрый ответ на сообщение kamronk

31 марта 2015, 8:17:37 PM   # 6
 
 
Сообщения: 896
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind JSON-RPC с Java

Любая причина, почему BitcoinJ не вариант? Это полная библиотека Java Bitcoin и имеет опции для подключения к локальному bitcoind экземпляра IIRC. https://bitcoinj.github.io/
coinpr0n сейчас офлайн Пожаловаться на coinpr0n   Ответить с цитированием Мультицитирование сообщения от coinpr0n Быстрый ответ на сообщение coinpr0n

1 апреля 2015, 6:49:07 AM   # 7
 
 
Сообщения: 297
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind JSON-RPC с Java

Любая причина, почему BitcoinJ не вариант? Это полная библиотека Java Bitcoin и имеет опции для подключения к локальному bitcoind экземпляра IIRC. https://bitcoinj.github.io/

Ну, за то, что я строй мне нужен код, чтобы быть более модульным работать со всем криптографированием, которые QT на основе (все, кроме NXT и его клонов), поэтому интерфейс JSON-RPC был лучшим выбором для подключения к Bitcoin, так как JSON-RPC поддерживается в качестве стандарта.
kamronk сейчас офлайн Пожаловаться на kamronk   Ответить с цитированием Мультицитирование сообщения от kamronk Быстрый ответ на сообщение kamronk

1 апреля 2015, 12:13:46 PM   # 8
 
 
Сообщения: 896
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind JSON-RPC с Java

Любая причина, почему BitcoinJ не вариант? Это полная библиотека Java Bitcoin и имеет опции для подключения к локальному bitcoind экземпляра IIRC. https://bitcoinj.github.io/

Ну, за то, что я строй мне нужен код, чтобы быть более модульным работать со всем криптографированием, которые QT на основе (все, кроме NXT и его клонов), поэтому интерфейс JSON-RPC был лучшим выбором для подключения к Bitcoin, так как JSON-RPC поддерживается в качестве стандарта.

Хорошо, да, что имеет смысл тогда. Некоторые altcoins сделали хорошие вилки библиотеки BitcoinJ (как Dogecoin), но не все из них. Я могу понять, почему вы собираетесь этот маршрут, если работать с другими монетами тоже.
coinpr0n сейчас офлайн Пожаловаться на coinpr0n   Ответить с цитированием Мультицитирование сообщения от coinpr0n Быстрый ответ на сообщение coinpr0n

1 апреля 2015, 2:34:11 PM   # 9
 
 
Сообщения: 117
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind JSON-RPC с Java

Ну, за то, что я строй мне нужен код, чтобы быть более модульным работать со всем криптографированием, которые QT на основе (все, кроме NXT и его клонов), поэтому интерфейс JSON-RPC был лучшим выбором для подключения к Bitcoin, так как JSON-RPC поддерживается в качестве стандарта.
Я использую JSON-простой библиотеки для доступа к функциям bitcoind RPC. Посмотрите на Request.java в BitcoinMonitor для примера.
ScripterRon сейчас офлайн Пожаловаться на ScripterRon   Ответить с цитированием Мультицитирование сообщения от ScripterRon Быстрый ответ на сообщение ScripterRon

1 апреля 2015, 3:33:47 PM   # 10
 
 
Сообщения: 297
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind JSON-RPC с Java

Ну, за то, что я строй мне нужен код, чтобы быть более модульным работать со всем криптографированием, которые QT на основе (все, кроме NXT и его клонов), поэтому интерфейс JSON-RPC был лучшим выбором для подключения к Bitcoin, так как JSON-RPC поддерживается в качестве стандарта.
Я использую JSON-простой библиотеки для доступа к функциям bitcoind RPC. Посмотрите на Request.java в BitcoinMonitor для примера.

Да, это то, что я использую в моем примере выше
kamronk сейчас офлайн Пожаловаться на kamronk   Ответить с цитированием Мультицитирование сообщения от kamronk Быстрый ответ на сообщение kamronk



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW