Incapaz de ejecutar getwork lógica en java

Iba a través de este post en el intercambio de la pila ¿Cómo puedo código de un Bitcoin JSON-RPC "getwork" request en Java?

Traté de escribir un simple fragmento de sólo el getwork json rpc.

public static void main(String[] args) throws Exception {

 Cadena de solicitud = "{\"el método\": \"getwork\", \"params\": [], \"id\":0}";
 URL URL = new URL("http://de01.supportxmr.com:7777");

 HttpURLConnection conn = (HttpURLConnection) dirección url.openConnection();
 si (conn .getConnectTimeout() == 0)
conn.setConnectTimeout(1000);
 si (conn.getReadTimeout() == 0)
conn.setReadTimeout(1000);
conn.setRequestMethod("POST");
 Cadena codificada = Base64.getEncoder().encodeToString(("<my_wallet_addr>:x").getBytes(StandardCharsets.UTF_8)); //Java 8
 conn.setRequestProperty("Autorización", "Basic "+codificado);
 conn.setRequestProperty("Aceptar", "application/json");
 conn.setRequestProperty("Content-Type", "application/json");
 conn.setRequestProperty("Content-Length", Entero.toString(solicitud.getBytes().longitud));
 conn.setRequestProperty("X-Minería-Extensiones", "midstate");
conn.setAllowUserInteraction(false);
conn.setUseCaches(false);
conn.setDoOutput(true);

 DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(solicitud);
wr.close();

 InputStream is = conn.getInputStream();
 ByteArrayOutputStream bos = new ByteArrayOutputStream();
 int len;
 byte[] buffer = new byte[4096];
 while ((len = es.read(buffer)) != -1) {
 bos.write(buffer, 0, len);
}
 String contenido = bos.toString();
es.close();

Sistema.a cabo.println(contenido);

}

cuando ejecuto este código, me sale un error

Excepción en el thread "main" java.net.SocketException: final Inesperado del archivo desde el servidor
en el sol.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:792)
en el sol.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
en el sol.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:789)
en el sol.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
en el sol.net.www.protocolo.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1536)
en el sol.net.www.protocolo.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
en org.litecoinpool.minero.Prueba.principal(de Prueba.java:42)

Lo que me estoy perdiendo aquí? Es el estrato proxy es necesario que se esté ejecutando en la máquina? Si es así ¿cómo puedo especificar los parámetros para ejecutar en el código de java?

Traté de una conexión TCP directa también para el servidor.

public static void main(String[] args) throws Exception {
 Cadena de message1 = "{\"id\":1,\"el método\":\"la minería.suscribirse\",\"params\":[]}";
 Cadena de authorizemessage = "{\"params\": [\"<wallet_address>\", \"x\"], \"id\": 2, \"el método\": \"la minería.autorizar\"}";


 Zócalo de la soc = new Socket("de01.supportxmr.com", 7777);
Sistema.a cabo.println("conectado");
 OutputStream outputStream = soc.getOutputStream();
outputStream.escribir(authorizemessage.getBytes());
outputStream.flush();

 Clases bufferedreader in = new clases bufferedreader(new InputStreamReader(soc.getInputStream()));
 JSONObject json = new JSONObject(en.readLine());

 Sistema.a cabo.println("respuesta json:" + json.toString());

outputStream.escribir(message1.getBytes());
outputStream.flush();

 en = nuevas clases bufferedreader(new InputStreamReader(soc.getInputStream()));
 json = new JSONObject(en.readLine());

 Sistema.a cabo.println("respuesta json:" + json.toString());

}

pero no hay suerte de nuevo :(

+989
totophe 5 ene. 2015 6:00:46
16 respuestas

Esto es lo que funcionó para mí en MAC OS 10.6.8 con Bitcoin-Qt 0.8.1 beta. Estoy combinando y edición de los Pigmeos de secuencia de comandos y Nick ODells respuesta, hubo un par de errores tipográficos.

También tenga en cuenta, abrí la aplicación con un clic derecho >> "Mostrar Contenido del Paquete" y, a continuación, editar los archivos en el finder, y TextWrangler. Terminal No se requiere!

1) Crear nuevo directorio en Bitcoin-Qt.app/Contents/Resources y el nombre de los datos

2) Navegar hasta un nivel superior y, a continuación, abra la carpeta MacOS

3) En esa carpeta, crear un nuevo archivo llamado start.sh

4) abrir ese nuevo archivo en un editor de texto y escribe:

#! /bin/sh
dir1=$(cd "$(dirname "$0")"; pwd)
dir=`echo $dir1 | sed 's/"/\\"/g' | tr -d '\n"
datos="$dir/../Resources/datos"
"$dir"/Bitcoin-Qt -datadir="$data"

tenga en cuenta que la última línea contiene el nombre de los otros archivos en el MacOS carpeta (Bitcoin-Qt). Eso es lo importante! Debido a que es el programa que será ejecutado al final de la secuencia de comandos que usted acaba de escribir. También, la cuarta línea se ha de vincular a los 'datos' de la carpeta que hemos creado en el paso #1

5) Navegar hasta un nivel de Bitcoin-Qt.app/Contents/ y abrir el archivo llamado Info.plist

6) Encontrar las líneas que se parecen a esto:

<key>CFBundleExecutable</key>
<string>Bitcoin-Qt</string>

Cambiar a:

<key>CFBundleExecutable</key>
<string>start.sh</string>
+894
Bluejay511 03 февр. '09 в 4:24

Hay datos disponibles sobre cómo muchas personas utilizan una alternativa de cliente en contraste con el cliente Satoshi? Alternativamente, hay datos sobre cuántas veces en que los clientes han descargado?

+809
Xenopus 11 mar. 2014 22:58:53

No he visto ninguna respuesta concreta a esta pregunta en cualquier lugar. Supongo que es posible para obtener el número total de transacciones exitosas en el bitcoin red utilizando bitcoin-comando de la cli porque la mayoría de los exploradores de proporcionar esta información. ¿Cómo puedo obtener esta información de una totalmente sincronizado nodo?

+761
Hasaan Ali 5 jul. 2019 8:46:36
  1. El Bitcoin se genera de acuerdo con el protocolo de la Prueba de Trabajo que proporcionan a la red. La recompensa está compuesto de un bloque de recompensa y los honorarios de la transacción de bitcoin transacciones incluidas en el bloque.
  2. No. Extrae las monedas son nuevos en la circulación y no de otra persona. Las tarifas de transacción no son robados. El remitente de cada transacción decide cuánto de un cargo de transacción para pagar el minero. Tarifas más altas tienen más probabilidades de resultar en un rápido tiempo de confirmación.
  3. No miedo de ser robado al realizar las transacciones. En su lugar el miedo a ser robado por aquellos en los que confía para mantener bitcoin en su nombre. Aprender cómo proteger su propia bitcoin y mantener su clave privada y segura.
  4. Bitcoin es un público de contabilidad registra en una blockchain. Cada dirección es controlada por una clave privada. Al enviar Bitcoin desde una dirección a otra, la única persona que puede pasar es que el propietario de la clave privada de la dirección en la que se envío el bitcoin a. El minero no puede interceptar su bitcoin y se la roban. Sólo verificar la transacción se llevó a cabo, registro en la parte superior de la blockchain para que el mundo vea.
  5. La legalidad de Bitcoin minería de datos puede variar según la jurisdicción, pero está ocurriendo en todo el mundo. Hasta el momento no parecen ser una más de las leyes destinadas a la regulación de los intercambios de los mineros.

Aquí hay un par de sencillos y más referencias técnicas como usted lo solicitó:

https://www.youtube.com/watch?v=GmOzih6I1zs

https://www.youtube.com/watch?v=l9jOJk30eQs

https://bitcoin.org/en/developer-guide#term-proof-of-work

https://en.bitcoin.it/wiki/Controlled_supply

+738
Kyone 15 jun. 2015 6:18:49

He utilizado un moneygram y comprar algunos Bitcoins. Utilizando la información que yo tengo de ZipZap, yo era capaz de obtener la dirección donde el dinero fue enviado y a través del bloque explorer que está ahí. Tengo el ScriptPubKey que contiene (espero) lo que tengo que hacer para conseguir las monedas. Por desgracia, no tengo idea de cómo llegar a ella. Tengo muy poco conocimiento de programación o codificación. ¿Cómo puedo divulgar esta información sin necesidad de volver a la universidad?

+684
Hammer Vriger 8 feb. 2013 5:24:31

Mira http://dustcoin.com/mining. Las monedas que se haya determinado como SHA-256 algoritmos (por ejemplo, Bitcoins, PPCoins, Namecoins, y Devcoins) tienen buenas posibilidades de ser extraído con BFL-como ASIC de minería de hardware. Recuerde que algunas monedas apoyo combinado minero de la mina una vez y recibir pagos en varias divisas. Su grupo centralizado apoya combinado de minería de datos, o tienes que hacerlo por tu propia cuenta.

+647
Agile Scout 25 feb. 2011 17:33:00

Estoy tratando de averiguar exactamente cómo las transacciones se confirman en un bloque. Entiendo que para confirmar una transacción, hash con sus asociados de la transacción y, a continuación, los asociados de hashes, hasta obtener la Merkle raíz, y si el Merkle raíz es la misma que la que hay en el bloque, la transacción es legítimo.

Pero, ¿cómo iba a saber a alguien que de transacción asociados se requiere hash con su transacción para confirmar su validez? Y dónde puedes conseguir a partir de?

También, estoy un poco confundido acerca de Segregadas Testigo. Como yo lo entiendo, las firmas están separados de las transacciones y las firmas se reparten de la misma manera como las transacciones. Esta última firma hash es fragmenta con el final de la transacción hash para formar un Merkle raíz, o se está incluida como otro Merkle raíz en un campo separado en el bloque. Pero si el Merkle raíz es siempre el mismo tamaño (supongo), ¿cómo este ahorrar espacio? Si el Merkle raíz siempre es de 256 bits, ¿por qué importa si las firmas se reparten con las transacciones o de hash por separado?

No puedo encontrar respuestas claras a mis preguntas, así que cualquier ayuda será apreciada.

+644
countermode 8 dic. 2015 12:35:40

Heres cómo lo hago en node.js

var eventos = require ("eventos");
var io = require('socket.io-cliente');

var MTGOX = function(){
 var = auto esta;
 var socket = io.connect('https://socketio.mtgox.com/mtgox'); 

 zócalo.en('mensaje', function(data){

 var mensaje = datos;

 if( mensaje.privado == "profundidad"){
 auto.emit('profundidad', de datos.la profundidad); 
 } else if( mensaje.privado == "ticker" ){
 auto.emit('ticker', de datos.ticker);
 } else if( mensaje.privado == "el comercio" ){
 auto.emit('el comercio', de datos.comercio);
}

});
};

MTGOX.el prototipo.__proto__ = eventos.EventEmitter.prototipo;

y, a continuación, acabo de escuchar la profundidad de eventos. También he encontrado este proyecto útil cuando yo estaba primero calcular esto.

+615
studmuffin855 18 nov. 2014 6:25:39

No estoy seguro si esta es la solución real, pero he exportado mi MultiBit Clásico de las claves privadas y los importados mi dirección blockchain.info servicio de monedero.

Una vez hice que mi transacción fue confirmado en 24 horas.

+551
Bill Jobs 17 abr. 2018 0:56:41

Estoy tratando de instalar la versión actual de namecoin desde github.

Después de mucho trabajo y hurgando, me encontré con el oficial instrucciones de instalación aquí:https://github.com/namecoin/wiki/wiki/Build-Namecoin-From-Source

Las instrucciones son:

git clone https://github.com/namecoin/namecoin.git
cd de namecoin/src
make-f makefile.unix namecoind

El único problema, no hay ningún makefile.unix, sólo Make y make.mingw

Alguien conseguir a través de algo como esto?

+472
Leonardo Pina 13 mar. 2016 21:20:33

Importación a un Blockchain.info billetera.

O utilizar la secuencia de comandos de python a partir de: http://en.bitcoin.it/wiki/Mini_private_key_format#Decoding

+364
Brusselssprout 27 ago. 2019 0:25:20

Si yo era un artista, me hubiera bitpay integrado a mi sitio Web, o dirigir a las personas a una tienda en línea como Cryptothrift donde mi canción sería mencionados y se puede comprar allí con bitcoins.

+285
user298902 5 ago. 2013 13:10:39
  • Bitcoin y bitcoind versiones v0.3.14 - v0.3.19 de la primera testnet.
  • Bitcoin, Bitcoin-Qt y bitcoind versiones v0.3.20 - v0.6.1 utiliza el segundo testnet.
  • Bitcoin-Qt y bitcoind versión v0.7.0 y sobre el uso de la tercera testnet.
+150
Kollegekosovo 13 mar. 2010 18:55:02

He instalado electrum creado mi puño cartera y el aviso de que en lugar de tener que guardar un monedero.dat archivo, Si estoy en lo correcto solo necesito guardar/escritura de 12 de semilla de palabras.

Si entiendo correctamente las semillas usadas para crear la cartera, siempre producirá el mismo resultado, pero ¿cómo funciona el proceso de recuperar las obras con el fin de restaurar/recuperar la cartera de equilibrio?

Es el blockchain comprobado en contra de mi cartera claves para reclamar la propiedad de las transacciones que donde firmó con mis llaves en el fin de recuperar la posible funda?

+144
CSRomo 16 nov. 2012 4:58:11

Creo que sería de utilidad saber que PayPal honores el original de la tasa de cambio en el momento de la compra (ver aquí).

Este es el comportamiento que se esperaría si no se indica lo contrario en los Términos y Condiciones del proveedor. Usted ha intentado realizar un intercambio de sus Bitcoins a cambio de un elemento, el elemento nunca fue recibido por consiguiente, los Bitcoins debe ser devuelto.

El precio en Bitcoins, porque usted paga en Bitcoins por lo tanto, la compañía tomó Bitcoins fuera de usted y no el equivalente en otra moneda. Si la empresa fija el valor de los Bitcoins basado en contra de su tipo de cambio con otra moneda es totalmente irrelevante, no pagar con esa moneda.

Simplemente no cambio nunca ha ocurrido aquí, usted paga en Bitcoins, usted recibirá Bitcoins de nuevo, no veo cómo el vendedor tiene el derecho a ajustar el número de Bitcoins que va a volver, porque el mercado es favorable para hacerlo. Cambió los Bitcoins de un elemento, no $75, no recibir el artículo. Simple.

Editar:

No parece haber un malentendido relacionado con el hecho de que el vendedor se encuentra en los estados unidos y que USD debe ser aceptado (otros han dicho, yo no puedo garantizar este).

Lo que la ley no es la cantidad de DÓLARES necesarios para liquidar una deuda, todo lo que se está diciendo es que un dólar equivalente debe ser proporcionada. La deuda de aquí es de 1 bitcoin, y el equivalente en dólares está claro que no es de $75.

Por favor, dejen de llamar bitcoins un método de pago y no una moneda. No son un método; domiciliación bancaria, domiciliación bancaria y de transferencia son todos los métodos de pago, bitcoin es una moneda en este sentido, ya que es un activo que el vendedor está dispuesto a aceptar una cantidad a cambio de sus mercancías. Bitcoins son la entrada para el método en este sentido.

Muchas de ustedes incluso el estado de que bitcoin es una moneda aceptada por el intercambio de divisas. Sin embargo, afirman que es solo un método de pago más tarde. Se le puede llamar skeumorphism haciendo referencia a su bitcoin caché como una billetera, pero en todos los demás que estamos tratando esto como una moneda, si luego quiere reclamar no es realmente tan sorprendente que es tan volátil como es?

La volatilidad es causada por la incertidumbre, y este es un excelente ejemplo de por qué la gente no está seguro acerca de bitcoin. Hay ejemplos de extremadamente volátil gobierno monedas respaldadas por ahí, no veo cómo la volatilidad es un argumento en contra de su estado.

+115
Randolpho 12 may. 2016 23:15:49

En la configuración de Jaxx Cartera, en virtud de la Minería BTC Tarifa, hay tres opciones:

  • Rápido
  • Promedio
  • Lento

¿Cómo puedo averiguar la actual tarifa de transacción para cada una de estas opciones?

+24
Herschel 20 ago. 2011 16:36:44

Mostrar preguntas con etiqueta