le MEMO du WEB développeur
••• Divers •••  Liste des Mémos, astuces et bonnes pratiques

Convertir des Dollars / Euros en Bitcoins avec Javascript / Ajax

Amount in dollars : $
Calculate in Bitcoins
Montant en euros :
Calculer le montant en Bitcoin

Voici un script PHP / HTML / Javascript pour convertir un montant donné en Dollars ou en Euros en montant Bitcoins au taux de conversion en temps réel.
Le calcul se fait en allant interroger l'URL officielle https://blockchain.info/ de calcul du taux de conversion bitcoin.

Déclaration du formulaire HTML de conversion de Bitcoins

Fichier bitcoin.html :

Amount in dollars : <input id="montant_dol" type="text"/>$
<div id="calcul_dol">Calculate in Bitcoins</div>
<div id="montant_bit_dol"></div>

Montant en euros : <input id="montant_eur" type="text"/>€
<div id="calcul_eur">Calculer le montant en Bitcoin</div>
<div id="montant_bit_eur"></div>

Partie Javascript - Demande de conversion du montant saisi en Bitcoin

Envoi au serveur du montant Dollars et Euros remplis dans le formulaire.
Récupération du montant converti par le serveur sous format JSON. Le processus se déroule sans rechargement de la page grâce au protocole AJAX

Fichier bitcoin.js :

<script type="text/javascript">
$(document).ready( function () {
$("#calcul_dol,#calcul_eur").click(function() {
   $.ajax({
      url      : "bitcoin-ajax.php",    
      data     : {montant_dol : $("#montant_dol").val(), montant_eur : $("#montant_eur").val()},
      cache    : false,
      dataType : "json",
      error    : function(request, error) { // Info Debuggage si erreur     
                   alert("Erreur : responseText: "+request.responseText);
                 },
      success  : function(data) {  
           if (data.montant_bit_dol > 0)     
             $("#montant_bit_dol").html($("#montant_dol").val()+ '$ =  '+data.montant_bit_dol+' Bitcoins');
            if (data.montant_bit_eur > 0)     
             $("#montant_bit_eur").html($("#montant_eur").val()+ '€ =  '+data.montant_bit_eur+' Bitcoins');    
        }
     });
    });
})
</script>

Partie Serveur PHP - Conversion en Bitcoin en interrogeant blockchain.info 

Ce fichier doit contenir uniquement les données de retour en format JSON et ne rien afficher d'autre (voir mémo sur les requêtes AJAX en JQuery). bitcoin-ajax.php récupère  les informations de montant en Dollars et en Euros envoyées par le navigateur et interroge le site blockchain.info avec les paramètres montant (value) et devise (currency) qui convertira ces valeurs en montant de Bitcoin au taux de conversion en temps réel.
En sortie de fichier, on affiche sous format JSON les montants Bitcoin convertis qui vont être reçus par la requête success  de la fonction $.ajax du fichier bitcoin.js

Fichier bitcoin-ajax.php :

<?php
  $root    = "https://blockchain.info/"; 
  if (isset($_REQUEST['montant_dol'])){
    $price_in_usd=$_REQUEST['montant_dol'];
  }else $price_in_usd=0;
  $price_in_btc = file_get_contents($root . "tobtc?currency=USD&value=" . intval($price_in_usd));
 
  if (isset($_REQUEST['montant_eur'])){
    $price_in_eur=$_REQUEST['montant_eur'];
  }else $price_in_eur=0;
  $prix_en_btc = file_get_contents($root . "tobtc?currency=EUR&value=" . intval($price_in_eur));
  header('Content-type: application/json');
  ?>
  {
      "montant_bit_dol": "<?php echo $price_in_btc;?>",
      "montant_bit_eur": "<?php echo $prix_en_btc;?>"
  }
  <?php
exit(0);
?>  

 

publié le 17/08/2013 par Memo Web
Commentaire :
Moi ca marche pas.....
par inconnu, le 20/12/2014
Commenter le Mémo :

Connaitre la configuration Python sur son hébergement 1&1
Retrouver les coordonnées latitude longitude d'un endroit avec Google Map
Bug quand répertoire .android est dans un sous répertoire avec caractère accentué
Configurer l'encodage UTF-8 d'une base de données et des fichiers d'un site Internet
Afficher une carte Google Map sur son site Internet avec PHP / Javascript
Imposer une taille max aux fichiers uploadés sur le serveur
Etapes pour Installer Sencha Touch
Script pour jongler avec les octets - Convertir octet / ko / Mo / Go
Uncaught TypeError: Cannot read property 'msie' of undefined
Récupérer dans un tableau, les page d'un site indexées par Google
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos