Ich habe in der Dokumentation zur Knoten-Schnittstelle für Wallets und Exchanges von @Dusk einen kleinen, aber sehr nützlichen Detailhinweis entdeckt: Die Antworten des Knotens enthalten eine Rusk-Version, und Clients können dem Knoten auch mitteilen, welche Versionen sie akzeptieren. Wenn Rusk-Version-Strict enthalten ist, weist der Knoten die Anfrage sofort zurück, wenn die Versionen nicht übereinstimmen.
Viele sehen, dass eine alte Schnittstelle noch immer funktioniert, und denken „Kompatibilität“ bedeutet, dass sie für immer funktionieren wird. Aber die Dokumentation listet auch drei alte Abkürzungsrouten auf, die veraltet sind und in Zukunft entfernt werden.
Ich sehe das in zwei Teilen.
Das Erste ist die Versionsprüfung. Ein Client muss nicht warten, bis sich die Schnittstelle ändert, und dann ein Problem entdecken. Er kann dem Knoten im Voraus mitteilen, welche Rusk-Version er akzeptiert. Strenge Prüfung ist nützlich, weil es besser ist, eine Anfrage eindeutig abzulehnen, als einem alten Client Daten zu liefern, die er möglicherweise falsch versteht.
Das Zweite ist die Routenmigration. Neue Integrationen sollten für Abfragen zu Chain, Block, Transaktion, Mempool und Archiv /graphql verwenden. Vertragsmethoden sollten zu /on/contracts/.... wechseln. Die alten Routen sind nur für die Übergangsphase vorgesehen.
Das ist auch für normale Nutzer relevant. Einzahlungen an Exchanges, Wallet-Balances und der Browserverlauf hängen alle davon ab, dass Clients die Knotendaten korrekt verstehen.
Für $DUSK denke ich, dass Reife nicht nur bedeutet, die Chain online zu halten. Es bedeutet auch, dass Wallets, Exchanges und Indexer mit den Änderungen der Schnittstelle Schritt halten.
Die eigentliche Frage ist: Migrieren die Mainstream-Clients, bevor die alten Routen entfernt werden, oder erst nachdem Nutzer anfangen, Fehler zu sehen?
#dusk $DUSK
Viele sehen, dass eine alte Schnittstelle noch immer funktioniert, und denken „Kompatibilität“ bedeutet, dass sie für immer funktionieren wird. Aber die Dokumentation listet auch drei alte Abkürzungsrouten auf, die veraltet sind und in Zukunft entfernt werden.
Ich sehe das in zwei Teilen.
Das Erste ist die Versionsprüfung. Ein Client muss nicht warten, bis sich die Schnittstelle ändert, und dann ein Problem entdecken. Er kann dem Knoten im Voraus mitteilen, welche Rusk-Version er akzeptiert. Strenge Prüfung ist nützlich, weil es besser ist, eine Anfrage eindeutig abzulehnen, als einem alten Client Daten zu liefern, die er möglicherweise falsch versteht.
Das Zweite ist die Routenmigration. Neue Integrationen sollten für Abfragen zu Chain, Block, Transaktion, Mempool und Archiv /graphql verwenden. Vertragsmethoden sollten zu /on/contracts/.... wechseln. Die alten Routen sind nur für die Übergangsphase vorgesehen.
Das ist auch für normale Nutzer relevant. Einzahlungen an Exchanges, Wallet-Balances und der Browserverlauf hängen alle davon ab, dass Clients die Knotendaten korrekt verstehen.
Für $DUSK denke ich, dass Reife nicht nur bedeutet, die Chain online zu halten. Es bedeutet auch, dass Wallets, Exchanges und Indexer mit den Änderungen der Schnittstelle Schritt halten.
Die eigentliche Frage ist: Migrieren die Mainstream-Clients, bevor die alten Routen entfernt werden, oder erst nachdem Nutzer anfangen, Fehler zu sehen?
#dusk $DUSK