Author

Topic: Comment récupérer vos BTX (bitcore) si vous avez un trezor. (Read 146 times)

newbie
Activity: 6
Merit: 0
Bonjour

je suis pas un expert comme vous mais je me souviens avoir fait des transactions en BTC il ya plusieurs années, j'ai nettoyé mon PC et j'ai retrouvé ce type de fichiers en format JSON

insight_bitcoin_tx_6c58554.........

dans le repertoire suivant :

C:\Program Files\Electrum\trezorlib\tests\txcache


Pensez vous que cela peut etre des BTC que j'ai acheté et qu'ils sont toujours dans la blockchain?
en ouvrant le fichier avec notepad, j'arrive a avoir des adresses, des hash, et une clé publique, mais pas de clé privé.

Merci de me renseigner sur ce sujet.

Franck
hero member
Activity: 1036
Merit: 531
Merci glub0x, c'est le genre de post qu'on est bien content de trouver le jour ou on en a besoin, surtout que c'est pas non plus super intuitif pour les néophytes
legendary
Activity: 892
Merit: 1013
Comment récupérer vos BTX (bitcore) si vous avez un trezor.

Bonjour, si comme moi vous cherchez comment récupérer vos airdrops/forks sans exposer vos clés privés (via trezor) ce post peut vous intéresser.
C'est long mais pas si compliqué pour peux que quelques lignes de code ne vous fasse pas trop peur.
Cette manipulation reste risqué, a vos risque et péril.


Tout ceci est une traduction/amélioration de ce post
https://www.reddit.com/r/BitcoinAirdrops/comments/7drt94/claim_bitcore_btx_without_compromising_trezor_seed/dq9tir4/
BTX ( bitcore) est un altcoin qui propose un airdrop a tout ceux qui avaient des bitcoin au 2 novembre 2017.
1bitcoin = 0.5 btx. Seule les adresses >0.01 btc sont éligibles


Procédure

1/ Se créer une adresse btx sur un exchange ou via leur wallet officiel ( attention c'est pe un virus ce wallet donc sur un ordi poubelle)
Vous pouvez de toute façon commencer a télécharger leur wallet officiel sur un ordinateur qui craint rien, on va en avoir besoin et il est gros.

2/ Retrouvez votre adresse qui détenait des bitcoins au 2 novembre. et vérifier qu'elle détient des btx.
Il faut savoir que quand on fait une transaction btc, l'adresse source est toujours vidé, le reste des bitcoins est rendu dans une adresse "change". Un peu comme si je donnais 20€ pour en payer 15€, le caissier me rend 5 €. Problème Trezor masque ces adresses de change qui sont du coup galere a retrouver.
Déjà regardez dans votre trezor toutes vos addresses qui avaient possiblement un solde positif au 2 novembre.
Allez sur https://chainz.cryptoid.info et vérifiez si par hasard il n y a pas des btx.
Si non, pas de panique.
Je suis ensuite allé sur blockchain.info, et j'ai regardé une de mes adresses ayant reçu des btc avant le 2 novembre. Ensuite j'ai remonté les transactions en suivant les adresses de change. Par exemple si j'avais 1btc sur X, je sais que j'en avais envoyé 0.1 je vois dans blockchain.info deux transactions de 0.1btc et de 0.9btc, cette derni?re est le change.
Cette adresse de change est sur votre trezor, vous pouvez vérifier sur chainz si elle n'a pas des btx.
Notez cette ( ces ) addresse qui a un solde BTX positif.

3/ Sur chainz, vous pouvez voir le hash de la transaction qui a alimenté votre adresse, notez le également.
Regardez aussi la transaction qui vous a donné vos btc, recherchey y votre adresse et notez l'index.

4/ Récupérez le PATH (bip32) de cette adresse sur votre trezor.
Si votre adresse est visible dans l'interface trezor, c'est simple, le path est affiché quelque part.

Sinon c'est un petit jeu bien long et bien chiant et il doit y avoir une méthode plus simple mais je ne la connais pas.
via cette page https://connect.trezor.io/4/examples/getaddress.html, avec votre trezor connecté, il faut "deviner" le PATH de l'adresse de change.
en changeant les 3 derniers chiffres de m/44'/0'/0'/1/0, j'ai réussit à afficher sur mon trézor la fameuse adresse de change. le path étant le suivant m/44'/0'/1'/1/13 chez moi...

5/ récupérez les infos de votre transaction
Allez sur https://chainz.cryptoid.info/explorer/tx.raw.dws?coin=btx&id=VOTRE_HASH
Remplacez  VOTRE_HASH  par le hash noté précédament.
Un text en json s'affiche. Sur l'ordi qui craint rien, creez vous un fichier dans c:/transactions avec ce nom: "insight_bitcoin_tx_VOTRE_HASH.json"

6/Récuperez signtest.py sur github et mettez le sur l'ordi qui craint rien
https://gist.github.com/sgstuff/588be1467f5b48bacf0689857f8f94d5

7/Modifiez ce fichier
address_n: mettre le PATH du trezor (chez moi m/44'/0'/1'/1/13)
prev_hash: mettre le hash de la transaction
prev_index: mettre l?index de la transaction

Dans output
amount : le montant en satoshi a envoyer. Tout le reste serra donné aux mineurs en fees. Il faut mettre au moins 100/bytes et une transaction simpleva faire 193 bytes donc 193*100
Si vous avez plusieurs input, il suffit de populer ce tableau avec tout les input et faire attention a la taille. Quand vous signerez la transac, elle sera afficher il faudra donc revnir ici et rentrer la bonne taille.
address : l?addresse ou vous voulez récuperer vos btx

8/ préparez  python version 2.7 pas la 3 sinon ca bug.

Tapez dans Terminal
Code:
python -m install trezor

9/ Débloquez votre trezor en le connectant a l'interface en ligne habituelle (sinon via l'interface pythonc bof)
et lancez
Code:
python signtest.py

Sur le trezor vérifiez et confirmez la transaction
Le script va afficher la transaction en hexadecimal ainsi que sa taille. Vérifiez que la taille est <193 ( pour que ca passe en fees) et copiez la transaction en hexadécimal.

Si ca bloque c'est que probablement comme moi vous ?tes tombé sur un petit bug de la trezorlib qui parse mal le json...
Dans ce cas, allez ds le dossier de votre install python et recherchez "trezorlib". Cherchez ensuite le fichier tx_api.py.
Ligne 40, changez
Code:
j=json.load(open(cache_file))
par
Code:
j=json.load(open(cache_file),parse_float=str)
Lancez le script, cette fois vous avez votre transaction en hexa!
yep vous venez de corriger une librairie écrite par des gens bien plus doué que moi Smiley prenez verre d'eau et faites une petite pause.


10/ Sur un ordinateur qui craint rien , installez le bitcore wallet https://bitcore.cc/

11/ dans le wallet  Help->Debug window->Console tab
entrez "decoderawtransaction TRANSACTION_HEX_STRING". Remplacez TRANSACTION_HEX_STRING par votre transaction en hexadécimal, la console affiche les détails de la transaction.
enfin entrez "sendrawtransaction TRANSACTION_HEX_STRING" Remplacez TRANSACTION_HEX_STRING par votre transaction en hexadécimal,
c'est partit sur le réseau, vous avez forgé une belle transaction quasiment a la mano!

Question, peut on dériver ça pour bitcoin diamond?
Jump to: