Silkroad 2, vient d'être lancé donc il ne retombent. Non SegWit clients ne pouvez pas créer un témoin de données. Ils ne peuvent que passer non SegWit sorties de toute façon, qui n'ont pas besoin de témoins. Votre question n'a aucun sens. droit, dépend évidemment de votre porte-monnaie. je posais des questions à propos de l'actuelle populaires. vous êtes en train de dire qu'ils ne serait pas le reconnaître, car c'est un drôle de format? que c'est bon! C'est drôle, vous devez mentionner l'Electrum portefeuille piratage et les gens perdent leur argent. Multibit recommandé de gens à passer à cette plate-forme. Peut-être que le logiciel lui-même a volé mon argent avant de fermer - je n'ai jamais eu un problème untili maintenant - c'est drôle comment Multibit ont disparu de la scène. Il n'y a pas moyen de trouver ou de contester le portefeuille de l'adresse qui a pris ma petite quantité de bitcoin ? J'ai tracé et il est allé à une adresse et a été subsequrtently déplacé vers une autre adresse qui est des fonds actuels sont environ 450k..

Posté à StackOverflow mais aucune réponse. Pensé que je pourrais avoir plus de chance ici.

J'ai créé avec succès une transaction Bitcoin en C# selon les spécifications du protocole. Voici la transaction en binaire:

010000000162EF5D87E91090453009860C6F135EA2A490133B2633F8F7BA014889F5FF7E4A000000008A4730440220497E2D3F9BBBC0C122D839968FF880514440CED08A71D28E614FF4C871964024022049687008E4AF72682992325F17E95DA382D63E3FB14605A81B4498DFF9210E310141040BCF1BECF4EF6A5C24FD790CA86E8DCDFA3538CB97E99C254F84D209CFE47BFC6BF3B11ACA05DB7C7638301711070F176E848B650A406EB7AFC30AA9EA242489FFFFFFFF02404B4C00000000001976A9140A24F0387F05A6EECD1F8B327BB442EAB767CBC888ACCA165E00000000001976A914F8FB3B4E5D75652795DD13B209E0BE7BBD66B5D488AC00000000

Je sais que la transaction est solide parce que le BTCs ont été transmis correctement. En outre, en collant mon opération ci-dessus en ce validateur indique les valeurs correctes.

Ce estompe moi est la façon officielle de l'ID de transaction est généré. Tout sur le Bitcoin et StackOverflow StackExchange sites indiquent qu'il est généré par le hachage de la transaction octets deux fois. J'ai essayé de faire comme suit:

const String txHex="010000000162EF5D87E91090453009860C6F135EA2A490133B2633F8F7BA014889F5FF7E4A000000008A4730440220497E2D3F9BBBC0C122D839968FF880514440CED08A71D28E614FF4C871964024022049687008E4AF72682992325F17E95DA382D63E3FB14605A81B4498DFF9210E310141040BCF1BECF4EF6A5C24FD790CA86E8DCDFA3538CB97E99C254F84D209CFE47BFC6BF3B11ACA05DB7C7638301711070F176E848B650A406EB7AFC30AA9EA242489FFFFFFFF02404B4C00000000001976A9140A24F0387F05A6EECD1F8B327BB442EAB767CBC888ACCA165E00000000001976A914F8FB3B4E5D75652795DD13B209E0BE7BBD66B5D488AC00000000";

SHA256Managed sha256Hasher=new SHA256Managed();
Func<byte[],byte[]> doubleHash=(octets)=>{
 retour sha256Hasher.ComputeHash((sha256Hasher.ComputeHash(octets)));
};
Chaîne txidHex=Utils.ToHex(doubleHash(Utils.FromHex(txHex)));

Utils.ToHex() et Utils.FromHex() sont des fonctions d'assistance copié à partir de StackOverflow qui convertir entre byte[] et d'une chaîne hexadécimale.

Le code ci-dessus donne une txidHex valeur de 27E6C3EF18D14FB49CBAC182BBDB47FC9D6F79DA65C101873207B60A957852A7 mais la recherche BlockExplorer.com pour txid ne donne aucun résultat.

Je l'ai mentionné plus tôt que mon opération n'a exécuter correctement. Il s'avère qu'elle le fait à l'aide d'un txid de 11172aed3a61fe64ae82cb02e886757d352a4452f956a0703d0809880538ba58. Si vous collez que txid en BlockExplorer vous verrez mon opération.

Ce qui m'amène à ma question: étant Donné une transaction valide flux d'octets (byte[]), comment fait-on correctement calculer un ID de transaction?

Merci.