Surveillez les adresses Bitcoin non-portefeuille pour les nouvelles transactions

Alex

Surveillez les adresses Bitcoin non-portefeuille pour les nouvelles transactions


Il s’agit de la fonctionnalité de paiement habituelle. Montrer l’adresse à l’utilisateur et doit la surveiller pour une nouvelle transaction pendant n minutes. Les adresses ne sont pas uniques pour chaque paiement.

Facultatif: il serait bon d’avoir un auditeur pour la transaction avec un certain montant entrant, mais c’est facultatif.

blockchain.info a quelque chose de similaire, mais je veux qu’il utilise le bitcoin-qt local à partir de l’application .Net.

* Mise à jour: cela doit être fait pour les adresses / transactions non-portefeuille.

Réponses


 Mat

Bitcoin-qt a plusieurs limitations en ce qui concerne ce type de chose. Il n’y a vraiment que deux façons de procéder.

  1. Utilisez l’appel RPC listunspents pour surveiller le solde d’une adresse particulière et calculer le solde total. Ensuite, déclenchez votre appel sur le backend depuis votre application .net.

  2. Utilisez l’option bitcoind externe de notification de portefeuille qui envoie les données de transaction à votre processus .net via un script, analysez le résultat pour déterminer le paiement. Cela peut provoquer des problèmes sur les sites à volume élevé car il engendre des processus externes par portefeuille notifier.

Enfin, vous ne pouvez utiliser cette méthode que pour interagir avec des adresses enregistrées dans le bitcoind local. Soit l’adresse qu’il contrôle, soit celle que vous avez chargée manuellement.

Alex

Les adresses ne m’appartiennent pas. Les utilisateurs qui vendent entrent leurs adresses en ligne. Qu’est-ce que cela signifie « enregistré auprès du bitcoind local »? Puis-je le faire sans clé privée?

Mat

Je ne le crois pas. Votre meilleur pari est d’utiliser un service qui le fait déjà, il existe plusieurs services API qui répondent à ce cas d’utilisation exact. Si vous souhaitez surveiller des adresses arbitraires, vous aurez besoin d’un logiciel supplémentaire. Par exemple, le bitcore nodejs de Bitpay peut être utilisé pour se connecter à bitcoind et analyser les transactions de confirmation entrantes 0 pour les adresses qui vous intéressent. Bitcoind ne le fera pas immédiatement.

Alex

Donc, si des services capables de surveiller les adresses existent, c’est possible. Et je veux savoir comment ils ont implémenté pour voir si cela vaut la peine d’avoir leur propre implémentation ou de les utiliser.

Mat

Comme je l’ai dit, ils ne le font pas avec Bitcoind standard. Ils modifient bitcoind pour commencer à pousser les informations de transaction vers une source externe, ou ils utilisent un projet comme bitcore pour accéder à ces informations sur le réseau, puis écrivent leurs propres liaisons / logiciels.

Jus12

La première option nécessite-t-elle une interrogation?


 George Kimionis

Afin de surveiller des adresses de réception spécifiques pour les transactions entrantes via l’API RPC, vous devez utiliser la méthode listreceivedbyaddress . Ajout de ces paramètres: listreceivedbyaddress(0, true) renverra également la confirmation zéro et les adresses vides.

La façon la plus efficace de surveiller toutes les transactions entrantes avec un montant spécifique est d’appeler listsinceblock , de garder une trace du dernier bloc scanné par votre application et de le transmettre en tant que paramètre: listsinceblock(lastScannedBlockHash, targetConfirmations) afin que vous ne listsinceblock(lastScannedBlockHash, targetConfirmations) efficacement que le nouveau bloc, qui est très rapide et léger.

Une bibliothèque testée au combat pour effectuer ce qui précède dans .net est BitcoinLib qui est également disponible sous forme de paquet NuGet:

Alex

Je pense que votre exemple ne concerne que les transactions «votre portefeuille». Je viens de trouver une autre façon de trouver mon tx: -getblockcount -getblockhash {index} -getblock {hash} – boucle pour: getrawtransaction {txid} Je peux trouver ma transaction par adresse, mais c’est UNIQUEMENT pour le tx confirmé. Comment puis-je regarder les tx non confirmés ???

George Kimionis

@Alex, c’est exact, mais il n’était pas clair dans votre question initiale que vous deviez également analyser les transactions non-portefeuille. Vous pouvez obtenir une liste des transactions non confirmées en appelant getrawmempool qui renvoie les transactions dans votre pool de mémoire où elles résident jusqu’à ce qu’elles soient confirmées (et si). Vous pouvez ensuite appeler: getrawtransaction <txId> 1 rapport à cette collection et examiner chaque transaction en profondeur.


 Willipm

Si tu vas faire ça. Disons que le serveur RPCCMDS + .net est meilleur que le serveur bitcoin-qt qui parie mieux que le serveur bicoind.exe.Si vous ne devez pas ces adresses, demandez simplement merci à l’API blockchain.


 jdb6167

Depuis 0.10, bitcoind prend en charge les adresses de surveillance uniquement. https://bitcoin.org/en/developer-reference#importaddress

 

#pour, adresses, Bitcoin, Les, non-portefeuille, nouvelles, Surveillez, transactions

 

yahoo

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *