La pinta es que no es arquitectura de 64 bits pero seguramente si sois unos frikis del Linux igual hasta lo conseguís recompilar.
Vamos a intentar un envío de orocs, enviaré 1.99 a Señorita Pepis
(1CXotAhZ7iqFeSo2dRxdqe7SuRKDYBomUwkn73)
desde mi direccion 1AXZb5rARCuuNsAPZ5gBvBCQHeFgAQSkgmJvdd
Antes de empezar vemos que la mempool está vacia de transacciones pendientes:
c:\temp\multichain>multichain-cli LoLCoin_Test getmempoolinfo
{"method":"getmempoolinfo","params":[],"id":1,"chain_name":"LoLCoin_Test"}
{
"size" : 0,
"bytes" : 0
}
Y que vamos por el bloque 360 en el momento de la prueba.
c:\temp\multichain>multichain-cli LoLCoin_Test getinfo
{"method":"getinfo","params":[],"id":1,"chain_name":"LoLCoin_Test"}
{
"version" : "1.0.2",
"nodeversion" : 10002901,
"protocolversion" : 10009,
"chainname" : "LoLCoin_Test",
"description" : "Prueba LoLCoin",
"protocol" : "multichain",
"port" : 7737,
"setupblocks" : 60,
"nodeaddress" : "
[email protected]:7737",
"burnaddress" : "1XXXXXXWxXXXXXXXWqXXXXXXTgXXXXXXWiZ2J1",
"incomingpaused" : false,
"miningpaused" : false,
"walletversion" : 60000,
"balance" : 26700.00000000,
"walletdbversion" : 2,
"reindex" : false,
"blocks" : 360,
"timeoffset" : 0,
"connections" : 1,
"proxy" : "",
"difficulty" : 0.00000006,
"testnet" : false,
"keypoololdest" : 1516883631,
"keypoolsize" : 2,
"paytxfee" : 0.00000000,
"relayfee" : 0.00000000,
"errors" : ""
}
Ahora intento hacer el envío mal, en vez de meter mi direccion primero y la de destino después, lo pongo al revés para ver el error que da:
c:\temp\multichain>multichain-cli LoLCoin_Test sendfrom 1CXotAhZ7iqFeSo2dRxdqe7SuRKDYBomUwkn73 1AXZb5rARCuuNsAPZ5gBvBCQHeFgAQSkgmJvdd 1.99 "LoL dice que nos bendice"
{"method":"sendfrom","params":["1CXotAhZ7iqFeSo2dRxdqe7SuRKDYBomUwkn73","1AXZb5rARCuuNsAPZ5gBvBCQHeFgAQSkgmJvdd",1.99000000,"LoL dice que nos bendice"],"id":1,"chain_name":"LoLCoin_Test"}
error code: -709
error message:
Private key for from-address is not found in this wallet
Efectivamente, tengo la clave pública del destinatario, pero no la privada, y por tanto no puedo transferir fondos en su nombre.
Ahora lo hacemos bien:
c:\temp\multichain>multichain-cli LoLCoin_Test sendfrom 1AXZb5rARCuuNsAPZ5gBvBCQHeFgAQSkgmJvdd 1CXotAhZ7iqFeSo2dRxdqe7SuRKDYBomUwkn73 1.99 "LoL dice que nos bendice"
{"method":"sendfrom","params":["1AXZb5rARCuuNsAPZ5gBvBCQHeFgAQSkgmJvdd","1CXotAhZ7iqFeSo2dRxdqe7SuRKDYBomUwkn73",1.99000000,"LoL dice que nos bendice"],"id":1,"chain_name":"LoLCoin_Test"}
4d38d3a366b5b1292c216bf0f51222f57c9b2be6e600ec0da5f250ce779337c4
Este ultimo numerajo es el código de la transacción, lo cual quiere decir que ha sido efectuada correctamente.
En estos momentos decimos que la transacción esta
sin confirmar
Vamos a mirar la información del mempool para corroborarlo. Hasta que no pasen 5 minutos (o menos si el anterior bloque fue minado hace varios minutos)
la transacción no será recogida del mempool por un minero, y será registrada como bloque válido del libro de contabilidad
(blockchain)
c:\temp\multichain>multichain-cli LoLCoin_Test getmempoolinfo
{"method":"getmempoolinfo","params":[],"id":1,"chain_name":"LoLCoin_Test"}
{
"size" : 1,
"bytes" : 226
}
c:\temp\multichain>multichain-cli LoLCoin_Test getrawmempool true
{"method":"getrawmempool","params":[true],"id":1,"chain_name":"LoLCoin_Test"}
{
"4d38d3a366b5b1292c216bf0f51222f57c9b2be6e600ec0da5f250ce779337c4" : {
"size" : 226,
"fee" : 0.00000000,
"time" : 1517563141,
"height" : 360,
"startingpriority" : 19743589743.58974457,
"currentpriority" : 19743589743.58974457,
"depends" : [
]
}
}
Vemos que figura el id de transaccion (txid en jerga) en el mempool lo que significa que está sin confirmar.
Volvemos 5 minutos después y vemos que el mempool está vacío ya
c:\temp\multichain>multichain-cli LoLCoin_Test getrawmempool true
{"method":"getrawmempool","params":[true],"id":1,"chain_name":"LoLCoin_Test"}
{
}
Si ejecutamos getinfo veremos que el numero de bloques ha aumentado, y podemos consultar tanto el dato de la transaccion como del bloque donde se ha ubicado
c:\temp\multichain>multichain-cli LoLCoin_Test gettxout 4d38d3a366b5b1292c216bf0f51222f57c9b2be6e600ec0da5f250ce779337c4 0
{"method":"gettxout","params":["4d38d3a366b5b1292c216bf0f51222f57c9b2be6e600ec0da5f250ce779337c4",0],"id":1,"chain_name":"LoLCoin_Test"}
{
"bestblock" : "00818ba72dcf0d40e9e0191675f6550c858fb36e5afbf838e76fa02148642f23",
"confirmations" : 3,
"value" : 1.99000000,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 55517dfdc6ced54baad34805bb3665974df50a23 OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a91455517dfdc6ced54baad34805bb3665974df50a2388ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"1CXotAhZ7iqFeSo2dRxdqe7SuRKDYBomUwkn73"
]
},
"version" : 1,
"coinbase" : false,
"assets" : [
],
"permissions" : [
]
}
Vemos que pone "confirmations" : 3, lo que quiere decir que además del bloque 361 de la transacción, se han minado 2 bloques más después.
"coinbase" : false quiere decir que la transacción no se corresponde con una recompensa de bloque (la que no tiene entradas y tiene una unica salida de 100 orocs para el que mina el bloque)
sino que es una transacción con entrada (mis 1.99 LoLCoins) y salida (los 1.99 LoLCoins para el destinatario)
Pronto veremos los conceptos más avanzados de "entradas" y "salidas", de momento con que entendáis esto me doy con un canto en los dientes.
c:\temp\multichain>multichain-cli LoLCoin_Test getblock 361
{"method":"getblock","params":["361"],"id":1,"chain_name":"LoLCoin_Test"}
{
"hash" : "004c3c45cb4a15fa0b1036274528d4f9312b7f60faa8fe940dee80194e0e2cd1",
"miner" : "1XRE6frjMSppF8EDVNU5ypUHepwL4jdYkT2VpK",
"confirmations" : 4,
"size" : 526,
"height" : 361,
"version" : 3,
"merkleroot" : "f23b0262713e6d9e772af2420e12e6940b7cbaa82aa8b9881d6e166778a21446",
"tx" : [
"876a46c3728d2ec6ea1c65aa8d8a4ef1ca48824974bee306e43a94eb97d03735",
"4d38d3a366b5b1292c216bf0f51222f57c9b2be6e600ec0da5f250ce779337c4"
],
"time" : 1517563824,
"nonce" : 13,
"bits" : "2000ffff",
"difficulty" : 0.00000006,
"chainwork" : "0000000000000000000000000000000000000000000000000000000000016a00",
"previousblockhash" : "00d20eb09578a41ecc9b50f47a767ab0971591957409cf903c07274e5d75678c",
"nextblockhash" : "00afc92810fa82fab511d6af2399cfcdb238ce0f0596e722ae08426ca12a0a02"
}
Vemos que el bloque 361 tiene dos transacciones, una la que acabamos de hacer "4d38d3a366b5b1292c216bf0f51222f57c9b2be6e600ec0da5f250ce779337c4"
y la otra es "876a46c3728d2ec6ea1c65aa8d8a4ef1ca48824974bee306e43a94eb97d03735", que logicamente será la transacción "coinbase"
por la cual se premia al minero "1XRE6frjMSppF8EDVNU5ypUHepwL4jdYkT2VpK", que es la segunda dirección de Hijnacio, quien
se lleva los 100 orocs de recompensa.
Ya que estamos veamos la informacion de esa txid
c:\temp\multichain>multichain-cli LoLCoin_Test gettxout 876a46c3728d2ec6ea1c65aa8d8a4ef1ca48824974bee306e43a94eb97d03735 0
{"method":"gettxout","params":["876a46c3728d2ec6ea1c65aa8d8a4ef1ca48824974bee306e43a94eb97d03735",0],"id":1,"chain_name":"LoLCoin_Test"}
{
"bestblock" : "0041ed8f1e5279ab540b7670c00d56693edc7f5243630f23963456a44ec93bb8",
"confirmations" : 7,
"value" : 100.00000000,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 e10ee68a60b701638da7ba05023c5868bae1a9de OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a914e10ee68a60b701638da7ba05023c5868bae1a9de88ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"1XRE6frjMSppF8EDVNU5ypUHepwL4jdYkT2VpK"
]
},
"version" : 1,
"coinbase" : true,
"assets" : [
],
"permissions" : [
]
}
Os recomiendo encarecidamente que repitáis el experimento de transferencia vosotros, para haceros poco a poco con estos conceptos,
y asi podamos seguir con temas más avanzados la semana que viene.
Vrumotto: "18zsqS3mryvu3wDoN9KXfZwQpuNZ4AzdcyCrWa"
Travelord: "1QN3M7EDbRDCvzL2TF8u5vTeWnWd9yzpAvBSKi"
Hijnazio: "18RX2RwMSqnN16xLkUYG7oNsVod8gPNoZu4dBz"
Hijnazio2: "1XRE6frjMSppF8EDVNU5ypUHepwL4jdYkT2VpK"
Señorita Pepis: "1CXotAhZ7iqFeSo2dRxdqe7SuRKDYBomUwkn73"
MIP: "1AXZb5rARCuuNsAPZ5gBvBCQHeFgAQSkgmJvdd"