a
a
Weather:
city not found
HomeBitcoinAide: les comptes expliqués – Bitcoin Wiki

Aide: les comptes expliqués – Bitcoin Wiki

introduction

Pensez à ce qui se passe lorsque vous donnez de l’argent à un caissier de banque et demandez qu’il soit déposé sur votre compte. Vous leur indiquez votre numéro de compte et ils créditent votre compte de ce montant.

L’argent lui-même est mélangé avec tout autre argent de la banque et distribué à d’autres clients avec d’autres numéros de compte.

Avec la fonction «comptes» de Bitcoin, vous êtes la banque. Le solde que vous voyez est le solde total de tous les comptes et vous pouvez créer un nombre arbitraire de comptes.

Lorsque vous recevez des bitcoins, ils sont toujours affectés à l’un de vos comptes et vous pouvez modifier le compte crédité en fonction de l’adresse bitcoin qui reçoit les pièces, tout comme vous indiquez à un caissier de banque quel compte créditer lorsque vous déposez de l’argent dans votre banque. Cependant, envoyer des bitcoins, c’est comme retirer de l’argent à la banque; les pièces qui sont envoyées et débitées d’un compte ne sont presque toujours pas les mêmes pièces qui ont été déposées sur ce compte.

Comptes

La version 0.3.18 de Bitcoin et les versions ultérieures implémentent plusieurs méthodes RPC pour maintenir des soldes de compte séparés dans un seul portefeuille Bitcoin. La fonction de comptes vous permet de suivre facilement combien d’argent vous avez reçu de différentes sources ou de garder une trace de combien d’argent vous avez dépensé pour différentes choses.

Faiblesses du compte

Depuis l’introduction de la fonctionnalité de compte, plusieurs services l’ont utilisée pour suivre les soldes Bitcoin des clients et ont rencontré les problèmes suivants:

  • Les sauvegardes de portefeuille sont un problème; si vous comptez sur une bonne sauvegarde wallet.dat, alors une sauvegarde doit être effectuée à chaque fois qu’une adresse est associée à un compte et à chaque fois que la commande « move » est utilisée.
  • Le code de compte n’est pas extensible jusqu’à des milliers de comptes avec des dizaines de milliers de transactions, car les index par compte (et par compte par fois) ne sont pas implémentés. De nombreuses opérations (comme le calcul du solde d’un compte) nécessitent l’accès à chaque transaction de portefeuille.
  • La plupart des applications ont déjà une base de données client, implémentée avec MySQL ou une autre technologie de base de données relationnelle. Au mieux, il n’est pas pratique de garder la base de données du portefeuille Berkely DB gérée par bitcoin et la base de données des applications sauvegardées et synchronisées à tout moment.

Noms de compte

Les comptes sont nommés avec des chaînes arbitraires; vous pouvez utiliser n’importe quelle chaîne JSON autre que « * » (les chaînes JSON sont envoyées et renvoyées au format Unicode avec un encodage UTF-8).

Bitcoin crée automatiquement deux comptes: crée implicitement un compte par défaut avec une chaîne vide comme nom et crée explicitement un compte nommé Votre adresse lorsqu’un nouveau portefeuille est créé.

Le compte par défaut

Le compte par défaut est nommé avec la chaîne vide («  » en JSON). Les pièces générées sont toujours créditées sur le compte par défaut et le envoyer La méthode débite toujours le compte par défaut.

Comptes et adresses de réception

Chaque compte est associé à zéro ou plusieurs adresses de réception, et chaque adresse de réception est associée à exactement un compte. Les pièces envoyées à une adresse de réception dans le portefeuille sont créditées sur le compte associé.

Les comptes sont associés à la réception d’adresses à l’aide du getaccountaddress, getnewaddress ou setaccount méthodes.

getaccountaddress renverra la même adresse jusqu’à ce que les pièces soient reçues à cette adresse; une fois les pièces reçues, il générera et renverra une nouvelle adresse.

getnewaddress génère et renvoie toujours une nouvelle adresse.

setaccount changer le compte associé à une adresse existante. Les pièces précédemment reçues à cette adresse (le cas échéant) seront débitées du solde du compte précédent et créditées sur le nouveau compte d’adresse. Notez que cela pourrait rendre le solde de votre compte précédent négatif.

Utilisez le getaddressesbyaccount méthode pour répertorier toutes les adresses associées à un compte.

Entrer

le envoyé de la méthode envoie des pièces et facture le compte spécifié. ** Ne change pas ** l’algorithme de Bitcoin pour sélectionner les pièces du portefeuille qui sont envoyées – vous devez penser aux pièces du portefeuille comme étant mélangées lorsqu’elles sont reçues. Il n’y a aucun moyen de demander à Bitcoin de « créer une transaction de paiement en utilisant les pièces reçues de ces transactions précédemment reçues » sans utiliser l’API Raw Transaction (qui ne fait pas partie du système de compte).

le envoyer la méthode fonctionne comme envoyé de, mais facturez toujours le compte par défaut.

L’envoi échouera si le compte ne dispose pas de fonds suffisants, à deux exceptions près:

 - 'sendtoaddress' always succeeds if there are sufficient funds in the
   server's wallet.  For example, if your wallet account balances were 100 BTC in account
   'foo' and 0 BTC in the default account, then the balances after sendtoaddress
   1PC9aZC4hNX2rmmrt7uHTfYAS3hRbph4UN 10.00 would be 100 in account 'foo' and -10.00 in
   the default account (and the overall server balance would go from 100 to 90 BTC).  On
   the other hand, using 'sendfrom' to send from the default account with a zero balance
   will fail with message "Account has insufficient funds".
 - The check for sufficient funds is done before paying transaction fees (if any); if a
   transaction fee is needed, and there are sufficient funds in the wallet, then the
   transaction fee will be paid and debited from the account.  For example, if account
   'foo' contains 10 bitcoins, you sendfrom foo 15VjRaDX9zpbA8LVnbrCAFzrVzN7ixHNsC 10,
   and the transaction costs 0.01, 'foo's balance will be -0.01 bitcoins.

Comptes -> Transferts de compte

Utilisez le bouge toi méthode de transfert des soldes d’un compte à un autre. Les déménagements ne sont pas transmis au réseau et n’impliquent jamais de frais de transaction; ils règlent simplement les soldes des comptes dans le portefeuille.

Solde et historique du compte

le getbalance renvoie le solde bitcoin pour l’ensemble du portefeuille (si aucun argument n’est fourni) ou pour un compte particulier.

le listtransactions [N] renvoie les N dernières transactions (par défaut 10) qui ont affecté le solde du compte. « listtransactions ‘* » [N] »retournera les N dernières transactions pour tous les comptes.

Utilisations typiques

Cette section décrit comment le code de site Web typique exécuté sur un serveur Web utilise l’API JSON-RPC pour suivre les comptes clients.

  • Client Créer un compte sur le site Web: le serveur Web leur attribue un numéro d’identification client unique ou utilise leur adresse e-mail ou un autre identifiant unique, appelle getaccountaddress « userid » et dit au client d’envoyer à cette adresse pour approvisionner son compte.
  • Client reçoit des pièces pour approvisionner votre compte: le serveur web n’est pas impliqué.
  • Le client voit le leur budget actuel: getbalance « userid » 6 pour obtenir leur solde « confirmé » et le soustraire getbalance « userid » 0 pour obtenir leur solde «non confirmé».
  • Montrez au client une ** liste détaillée ** des transactions: listtransactions « userid »
  • Client envoyer des pièces vers une autre adresse bitcoin: sendfrom « userid »
  • Client transfère des pièces à un autre client: déplacer « userid1 » « userid2 »
  • tu faire une vente, payé avec Bitcoin sur le compte du client: déplacer « userid » «  » 6 « article acheté »et en cas de succès, envoyez-leur le produit.
  • Le client est chargé une commission pour l’utilisation du service: déplacer « userid » « FEES » (l’utilisation de comptes spéciaux tels que « FRAIS » peut rendre la logique d’application beaucoup plus simple)
  • Client acheter des bitcoins à ta maison: déplacer « DISPONIBLE » « userid » (en supposant que les bitcoins que vous vendez soient suivis par un compte « DISPONIBLE »)

Voir également

https://en.bitcoin.it/wiki/Help:Accounts_explained

No comments

leave a comment