You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.4 KiB

  1. const useCapture = true; // capture, bubbling: false
  2. button = document.getElementsByTagName('button')[0];
  3. button.addEventListener('click',hashcash,false);
  4. button.addEventListener('submit',hashcash,false);
  5. console.log(button)
  6. function hashcash(ev) {
  7. console.log('hashcash.ev: %o',ev);
  8. let algo = document.getElementsByName('algo')[0].value;
  9. let data = document.getElementsByName('data')[0].value;
  10. let nonce = document.getElementsByName('nonce')[0].value || '12131054600136590020';
  11. let dif = document.getElementsByName('dif')[0].value;
  12. let url = api_url + `hashcash?a=${algo}&b=${data}&n=${nonce}&d=${dif}`
  13. document.getElementById('pow').innerText = 'no-proof';
  14. let promised = fetch(url).
  15. then(resp => resp.json()).
  16. then(obj => {
  17. console.log('pow.hashcash.obj:',obj);
  18. document.getElementsByName('hashcash')[0].innerText = '0x'+obj.hash;
  19. document.getElementsId('pow').innerText = obj.pow;
  20. }).
  21. catch(console.error);
  22. }
  23. let url = api_url + 'config';
  24. let promised = fetch(url).
  25. then(resp => resp.json()).
  26. then(obj => {
  27. console.log('pow.obj.config:',obj.config);
  28. let dif = obj.config.difficulty
  29. console.log('pow.dif:',dif);
  30. let elem = document.getElementById('dif');
  31. elem.innerText = dif;
  32. //let buf = elem.innerHTML; buf = buf.replace(':dif',dif); elem.innerHTML = buf;
  33. elem = document.getElementsByName('dif')[0];
  34. elem.value = dif;
  35. return obj.config
  36. }).
  37. catch(console.error)