Pour vérifier le code sur le flux d'exécution du programme C dans ubuntu

Combien de DEATH NOTE le manga ne l'Frank Wildhorn de théâtre musical de couverture? (Plus d'info en anglais est ici.)

(Je suppose que la production coréenne est une traduction de la même script plutôt que sur des contenus différents de la production Japonaise, mais si elle est différente, je voudrais savoir quelle partie du manga Japonais mise en scène housses de quelle partie de l'univers du manga, la version coréenne couvre.)

+984
hibob 29 janv. 2012, 13:05:42
16 réponses

De la Foudre Réseau de documentation:

Utilisé dans plusieurs de le BOULON de documents pour désigner la genèse de hachage d'une cible blockchain. Cela permet aux nœuds de créer des voies de référence et sur plusieurs blockchains. Les nœuds sont à ignorer tous les messages qui font référence à un chain_hash qui sont inconnus pour eux. Contrairement à bitcoin-cli, le hash est pas inversés, mais est utilisé directement.

Pour la chaîne principale blockchain Bitcoin, la chain_hash valeur DOIT être (codée en hexadécimal): 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000.

Toutefois, cette entrée wiki à propos de Bitcoin est la genèse du bloc a

GetHash() = 0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

En effet, la saisie de la dernière valeur dans blockchain.info les rendements du Bloc 0, tandis que l'ancienne valeur ne peut pas être trouvé sur blockchain.info.

Pourquoi la valeur 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000 apparaissent dans la Foudre de Réseau comme "Bitcoin est la genèse de hachage"?

+914
mywjch 03 февр. '09 в 4:24

Je suis en train d'essayer de comprendre et de vérifier P2SH script par la rédaction d'un code python pour analyser le réel de la transaction dans la blockchain. J'ai choisi ci-dessous Transaction au hasard. TxID: 7edb32d4ffd7a385b763c7a8e56b6358bcd729e747290624e18acdbe6209fc45

Je suis BadSignatureError.

Brut de la transaction:

bitcoin-cli getrawtransaction 7edb32d4ffd7a385b763c7a8e56b6358bcd729e747290624e18acdbe6209fc45
0100000001c8cc2b56525e734ff63a13bc6ad06a9e5664df8c67632253a8e36017aee3ee40000000009000483045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001455141042f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf51aefeffffff0120f40e00000000001976a9141d30342095961d951d306845ef98ac08474b36a088aca7270400

Décoder au-dessus des transactions et obtenir l'ID de Transaction de verrouillage de script:

bitcoin-cli decoderawtransaction $(bitcoin-cli getrawtransaction 7edb32d4ffd7a385b763c7a8e56b6358bcd729e747290624e18acdbe6209fc45)
{
 "txid": "7edb32d4ffd7a385b763c7a8e56b6358bcd729e747290624e18acdbe6209fc45",
 "hash": "7edb32d4ffd7a385b763c7a8e56b6358bcd729e747290624e18acdbe6209fc45",
 "version": 1,
 "size": 229,
 "vsize": 229,
 le "poids": 916,
 "locktime": 272295,
 "vin": [
{
 "txid": "40eee3ae1760e3a8532263678cdf64569e6ad06abc133af64f735e52562bccc8",
 "vout": 0,
 "scriptSig": {
 "asm": "0 3045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b790[ALL] 5141042f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf51ae",
 "hex": "00483045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001455141042f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf51ae"
},
 "séquence": 4294967294
}
],
 "vout": [
{
 "value": 0.00980000,
 "n": 0,
 "scriptPubKey": {
 "asm": "OP_DUP OP_HASH160 1d30342095961d951d306845ef98ac08474b36a0 OP_EQUALVERIFY OP_CHECKSIG",
 "hex": "76a9141d30342095961d951d306845ef98ac08474b36a088ac",
 "reqSigs": 1,
 "type": "pubkeyhash",
 "adresses": [
"13fLLox43yXYvfoZadXpGbkTUXkW8bhqut"
]
}
}
]
}

Obtenir Décodé Opération de verrouillage de script:

bitcoin-cli decoderawtransaction $(bitcoin-cli getrawtransaction 40eee3ae1760e3a8532263678cdf64569e6ad06abc133af64f735e52562bccc8)
{
 "txid": "40eee3ae1760e3a8532263678cdf64569e6ad06abc133af64f735e52562bccc8",
 "hash": "40eee3ae1760e3a8532263678cdf64569e6ad06abc133af64f735e52562bccc8",
 "version": 1,
 "size": 189,
 "vsize": 189,
 le "poids": 756,
 "locktime": 0,
 "vin": [
{
 "txid": "42a3fdd7d7baea12221f259f38549930b47cec288b55e4a8facc3c899f4775da",
 "vout": 0,
 "scriptSig": {
 "asm": "3044022048d1468895910edafe53d4ec4209192cc3a8f0f21e7b9811f83b5e419bfb57e002203fef249b56682dbbb1528d4338969abb14583858488a3a766f609185efe68bca[ALL] 031a455dab5e1f614e574a2f4f12f22990717e93899695fb0d81e4ac2dcfd25d00",
 "hex": "473044022048d1468895910edafe53d4ec4209192cc3a8f0f21e7b9811f83b5e419bfb57e002203fef249b56682dbbb1528d4338969abb14583858488a3a766f609185efe68bca0121031a455dab5e1f614e574a2f4f12f22990717e93899695fb0d81e4ac2dcfd25d00"
},
 "séquence": 4294967295
}
],
 "vout": [
{
 "value": 0.00990000,
 "n": 0,
 "scriptPubKey": {
 "asm": "OP_HASH160 e9c3dd0c07aac76179ebc76a6c78d4d67c6c160a OP_EQUAL",
 "hex": "a914e9c3dd0c07aac76179ebc76a6c78d4d67c6c160a87",
 "reqSigs": 1,
 "type": "scripthash",
 "adresses": [
"3P14159f73E4gFr7JterCCQh9QjiTjiZrg"
]
}
}
]
}

Nous avons besoin d'évaluer le déverrouillage de script + blocage de script.

déverrouillage de script:

00483045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001455141042f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf51ae

Évaluer le déverrouillage de script:

étape 1: pile -> 0x00 (OP_0)
étape 2: pile -> 0x00, 0x3045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001
étape 3: pile -> 0x00, 
0x3045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001, 
0x5141042f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf51ae

Copie de cette pile stack_copy

verrouillage de script:

a914e9c3dd0c07aac76179ebc76a6c78d4d67c6c160a87

Évaluer le verrouillage de script, maintenant avec la pile:

étape 4: 0xa9 (OP_HASH160)
pile -> 0x00,
0x3045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001,
0xe9c3dd0c07aac76179ebc76a6c78d4d67c6c160a

étape 5: 0x14 (pushdata 20 octets) 0xe9c3dd0c07aac76179ebc76a6c78d4d67c6c160a
pile -> 0x00,
0x3045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001,
0xe9c3dd0c07aac76179ebc76a6c78d4d67c6c160a,
0xe9c3dd0c07aac76179ebc76a6c78d4d67c6c160a

étape 6: 87 OP_EQUAL
pile -> 0x00,
0x3045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001,
0x01

Depuis OP_EQUAL retourné et il est P2SH nous évaluons racheter script copié pile

pile = stack_copy

racheter script = pile.pop():

0x5141042f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf51ae

Évaluer racheter script:

étape 7: 0 x 51 (OP_1)
pile -> 0x00,
0x3045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001,
0x01

étape 8: 0x41 (Pushdata 65 octets) 042f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf
pile -> 0x00,
0x3045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001,
0x01,
0x042f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf

étape 9: 0 x 51 (OP_1)
pile -> 0x00,
0x3045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001,
0x01,
0x042f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf,
0x01

étape 10: 0xae (OP_CHECKMULTISIG)
Nous avons 1 sig et 1 pubkey. Pour vérifier multisig nous devons obtenir de l'opération qui a été signé. Nous reviendrons à cette étape une fois que nous avons transaction qui a été signé.

La Signature de la pile:

0x3045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001

Analyser Signature:

0x30 DER
0x45 Longueur
0x02 Type Integer
0x21 Longueur de la r
00 (ignorer) ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf883 (r)
02 Type Integer
20 Longueur de s
0b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b790 (s)
01 SIGHASH_ALL

Sig-type est SIGHASH_ALL afin de remplacer uniquement le déverrouillage de script avec verrouillage de script.

r||s: -------------------------------------------------------------(1) ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf8830b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b790

L'analyse brute opération de déverrouillage de script:

01 00 00 00 Version
01 entrée de comptage
c8 cc 2b 56 52 5e 73 4f f6, 3a 13 avant j.-c. 6a d0 6a 9e 56 64 df 8c 67 63 22 53 a8 e3 60 17 ae e3 ee 40 de la transaction Précédente
00 00 00 00 transaction Précédente index
--------- remplacez le [
90 
00 48 30 45 02 21 00 ad 08 51 c6 d7 9d 56 b4 51 
90 b5 a8 e9 7c b4 ac 3c 2b 0f a2 f2 aa e2 3a ed 
6c a9 7a b3 3b f8 83 02 20 0b 24 85 93 ab c1 25
95 12 79 3e 7d ea 61 03 6c 60 17 75 eb b2 36 40 
a0 12 0b 0d ba 2c 34 b7 90 01 45 51 41 04 90 2f 
07 4d 7a 5b f3 72 0c fc 3a 8d fd 13 81 bd bd 30 
40 70 10 e8 78 f3 a1 12 69 d5 f7 4a 58 78 85 05 
cd ca 22 ea 6e ab 7c fb 40 dc 0e 07 ab a2 00 42 
4a b0 d7 91 22 a6 53 ad 0c 7e c9 89 6b df 51 ae
------------- ]
fe ff ff ff séquence
01 hors comte
20 f4 0e 00 00 00 00 00 valeur 
19 taille de script
76 a9 14 1d 30 34 20 95 96 1d 1d 95 30 68 45 ef 98 ac 08 47 4b 36 a0 88 ac script pubkey
a7 27 04 00 délai de verrouillage
---> Ajouter SIGHASH_ALL ici

Après le remplacement de blocage de script avec le déverrouillage de script:

01 00 00 00 Version
01 entrée de comptage
c8 cc 2b 56 52 5e 73 4f f6, 3a 13 avant j.-c. 6a d0 6a 9e 56 64 df 8c 67 63 22 53 a8 e3 60 17 ae e3 ee 40 de la transaction Précédente
00 00 00 00 transaction Précédente index
------- blocage de script [
17
a914e9c3dd0c07aac76179ebc76a6c78d4d67c6c160a87
------- ]
fe ff ff ff séquence
01 hors comte
20 f4 0e 00 00 00 00 00 valeur 
19 taille de script
76 a9 14 1d 30 34 20 95 96 1d 1d 95 30 68 45 ef 98 ac 08 47 4b 36 a0 88 ac 
a7 27 04 00 délai de verrouillage
01 00 00 00 SIGHASH_ALL

Maintenant d'effectuer OP_CHECKMULTISIG: Nous avons donc de la transaction qui est signé: ------------------------------(2)

0100000001c8cc2b56525e734ff63a13bc6ad06a9e5664df8c67632253a8e36017aee3ee400000000017a914e9c3dd0c07aac76179ebc76a6c78d4d67c6c160a87feffffff0120f40e00000000001976a9141d30342095961d951d306845ef98ac08474b36a088aca727040001000000 

Sur la pile, nous avons: 0x00 -> Signature -> 0x01 -> Pubkey -> 0x01

pubkey : 0x042f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf

0x04 désigner non compressé. La suppression que nous avons: Pubkey : --------------------------------------------------------------(3)

0x2f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf

J'ai utilisé|r|s comme des octets de (1), raw_txn des octets de (2) et pub_key octets (3) pour l'argument de ci-dessous de code Python pour effectuer sigcheck:

def sigcheck(sig_b: octets, pubkey_b: octets, raw_txn_b: octets):
 txn_sha256_b = hashlib.sha256(raw_txn_b).digest()

 préfixe = pubkey_b[0:1]
 print('prefix = %s' % préfixe)
 print('input pubkey = %s' % octets.décoder(binascii.hexlify(pubkey_b)))
 si prefix == b'\x02 "ou prefix == b'\x03':
 pubkey_b = getFullPubKeyFromCompressed(pubkey_b)[1:]
 elif prefix == b'\x04':
 pubkey_b = pubkey_b[1:]

essayez:
 print("full clé publique = %s" % octets.décoder(binascii.hexlify(pubkey_b)))
 vk = ecdsa.VerifyingKey.from_string(pubkey_b, courbe=ecdsa.SECP256k1)
 si vk.vérifier(sig_b, txn_sha256_b, hashlib.sha256) == True:
print('valide')
 retour 1
autre chose:
 print('sigcheck: invalide')
 return 0
 sauf ecdsa.BadSignatureError:
 print('sigcheck: Mauvaise Signature")
 return 0

Ce programme fonctionne parfaitement pour checksig dans P2PKH scénario, mais c'est à défaut ici, et je n'ai aucune idée. L'exécution de ce programme, je suis BadSignatureError.

J'ai donné dans le plus grand détail ce que je fais. Merci de m'aider à comprendre et résoudre ce problème.

+861
Manish Patole 11 févr. 2012, 13:12:29
Autres réponses

Questions connexes


Questions connexes

Ce lien mentionne que

"[getdata] peut être utilisé pour récupérer des transactions, mais seulement si elles sont dans le pool de mémoire ou de relais ensemble arbitraire de l'accès aux opérations de la chaîne n'est pas autorisé..."

Mais ne peut pas d'un SPV nœud de faire ce qui suit pour obtenir l'accès arbitraire à une transaction T (je suis en supposant que la SPV nœud connaît le bloc de hachage H du bloc B contenant T):

  1. définir un filtre de bloom à l'aide de filterload pour T à certains nœud
  2. envoyer getdata demande de type MSG_FILTERED_BLOCK et bloc de hachage H
  3. alors en réponse, le plein de noeud va générer deux messages pour le SPV nœud: tout d'abord, un merkleblock de B; et deuxièmement, la transaction T (comme mentionné ici et ici)

N'est pas ce mécanisme donne en fait accès arbitraire de transactions?

+843
user3174982 10 déc. 2021, 15:57:37

Pas de. Il n'y a pas d'incitations pour l'exécution de la foudre nœuds. Mais, les frais de transaction sont là, qui va incitations ceux qui le dirigent.

+786
BMW 16 juil. 2015, 08:46:44

Est-il possible de le mien avec un serveur (pour se renseigner sur les mines, pas de vie!) et un porte-monnaie?

J'ai configuré un VPS Ubuntu sur un serveur, j'ai eu de rechange et d'exécuter Primecoind. Mon primecoin.conf a une au hasard RPC nom d'utilisateur et le mot de passe que j'ai généré, mais je n'ai pas mis de serveur=1 dans le fichier de configuration. Je ne sais pas si je doit/besoin.

Lors de l'affichage de l'information du processus en cours d'exécution, je peux voir les données suivantes:

Chaque 2.0 s: primecoind listtransactions & primecoind getmininginfo

Thu Jul 11 22:43:27 2013
{
 "blocs" : 16149,
 "currentblocksize" : 1000,
 "currentblocktx" : 0,
 les "erreurs" : "",
 "générer" : true,
 "genproclimit" : -1,
 "primespersec" : 7,
 "pooledtx" : 2,
 "testnet" : false
}
[
]

Je suis confus par un couple de choses.

Tout d'abord, pourquoi ne pooledtx fluxuate de 0 à 2 de temps en temps. Deuxièmement, comment pourrais-je maintenant si j'ai réussi exploités pour la première fois, et si il y avait un équilibre à tous?

J'ai MultiBit le programme d'installation sur mon Mac avec un portefeuille d'identité.

Je suis juste des doutes sur la façon dont il s'adapte à tous ensemble. Tous les pointeurs serait appréciée.

+536
Leonardo Persike Martins 30 mars 2023, 17:31:52

C'est ce que mon fichier conf ressemble à:

prune=600
maxconnections=12
maxuploadtarget=20
rpcuser=utilisateur
rpcpassword=mot de passe
keypool=10000
serveur=1

[principal]
rpcport=5040

Chaque fois que je l'exécuter à partir de la ligne de commande j'obtiens l'erreur suivante:

La liaison RPC à l'adresse ::1 port 5040 a échoué.

La liaison RPC sur l'adresse 127.0.0.1 port 5040 a échoué.

J'ai vérifié pour le port 5040 à l'aide de la commande netstat -a , et il était à l'écoute, quel est le problème?

+495
zibadawa timmy 10 mars 2023, 20:05:50

Il y a un certain nombre de panier interfaces actuellement disponibles, même si un bon nombre d'entre eux comptaient sur la défunte MyBitcoin API. Il est aussi assez facile à intégrer à votre propre code avec l'API JSON comme il existe des bibliothèques disponibles dans les langues les plus courantes, telles que ASP.NET/C#, PHP, Python et bien d'autres. VPS ou de l'hébergement dédié est recommandé depuis le client bitcoin peut alors résider sur le serveur lui-même, mais comme bitcoin JSON API prend en charge SSL à partir de la version 0.3.14 il est raisonnablement sécurisé pour le client bitcoin à résider sur un autre système et de permettre à votre application web pour se connecter à distance.

+494
Richard Knop 27 oct. 2013, 01:03:27

Non, il n'y a aucun moyen de récupérer une clé privée en utilisant uniquement les données générées à partir d'elle. S'il y avait, Bitcoin et d'autres cryptocurrencies serait instantanément.

Si vous avez une graine de formule (AKA portefeuille de récupération de la phrase), vous pouvez les re-générer la clé privée à partir de cette phrase.


Connexes:

+398
KOTON 14 oct. 2020, 15:26:45

Différences techniques

  • Prend en charge les transactions de messagerie (messages courts dans la blockchain qui peuvent aller avec un de la transaction)
  • À venir de l'application pour android devrait être la première à l'appui de la transaction de messagerie.
  • Retargets difficulté après chaque bloc de sorte qu'il a une résistance à bloquer le traitement quand les difficultés des pointes en raison de multipool de saut
  • Beaucoup plus rapide temps de transaction. Bloc cible, le temps est de 1 minute.
  • la fluctuation des mines de récompenses donc la production de pièces varie avec les saisons (et progressive sinusoïdale dans la nature). Certains disent que c'est destiné à émuler les hauts et les bas des cycles en imitant les périodes d'abondance et de rareté.
  • 2x et 5x Bonus jours pour garder les choses intéressantes pour les mineurs de plus long terme.
+230
SeiyaJapon 29 nov. 2015, 16:09:22

Si l'on devait envoyer des bitcoins à une adresse qui n'a pas encore été créé, qu'arriverait-il? Serait les pièces de monnaie perdues à jamais? Seraient-ils rester là jusqu'à ce que l'adresse et de la paire de clés sont générées?

+180
Stranger 123 15 avr. 2021, 00:42:04

Comment importer des clés privées en Bitcoin Core (à partir d'un papier d'un portefeuille ou d'ailleurs)

En Bitcoin Core, vous pouvez utiliser le importprivatekey de commande.

Une fois que vous avez votre clé privée, il garde très soigneusement en le gardant et sécurisé, procédez comme suit pour importer dans Bitcoin Core:

  1. Ouvrir Bitcoin Core.
  2. Aller Aider --> Debug.
  3. Allez à l'onglet Console.
  4. type: importprivatekey "{private key}" "{label facultatif}"
  5. Créer un nouveau portefeuille de sauvegarde.

Fait. Notez que vous n'avez pas besoin d'attendre pour Bitcoin Core pour mettre à jour avant d'importer votre clé privée. Cependant, pas tous les fonds peuvent apparaître dans votre porte-monnaie jusqu'à ce qu'il est complètement à jour.

J'espère que vous avez crypté votre porte-monnaie avec une bonne phrase de passe dont vous vous souviendrez.

Utilisation:

>importprivkey "privkey" ( "label" ) ( rebalayage )

Ajoute une clé privée (retourné par dumpprivkey) à votre porte-monnaie. Nécessite un nouveau portefeuille de sauvegarde.

Arguments:

  1. "privkey" (chaîne de caractères, obligatoire) La clé privée (voir dumpprivkey)
  2. "label" (string, optionnel, par défaut="") Une étiquette facultative
  3. rescan (boolean, optionnel, par défaut=true) Rescan le porte-monnaie pour les transactions

Remarque: Cela peut prendre de quelques minutes à remplir si rescan est vrai, pendant ce temps, d'autres appels rpc peut signaler que la clé importée existe, mais liées les transactions sont toujours manquants, conduisant à la temporairement incorrect/faux soldes et non dépensés sorties jusqu'à réanalyser complète.

Exemples:

Vidage d'une clé privée
> dumpprivkey "myaddress"

Importer la clé privée avec rescan
> importprivkey "maclé"

Importer à l'aide d'une étiquette et sans rescan
> importprivkey "maclé" "test" faux

Importation à l'aide de défaut d'étiquette vierge et sans rescan
> importprivkey "maclé" "" false

+168
Valori Marshall 14 nov. 2015, 13:21:04

Le 13-parole mnémonique est juste une façon de coder un 128bit nombre en quelque chose de lisible par l'homme et mémorable. La 13e mot est une somme de contrôle, et de 12 mots suffirait de récupérer le numéro codé. Vous devriez toujours générer par aléatoires moyens de réduire la probabilité de quelqu'un de la génération de la même chose que vous et qui s'enfuit avec vos pièces de monnaie. Certains plus d'informations peuvent être trouvées ici.

La liste des mots est composé de 2048 mots depuis circa Août 2014. Si vous voulez savoir combien de mots vous avez besoin pour coder un 128bit numéro, vous pouvez calculer vous-même.

Log_2048(2^128) = 11.63636364

Le 128bit nombre est en réalité un 32 chiffres base16 ("hex") nombre (2^128 = 16^32).

J'ai essayé de reproduire ce que vous avez fait, et utilisé électrum portefeuille de récupération de la fonction. Lors de la saisie de 32 chiffres nombre hexadécimal, je reçois un 12 mots mnémonique. Il serait également accepter de 64 chiffres base16 nombre, et puis je obtenir un 24 mots mnémonique, ce qui est logique compte tenu de comment il est généré. Cependant, je vais avoir de la difficulté à reproduire ce que vous avez vécu, pour obtenir un 24 mot mnémotechnique de 32 chiffres base16 nombre.

Maintenant, qu'est ce que 128number utilisé pour? Il est utilisé pour générer votre maître de la clé privée, maître de clé publique et de toutes les paires de clés dans votre porte-monnaie. Il est bien détaillé ici.

Le nombre total de possibilité d'extension paires de clés est presque 2^512, mais l' produits clés sont à seulement une longueur de 256 bits, et offrons environ la moitié de celle de termes de sécurité. Par conséquent, le maître des clés ne sont pas générés directement, mais au lieu d'une éventuelle courte valeur de départ.

  • Générer une graine octet de la séquence S d'une longueur choisie (entre 128 et 512 bits; 256 bits est conseillé) de a (P)RNG.
  • Calculer I = HMAC-SHA512(Key = "Bitcoin semences", Data = S)
  • Split-je en deux de 32 octets séquences, I_L et I_R.
  • Utilisation parse_256(I_L) en tant que maître de la clé secrète, et comme I_R maîtrise de la chaîne de code.

En cas I_L est 0 ou ≥n, le maître de la clé n'est pas valide.

BIP32

+80
Yoggi 23 oct. 2019, 03:05:51

Il est bon de garder à l'esprit que votre "porte-monnaie" ne fait pas contenir de bitcoins. Ce que votre porte-monnaie contient les clés privées qui vous permettent de vous passer de pièces qui ont été envoyés à l'une de vos adresses. Les adresses qui ont été envoyés en pièces est une question de dossier public (la blockchain).

Si vous avez déjà reçu (ou extrait) de pièces à l'aide de l'un ou plusieurs de vos adresses qui sont contenus dans ce portefeuille, l'enregistrement de ces transactions continuent d'exister. Notez que votre porte-monnaie contient probablement plus d'une adresse, en particulier si vous l'avez déjà utilisé pour quoi que ce soit. L'adresse que vous avez indiqué dans votre question n'a pas reçu toutes les pièces.

Si vous avez copié votre ancien porte-monnaie.dat fichier dans un nouveau client Bitcoin, la première chose à faire serait d'attendre la blockchain téléchargement. Votre client ne savez pas à propos de toutes les pièces qui ont été envoyés à l'une des adresses dans votre porte-monnaie sans réellement voir l'ensemble de la blockchain.

+71
LaBomba 16 mai 2011, 16:21:17

Je n'ai vu que la première saison de l'anime, mais sur la base que je peux souligner que le manga n'a pas de la chair Mashiro & Moritaka œuvres. Quand ils ont créé un nouveau manga de l'anime serait généralement vous montrer la plupart de son histoire, alors que le manga en général seulement allé pour un vague aperçu. Je ne suis pas sûr de savoir comment ça a fonctionné après ils sont devenus sérialisé bien.

+59
Uttakarsh Tikku 24 nov. 2011, 07:06:40

N'est-il pas suffisant pour juste avoir l'Adresse d'Entrée, de Sortie Adresse, le Montant et la Signature pour chaque transaction?

+57
Kaos 26 nov. 2017, 01:11:45

Il n'y a pas de limite sur la taille de la UTXO autres que la taille de bloc comme vous l'avez décrit, mais votre raisonnement n'est pas correct. Il n'y a pas de taille minimum d'une transaction de sortie, ni le nombre maximal de sorties par transaction. L'essentiel est limitée par le Bitcoin, la taille de bloc de 1 mo, soit environ 50 go par année nombre total d'ajouts si la seule chose qui est ajouté est le spam sorties.

Le Volume de sorties est une tout autre affaire. La plus petite possible, la sortie est à 0 BTC (8 octets), de longueur 0 (1 octet), null scriptPubKey. Si nous faisons un maximum de la taille de la transaction (1 MO) de ces il aura quelque part dans le royaume de 110 000 sorties, avec une certaine perte inclus pour les intrants et la structure. 6 blocs par heure, 24 heures donne de 15,8 M sorties par jour. Remarque cela ne comprend pas l'indexation des frais généraux, ce qui serait non négligeable pour ce nombre d'entrées.

Certaines des solutions proposées comprennent expirant non dépensés sorties après un certain laps de temps, ou en mouvement de manière significative le coût à la création et à encourager la suppression des entrées. Les changements dans la base comme ceci, cependant, ne sont pas rapide à mettre en œuvre ou de controverse, et ne sont pas une solution complète contre un attaquant.

C'est un des inconvénients du système à la mise en œuvre et de quelque chose qui doit être examiné sérieusement avant de faire des modifications qui pourraient rendre le problème encore pire. Beaucoup de choses deviennent imbuvables en Bitcoin lorsque vous changez la valeur des constantes, c'est l'un qui est déjà assez terrible pour commencer.

+44
user6844017 28 févr. 2016, 21:10:48

Afficher les questions avec l'étiquette