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.

47 lines
1.6 KiB

3 years ago
  1. const useCapture = true; // capture, bubbling: false
  2. var elem = document.getElementsByTagName('button')[0];
  3. elem.addEventListener('click',register,useCapture);
  4. let promises = [];
  5. promises.push( get_config() );
  6. promises.push( get_keys() );
  7. function register(ev) {
  8. console.log('register: %o',ev)
  9. let name = document.getElementsByName('name')[0].value;
  10. let peerid = document.getElementsByName('peerid')[0].value;
  11. let minerid = document.getElementsByName('minerid')[0].value;
  12. let account = document.getElementsByName('account')[0].value;
  13. let bkreward = document.getElementsByName('bkreward')[0].value;
  14. let namep = name.replace(/ /g,'+');
  15. let url = api_url + `register?account=${namep}&bkreward=${bkreward}`;
  16. let data = fetch(url).then(resp => resp.json());
  17. console.log('register.data:',data);
  18. return data;
  19. }
  20. Promise.all(promises).then( ar => {
  21. let config = ar[0].config;
  22. let keys = ar[1].data;
  23. console.log('config:',config);
  24. console.log('keys:',keys);
  25. document.getElementsByName('name')[0].value = keys.identity.name;
  26. document.getElementsByName('peerid')[0].value = keys.identity.public;
  27. document.getElementsByName('minerid')[0].value = keys.miner.public;
  28. document.getElementsByName('account')[0].value = keys.distribution.public;
  29. document.getElementsByName('bkreward')[0].value = config.bkreward;
  30. }).
  31. catch(console.error);
  32. function get_config() {
  33. let url = api_url + 'config';
  34. return fetch(url).then(resp => resp.json()).catch(console.error)
  35. }
  36. function get_keys() {
  37. let url = api_url + 'getcas?dir=secrets&addr=keys';
  38. return fetch(url).then(resp => resp.json()).catch(console.error)
  39. }