Closed silkroadnomad closed 3 years ago
Problem: Der RPC Call über die namecoin lib war bei meteor problematisch, weil der name_doi Befehl nicht asynchron gegeben werden konnte. Der Thread lief weiter und wartete nicht darauf ob name_doi erfolgreich war oder nicht. Bei meteor wurde das asynchron Problem durch einen Wrapper gelöst.
Lösung: Moderner ist axios. Dabei wird bei einer asynchronen Funktion ein Promise zurück gegeben, auf die gewartet wird. Jetzt funktioniert der name_doi RPC call asynchron und der thread läuft erst weiter, wenn der call eine response hat.
Bei Erfolg kommt als response die txid der name_doi zurück, error: null und die id des axios POST request, der aus dem Datum und der Uhrzeit des requests besteht.
Schlägt der RPC call fehl, wird in der console der status code und die Fehlermeldung gedruckt. Wenn z.B. die Credentials falsch waren wird 'Status: 401 Unauthorized' gedruckt.
Derzeit benutzen wir die namecoin lib, die wir in den vergangenen Jahren bereits in der Doichain Meteor App in Verwendung hatten. In einer reinen NodeJS Umgebung ist diese aber eher unpraktisch, es wäre besser z.B. Axiom oder etwas anderes zu verwenden. https://github.com/axios/axios