Coding : ECU Convertor (EUR + USD + HIVE + HBD + ECU)

Words
666
Reading
3 min
Listen
Play
1y

ECU PAGE -> ENGLISH - FRENCH - Javascript code

CODE : Below / en dessous

FRENCH : Après l'anglais


The ECU and its Multi-Currency Calculator

image.png
separator3.png
I am pleased to announce that the ECU page is now complete.

I had to mix several AIs, but also learn to code better in javascript to get there, because there are still some things that the AI doesn't always know how to do exactly as the human behind the keyboard would like, unless it's the human who's not addressing it as it should be to be understood by it.

In any case, the page that explains the ECU displays the value of the ECU in EUR, according to its relationship with the Universal Allocation Indexed to the Poverty Threshold.

image.png

The value in the field is modifiable, but by default is equivalent to the amount of the poverty threshold in Belgium for a person living alone (deliberate choice), according to the date of the last update.

We will modify this value when we learn that the threshold changes.

Once you click on CALCULATE, the script will get LIVE values of the dollar against the EURO and the values of HBD and HIVE in USD according to CoinGecko. And it displays them for you, thus giving the ratios with the ECU.

image.png

Once these values are known, you will have the option to invoke the calculator that will allow you to enter any amount in the currency of your choice and get the exact correspondence in all the currencies we manage. As shown in this example:

image.png

The HIVE, HBD and USD values do not update in the calculator, but you can close the calculator and click on CALCULATE again to update if necessary. But these numbers don't change every 10 seconds :)

As it's written in JavaScript, you have access to the entire code if you need it.
I also copy it at the end of this article, after the French version.


FRANCAIS

L'ECU et sa calculatrice multi-devises

image.png

separator3.png

Je suis content d'annoncer que la page sur l'ECU est complète.
J'ai du mélanger plusieurs IA, mais aussi apprendre à mieux coder en javascript pour y arriver, car il y a malgré tout certaines choses que l'IA ne sait pas toujours faire exactement comme le souhaite l'humain derrière le clavier, à moins que ce ne soit l'humain qui ne s'adresse pas comme il le faudrait pour être compris par celle-ci.

Quoi qu'il en soit, la page qui explique l'ECU affiche la valeur de l'ECU en EUR, selon son implication avec l'Allocation Universelle Indexée au Seuil de Pauvreté.

image.png

La valeur dans le champs est modifiable, mais par défaut est équivalent au montant du seuil de pauvreté, en Belgique, pour un isolé (choix délibéré), selon la date de dernière mise à jour.
Nous modifierons cette valeur lorsque nous apprenons que le seuil change.

Un fois que vous cliquez que CALCULER, le script va chercher en LIVE la valeur du dollar face à l'EURO et les valeurs du HBD et du HIVE en USD selon CoinGecko. Et vous les affiche, donnant ainsi les rapports avec l'ECU.

image.png

Une fois ces valeurs connues, vous aurez la possibilité d'invoquer la calculatrice qui vous permettra d'entrer n'importe quel montant dans la devise de votre choix et d'en avoir l'exacte correspondance sur toutes les devises que nous gérons. Comme montré dans cet exemple :

image.png

Les valeurs HIVE, HBD et USD ne se mettent pas à jour dans la calculatrice, mais vous pouvez fermer la calculatrice, et cliquer à nouveau sur CALCULER pour remettre à jour, si nécessaire. Mais ces nombres ne changent pas toutes les 10 secondes :)

Comme c'est écrit en Javascript, vous avez accès à l'entièreté du code si vous en avez besoin.
Je copie également le code ci-dessous, si vous préférez.


Javascript code (Except CSS)

ECU.HTML :

language Javascript

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Valeur de l'ECU – Principauté du Bastion
  
  



  

  

Monnaie nationale : l'

ECU</h1> <p>L'ECU (Electronic Coin Unit) est la monnaie officielle de la Principauté du Bastion. Elle serait distribuée à raison de 10 000 ECU/mois par citoyen dès qu'instaurée.</p> <p>Elle est disponible sur la blockchain Hive via <a href="https://tribaldex.com/trade/ECU" target="_blank">Hive Engine</a> et reflète le seuil de pauvreté belge divisé par 10 000.</p> <h2>�� Calculateur de valeur de l'ECU
Seuil de pauvreté mensuel en Belgique (€) (MAJ 2025) : Calculer

1 ECU = –

1 ECU = –

Connaissant le prix du hive ainsi que celui du HBD , nous obtenons:

1 ECU = –

1 ECU = –

const thresholdInput = document.getElementById('
povertyThreshold'); const ecuEuro = document.getElementById('ecuEuro'); const ecuDollar = document.getElementById('ecuDollar'); const ecuHive = document.getElementById('ecuHive'); const ecuHBD = document.getElementById('ecuHBD'); const HBD = document.getElementById('HBD'); const Hive = document.getElementById('Hive'); const calculateBtn = document.getElementById('calculateBtn'); const calc = document.getElementById('calc'); // Variables globales pour les taux de conversion let valueInEuro = 0; let valueInUSD = 0; let valeurEcuHive = 0; let valeurEcuHBD = 0; let valeurHiveEcu = 0; let valeurHBDEcu = 0; let euroToUsd = 1; let hivePrice = 0; let hbdPrice = 0; async function updateValues() { const threshold = parseFloat(thresholdInput.value) || 0; valueInEuro = threshold / 10000; let valueInECU = 1 / valueInEuro; ecuEuro.textContent = valueInEuro.toFixed(3) + " € (1 € = " + valueInECU.toFixed(3) + " ECU)" ; try { const res = await fetch('https://happyapi.fr/api/devises'); const data = await res.json(); euroToUsd = data.result.result.devises[0].taux; valueInUSD = valueInEuro * euroToUsd; ecuDollar.textContent = valueInUSD.toFixed(3) + " $"; const cryptoPrices = await getCryptoPrices(); if (cryptoPrices.hive !== null) { hivePrice = cryptoPrices.hive; valeurEcuHive = valueInUSD / hivePrice; valeurHiveEcu = hivePrice / valueInUSD; Hive.textContent = "(" + hivePrice.toFixed(3) + " $)"; ecuHive.textContent = valeurEcuHive.toFixed(3) + " HIVE & 1 HIVE = " + valeurHiveEcu.toFixed(3) + " ECU"; } if (cryptoPrices.hbd !== null) { hbdPrice = cryptoPrices.hbd; valeurEcuHBD = valueInUSD / hbdPrice; valeurHBDEcu = hbdPrice / valueInUSD; HBD.textContent = "(" + hbdPrice.toFixed(3) + " $)"; ecuHBD.textContent = valeurEcuHBD.toFixed(3) + " HBD & 1 HBD = " + valeurHBDEcu.toFixed(3) + " ECU"; } calc.innerHTML = 'Calculatrice multi-devises'; // Ajout d'un écouteur d'événement pour le bouton document.getElementById("openCalculator").addEventListener("click", openCalculator); } catch (err) { ecuDollar.textContent = "Erreur de taux de change"; console.error("Erreur:", err); } } // Fonction pour ouvrir la calculatrice function openCalculator() { document.getElementById("popup").style.display = "block"; // Pré-remplir les valeurs à 1 ECU document.getElementById("conversionAmount").value = "1"; document.getElementById("currencySelect").value = "ecu"; // Effectuer la conversion initiale convertCurrency(); } // Fonction pour fermer la calculatrice function closeCalculator() { document.getElementById("popup").style.display = "none"; } // Fonction pour convertir les devises function convertCurrency() { const amount = parseFloat(document.getElementById("conversionAmount").value) || 0; const currency = document.getElementById("currencySelect").value; let ecuAmount; // Convertir d'abord en ECU switch(currency) { case "ecu": ecuAmount = amount; break; case "euro": ecuAmount = amount / valueInEuro; break; case "usd": ecuAmount = amount / valueInUSD; break; case "hive": ecuAmount = amount * valeurHiveEcu; break; case "hbd": ecuAmount = amount * valeurHBDEcu; break; } // Puis convertir l'ECU dans toutes les devises document.getElementById("resultECU").textContent = ecuAmount.toFixed(3) + " ECU"; document.getElementById("resultEUR").textContent = (ecuAmount * valueInEuro).toFixed(3) + " €"; document.getElementById("resultUSD").textContent = (ecuAmount * valueInUSD).toFixed(3) + " $"; document.getElementById("resultHIVE").textContent = (ecuAmount * valeurEcuHive).toFixed(3) + " HIVE"; document.getElementById("resultHBD").textContent = (ecuAmount * valeurEcuHBD).toFixed(3) + " HBD"; } // Calcul initial pour afficher la valeur en euros sans attendre function updateEuroValueOnly() { const threshold = parseFloat(thresholdInput.value) || 0; valueInEuro = threshold / 10000; let valueInECU = 1 / valueInEuro; ecuEuro.textContent = valueInEuro.toFixed(3) + " € (1 € = " + valueInECU.toFixed(3) + " ECU)"; ecuDollar.textContent = "Cliquez sur Calculer pour convertir en $ et estimer les valeurs en Hive et HBD"; } async function getCryptoPrices() { try { const response = await fetch('https://api.coingecko.com/api/v3/simple/price?ids=hive,hive_dollar&vs_currencies=usd'); const data = await response.json(); const prices = { hive: data && data.hive && data.hive.usd ? parseFloat(data.hive.usd) : null, hbd: data && data.hive_dollar && data.hive_dollar.usd ? parseFloat(data.hive_dollar.usd) : null }; return prices; } catch (error) { console.error('Erreur lors de la récupération des prix:', error); return { hive: null, hbd: null }; } } // Le bouton déclenche la mise à jour complète avec API calculateBtn.addEventListener('click', updateValues); // L'input met à jour seulement la valeur en euros (calcul instantané) thresholdInput.addEventListener('input', updateEuroValueOnly); // Affichage initial updateEuroValueOnly(); // Ajout des événements pour la calculatrice document.querySelector(".close").addEventListener("click", closeCalculator); document.getElementById("convertBtn").addEventListener("click", convertCurrency); </script> <footer> © 2018-2025 Principality of Bastion. All rights reserved. </footer> </body> </html>

separator3.png

Best regards,
≋𝕴𝖙𝖍𝖆𝖗𝖆 𝕲𝖆ï𝖆𝖓≋ Prince of Principality of Bastion
≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋
Discord : https://discord.principalityofbastion.org
Website : https://principalityofbastion.org / https://nft.bastion.city
Social Networks: See on our website.

Founder of the Principality of Bastion

Coding : ECU Convertor (EUR + USD + HIVE + HBD + ECU) | Ecency